1 package com.indexdata.pz2utils4jsf.config;
\r
3 import java.io.Serializable;
\r
4 import java.util.HashMap;
\r
5 import java.util.Map;
\r
7 import org.apache.log4j.Logger;
\r
9 import com.indexdata.masterkey.config.MissingMandatoryParameterException;
\r
10 import com.indexdata.pz2utils4jsf.utils.Utils;
\r
13 * Represents a configuration as a set of key-value pairs
\r
15 * @author Niels Erik
\r
18 public class Configuration implements Serializable {
\r
20 private static final long serialVersionUID = -6801241975338182197L;
\r
21 private static Logger logger = Logger.getLogger(Configuration.class);
\r
22 Map<String,String> properties = new HashMap<String,String>();
\r
24 public Configuration () {
\r
25 logger.debug(Utils.objectId(this) + " being constructed with no argument");
\r
28 public Configuration(Map<String,String> parameters) {
\r
32 public void addAll(Map<String,String> parameters) {
\r
33 for (String key : parameters.keySet()) {
\r
34 properties.put(key, parameters.get(key));
\r
38 public void addAll(Map<String,String> defaults, Map<String,String> parameters) {
\r
39 for (String key : defaults.keySet()) {
\r
40 properties.put(key, defaults.get(key));
\r
42 for (String key : parameters.keySet()) {
\r
43 properties.put(key, parameters.get(key));
\r
47 public String get(String key) {
\r
48 return properties.get(key);
\r
51 public void set(String key, String value) {
\r
52 properties.put(key, value);
\r
55 public String get(String key, String defaultValue) {
\r
56 if (properties.containsKey(key)) {
\r
57 return properties.get(key);
\r
59 return defaultValue;
\r
63 public String getMandatory(String key) throws MissingMandatoryParameterException {
\r
64 if (properties.containsKey(key)) {
\r
65 return properties.get(key);
\r
67 throw new MissingMandatoryParameterException("Missing mandatory parameter: " + key);
\r
70 public String getConfigFilePath() {
71 return get("configpath","nopathgiven");
\r
74 public Map<String,String> getConfigMap() {
\r