annotate gnv/src/main/java/de/intevation/gnv/propertiesreader/ServletPropertiesReader.java @ 3:d7b4a77ba892

Infrastructur for Providing Applicationsettings gnv/trunk@72 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Fri, 11 Sep 2009 15:19:52 +0000
parents
children ad381cc47217
rev   line source
3
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
1 /**
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
2 *
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
3 */
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
4 package de.intevation.gnv.propertiesreader;
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
5
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
6 import java.util.Enumeration;
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
7 import java.util.HashMap;
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
8 import java.util.Map;
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
9
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
10 import javax.servlet.ServletConfig;
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
11
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
12 import org.apache.log4j.Logger;
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
13
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
14 /**
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
15 * @author Tim Englich <tim.englich@intevation.de>
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
16 *
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
17 */
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
18 public class ServletPropertiesReader implements PropertiesReader {
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
19
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
20 /**
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
21 * the logger, used to log exceptions and additonaly information
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
22 */
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
23 private static Logger log = Logger.getLogger(ServletPropertiesReader.class);
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
24
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
25 private Map<String,String> properties = null;
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
26 /**
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
27 * Constructor
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
28 */
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
29 public ServletPropertiesReader(ServletConfig config) {
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
30 super();
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
31 log.info("ServletPropertiesReader will be initialized");
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
32 if (config != null){
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
33
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
34 Enumeration<String> keys = config.getInitParameterNames();
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
35 properties = new HashMap<String, String>();
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
36 while(keys.hasMoreElements()){
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
37 String key = keys.nextElement();
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
38 String value = config.getInitParameter(key);
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
39 log.info("New ConbfigurationValue; "+ key + " ==> "+ value);
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
40 this.properties.put(key, value);
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
41 }
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
42 }
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
43 }
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
44
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
45 /**
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
46 * @see de.intevation.gnv.propertiesreader.PropertiesReader#getPropertieValue(java.lang.String, java.lang.String)
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
47 */
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
48 public String getPropertieValue(String key, String defaultValue) {
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
49 String value = this.properties.get(key);
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
50 if (value == null){
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
51 value = defaultValue;
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
52 }
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
53 return value;
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
54 }
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
55
d7b4a77ba892 Infrastructur for Providing Applicationsettings
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
56 }

http://dive4elements.wald.intevation.org