Merge branch 'temp'
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / pz2utils4jsf / config / Pz2Config.java
index fc3c538..fc23ae2 100644 (file)
@@ -1,32 +1,50 @@
 package com.indexdata.pz2utils4jsf.config;\r
 \r
+import java.io.IOException;\r
 import java.io.Serializable;\r
 import java.util.HashMap;\r
 import java.util.Map;\r
 \r
+import javax.enterprise.context.SessionScoped;\r
+import javax.inject.Named;\r
+\r
 import org.apache.log4j.Logger;\r
 \r
 import com.indexdata.masterkey.config.MissingMandatoryParameterException;\r
+import com.indexdata.masterkey.config.ModuleConfiguration;\r
 import com.indexdata.masterkey.config.ModuleConfigurationGetter;\r
+import com.indexdata.pz2utils4jsf.utils.Utils;\r
 \r
+@Named @SessionScoped\r
 public class Pz2Config implements ModuleConfigurationGetter, Serializable {\r
 \r
   private static final long serialVersionUID = -6801241975338182197L;\r
   private static Logger logger = Logger.getLogger(Pz2Config.class);\r
   Map<String,String> properties = new HashMap<String,String>();\r
+  ModuleConfiguration moduleConfig = null;\r
   \r
   public Pz2Config () {\r
-    setStatics();\r
+    logger.debug(Utils.objectId(this) + " being constructed with no argument");\r
+    setDefaults();\r
   }\r
   \r
-  public Pz2Config (String pazpar2Url, String pazpar2ServiceId) {\r
-    setStatics();\r
-    setPazpar2Url(pazpar2Url);\r
-    setPazpar2ServiceId(pazpar2ServiceId);\r
-    logger.debug("Creating pazpar2 configuration with "+ get("PAZPAR2_URL") + " and " + get("PAZPAR2_SERVICE_ID"));\r
+  public Pz2Config (Map<String,String> parameters) {\r
+    //logger.debug(Utils.objectId(this) + " being constructed with parameter map argument");\r
+    setDefaults();\r
+    for (String key : parameters.keySet()) {\r
+      properties.put(key, parameters.get(key));\r
+    }\r
+  }\r
+  \r
+  public Pz2Config (ModuleConfiguration moduleConfig) throws IOException {\r
+    logger.debug(Utils.objectId(this) + " being constructed with moduleConfig argument.");\r
+    this.moduleConfig = moduleConfig;\r
+    for (String key : moduleConfig.getConfigMap().keySet()) {\r
+      properties.put(key, moduleConfig.getConfigParameter(key));\r
+    }\r
   }\r
   \r
-  private void setStatics () {\r
+  private void setDefaults () {\r
     properties.put("PROXY_MODE","1");\r
     properties.put("SERIALIZE_REQUESTS", "false");\r
     properties.put("STREAMBUFF_SIZE", "4096");\r
@@ -64,12 +82,12 @@ public class Pz2Config implements ModuleConfigurationGetter, Serializable {
     if (properties.containsKey(key)) {\r
       return properties.get(key);\r
     } \r
-    throw new Error("Missing mandatory parameter: " + key);     \r
+    throw new MissingMandatoryParameterException("Missing mandatory parameter: " + key);     \r
   }\r
 \r
   @Override\r
-  public String getConfigFilePath() {\r
-    return null;\r
+  public String getConfigFilePath() {
+    return (moduleConfig != null ? moduleConfig.getConfigFilePath() : "nopath");\r
   }\r
   \r
   \r