--- /dev/null
+package com.indexdata.pz2utils4jsf.config;\r
+\r
+import java.io.Serializable;\r
+import java.util.HashMap;\r
+import java.util.Map;\r
+\r
+import org.apache.log4j.Logger;\r
+\r
+import com.indexdata.masterkey.config.MissingMandatoryParameterException;\r
+import com.indexdata.pz2utils4jsf.utils.Utils;\r
+\r
+public class Configuration implements Serializable {\r
+\r
+ private static final long serialVersionUID = -6801241975338182197L;\r
+ private static Logger logger = Logger.getLogger(Configuration.class);\r
+ Map<String,String> properties = new HashMap<String,String>();\r
+ \r
+ public Configuration () {\r
+ logger.debug(Utils.objectId(this) + " being constructed with no argument"); \r
+ }\r
+ \r
+ public Configuration(Map<String,String> parameters) {\r
+ addAll(parameters);\r
+ }\r
+ \r
+ public void addAll(Map<String,String> parameters) {\r
+ for (String key : parameters.keySet()) {\r
+ properties.put(key, parameters.get(key));\r
+ } \r
+ }\r
+ \r
+ public void addAll(Map<String,String> defaults, Map<String,String> parameters) {\r
+ for (String key : defaults.keySet()) {\r
+ properties.put(key, defaults.get(key));\r
+ } \r
+ for (String key : parameters.keySet()) {\r
+ properties.put(key, parameters.get(key));\r
+ } \r
+ }\r
+ \r
+ public String get(String key) {\r
+ return properties.get(key); \r
+ }\r
+ \r
+ public void set(String key, String value) {\r
+ properties.put(key, value);\r
+ }\r
+ \r
+ public String get(String key, String defaultValue) {\r
+ if (properties.containsKey(key)) {\r
+ return properties.get(key);\r
+ } else {\r
+ return defaultValue;\r
+ }\r
+ }\r
+ \r
+ public String getMandatory(String key) throws MissingMandatoryParameterException {\r
+ if (properties.containsKey(key)) {\r
+ return properties.get(key);\r
+ } \r
+ throw new MissingMandatoryParameterException("Missing mandatory parameter: " + key); \r
+ }\r
+\r
+ public String getConfigFilePath() {
+ return get("configfilepath","nopathgiven");\r
+ }\r
+ \r
+ public Map<String,String> getConfigMap() {\r
+ return properties;\r
+ }\r
+ \r
+\r
+}\r