b3a92e10ab43066ad186db3feb5c3dca7952206b
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / pz2utils4jsf / config / Pz2Config.java
1 package com.indexdata.pz2utils4jsf.config;\r
2 \r
3 import java.io.IOException;\r
4 import java.io.Serializable;\r
5 import java.util.HashMap;\r
6 import java.util.Map;\r
7 \r
8 import org.apache.log4j.Logger;\r
9 \r
10 import com.indexdata.masterkey.config.MissingMandatoryParameterException;\r
11 import com.indexdata.masterkey.config.ModuleConfiguration;\r
12 import com.indexdata.masterkey.config.ModuleConfigurationGetter;\r
13 \r
14 public class Pz2Config implements ModuleConfigurationGetter, Serializable {\r
15 \r
16   private static final long serialVersionUID = -6801241975338182197L;\r
17   private static Logger logger = Logger.getLogger(Pz2Config.class);\r
18   Map<String,String> properties = new HashMap<String,String>();\r
19   ModuleConfiguration moduleConfig = null;\r
20   \r
21   public Pz2Config () {\r
22     setDefaults();\r
23   }\r
24   \r
25   public Pz2Config (Map<String,String> parameters) {\r
26     setDefaults();\r
27     for (String key : parameters.keySet()) {\r
28       properties.put(key, parameters.get(key));\r
29     }\r
30   }\r
31   \r
32   public Pz2Config (ModuleConfiguration moduleConfig) throws IOException {\r
33     this.moduleConfig = moduleConfig;\r
34     for (String key : moduleConfig.getConfigMap().keySet()) {\r
35       properties.put(key, moduleConfig.getConfigParameter(key));\r
36     }\r
37   }\r
38   \r
39   private void setDefaults () {\r
40     properties.put("PROXY_MODE","1");\r
41     properties.put("SERIALIZE_REQUESTS", "false");\r
42     properties.put("STREAMBUFF_SIZE", "4096");\r
43     properties.put("PARSE_RESPONSES", "true");    \r
44   }\r
45   \r
46   @Override\r
47   public String get(String key) {\r
48     return properties.get(key);    \r
49   }\r
50   \r
51   public void set(String key, String value) {\r
52     properties.put(key, value);\r
53   }\r
54   \r
55   public void setPazpar2Url (String value) {\r
56     properties.put("PAZPAR2_URL", value);\r
57   }\r
58   \r
59   public void setPazpar2ServiceId (String value) {\r
60     properties.put("PAZPAR2_SERVICE_ID",value);\r
61   }\r
62 \r
63   @Override\r
64   public String get(String key, String defaultValue) {\r
65     if (properties.containsKey(key)) {\r
66       return properties.get(key);\r
67     } else {\r
68       return defaultValue;\r
69     }\r
70   }\r
71 \r
72   @Override\r
73   public String getMandatory(String key) throws MissingMandatoryParameterException {\r
74     if (properties.containsKey(key)) {\r
75       return properties.get(key);\r
76     } \r
77     throw new Error("Missing mandatory parameter: " + key);     \r
78   }\r
79 \r
80   @Override\r
81   public String getConfigFilePath() {\r
82     return moduleConfig.getConfigFilePath();\r
83   }\r
84   \r
85   \r
86 \r
87 }\r