f88c40541f45204cfede596f497742c136fca110
[utils] / system / spring / src / main / java / org / wamblee / system / spring / PropertySetter.java
1 /*
2  * Copyright 2007 the original author or authors.
3  * 
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  * 
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  * 
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */ 
16 package org.wamblee.system.spring;
17
18 import java.util.Properties;
19
20 import org.springframework.beans.BeansException;
21 import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
22 import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;
23
24 /**
25  * Bean that provides postprocessing of the bean factory based on 
26  * a given set of properties. 
27  * 
28  * @author Erik Brakkee
29  */
30 class PropertySetter extends PropertyPlaceholderConfigurer {
31
32         /**
33          * Constructs the property setter. 
34          * @param aProps Properties. 
35          */
36         public PropertySetter(Properties aProps) { 
37                  String propFile = createPropertyFile(aProps); 
38                  setLocation(new StringResource(propFile));
39         }
40
41     public static String createPropertyFile(Properties aProps) {
42         StringBuffer buf = new StringBuffer();  
43                  for (Object key: aProps.keySet()) {  
44                          buf.append(key);
45                          buf.append("=");
46                          buf.append(aProps.get(key));
47                          buf.append("\n");
48                  }
49         return buf.toString();
50     }
51 }