Adds injectable pazpar2 client configs
[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.Serializable;\r
4 import java.util.HashMap;\r
5 import java.util.Map;\r
6 \r
7 import org.apache.log4j.Logger;\r
8 \r
9 import com.indexdata.masterkey.config.MissingMandatoryParameterException;\r
10 import com.indexdata.masterkey.config.ModuleConfigurationGetter;\r
11 \r
12 public class Pz2Config implements ModuleConfigurationGetter, Serializable {\r
13 \r
14   private static final long serialVersionUID = -6801241975338182197L;\r
15   private static Logger logger = Logger.getLogger(Pz2Config.class);\r
16   Map<String,String> properties = new HashMap<String,String>();\r
17   \r
18   public Pz2Config () {\r
19     setStatics();\r
20   }\r
21   \r
22   public Pz2Config (String pazpar2Url, String pazpar2ServiceId) {\r
23     setStatics();\r
24     setPazpar2Url(pazpar2Url);\r
25     setPazpar2ServiceId(pazpar2ServiceId);\r
26     logger.debug("Creating pazpar2 configuration with "+ get("PAZPAR2_URL") + " and " + get("PAZPAR2_SERVICE_ID"));\r
27   }\r
28   \r
29   private void setStatics () {\r
30     properties.put("PROXY_MODE","1");\r
31     properties.put("SERIALIZE_REQUESTS", "false");\r
32     properties.put("STREAMBUFF_SIZE", "4096");\r
33     properties.put("PARSE_RESPONSES", "true");    \r
34   }\r
35   \r
36   @Override\r
37   public String get(String key) {\r
38     return properties.get(key);    \r
39   }\r
40   \r
41   public void set(String key, String value) {\r
42     properties.put(key, value);\r
43   }\r
44   \r
45   public void setPazpar2Url (String value) {\r
46     properties.put("PAZPAR2_URL", value);\r
47   }\r
48   \r
49   public void setPazpar2ServiceId (String value) {\r
50     properties.put("PAZPAR2_SERVICE_ID",value);\r
51   }\r
52 \r
53   @Override\r
54   public String get(String key, String defaultValue) {\r
55     if (properties.containsKey(key)) {\r
56       return properties.get(key);\r
57     } else {\r
58       return defaultValue;\r
59     }\r
60   }\r
61 \r
62   @Override\r
63   public String getMandatory(String key) throws MissingMandatoryParameterException {\r
64     if (properties.containsKey(key)) {\r
65       return properties.get(key);\r
66     } \r
67     throw new Error("Missing mandatory parameter: " + key);     \r
68   }\r
69 \r
70   @Override\r
71   public String getConfigFilePath() {\r
72     return null;\r
73   }\r
74   \r
75   \r
76 \r
77 }\r