View Javadoc

1   /**
2    * Copyright 2011 The Kuali Foundation Licensed under the
3    * Educational Community License, Version 2.0 (the "License"); you may
4    * not use this file except in compliance with the License. You may
5    * obtain a copy of the License at
6    *
7    * http://www.osedu.org/licenses/ECL-2.0
8    *
9    * Unless required by applicable law or agreed to in writing,
10   * software distributed under the License is distributed on an "AS IS"
11   * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12   * or implied. See the License for the specific language governing
13   * permissions and limitations under the License.
14   */
15  
16  package org.kuali.mobility.configparams.service;
17  
18  import java.util.ArrayList;
19  import java.util.Collection;
20  import java.util.List;
21  
22  import org.kuali.mobility.configparams.dao.ConfigParamDao;
23  import org.kuali.mobility.configparams.entity.ConfigParam;
24  import org.springframework.beans.factory.annotation.Autowired;
25  import org.springframework.stereotype.Service;
26  import org.springframework.transaction.annotation.Transactional;
27  
28  import flexjson.JSONDeserializer;
29  import flexjson.JSONSerializer;
30  
31  /**
32   * Service to perform manipulation of configuration parameters
33   * @author Kuali Mobility Team (moblitiy.collab@kuali.org)
34   */
35  @Service(value = "ConfigParamService")
36  public class ConfigParamServiceImpl implements ConfigParamService {
37  
38  	private static org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(ConfigParamServiceImpl.class);
39  
40  	@Autowired
41  	private ConfigParamDao configParamDao;
42  
43  	@Transactional
44  	public void deleteConfigParamById(Long id) {
45  		configParamDao.deleteConfigParamById(id);
46  	}
47  
48  	@Transactional
49  	public List<ConfigParam> findAllConfigParam() { 
50  		return configParamDao.findAllConfigParam();
51  	}
52  
53  	@Transactional
54  	public ConfigParam findConfigParamById(Long id) {
55  		return configParamDao.findConfigParamById(id);
56  	}
57  
58  	@Transactional
59  	public ConfigParam findConfigParamByName(String name) {
60  		return configParamDao.findConfigParamByName(name);
61  	}
62  
63  	@Transactional(readOnly = true)
64  	public String findValueByName(String name) {
65  		ConfigParam configParam = findConfigParamByName(name);
66  		String value = configParam != null ? configParam.getValue() : null;
67  		return value != null ? value.trim() : "";
68  	}
69  
70  	@Transactional
71  	public Long saveConfigParam(ConfigParam configParam) {
72  		return configParamDao.saveConfigParam(configParam);
73  	}
74  
75  	public ConfigParam fromJsonToEntity(String json) {
76  		return new JSONDeserializer<ConfigParam>().use(null, ConfigParam.class).deserialize(json);
77  	}
78  
79  	public String toJson(Collection<ConfigParam> collection) {
80  		return new JSONSerializer().exclude("*.class").serialize(collection);
81  	}
82  
83  	public Collection<ConfigParam> fromJsonToCollection(String json) {
84  		return new JSONDeserializer<List<ConfigParam>>().use(null, ArrayList.class).use("values", ConfigParam.class).deserialize(json);
85  	}
86  
87  }