Mercurial > dive4elements > gnv-client
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 } |