Sanitary
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / pz2utils4jsf / config / Pz2Config.java
index b3a92e1..c6af028 100644 (file)
@@ -5,12 +5,18 @@ import java.io.Serializable;
 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.errors.ConfigurationException;\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
@@ -19,20 +25,26 @@ public class Pz2Config implements ModuleConfigurationGetter, Serializable {
   ModuleConfiguration moduleConfig = null;\r
   \r
   public Pz2Config () {\r
+    logger.debug(Utils.objectId(this) + " being constructed with no argument");\r
     setDefaults();\r
   }\r
   \r
-  public Pz2Config (Map<String,String> parameters) {\r
+  public Pz2Config (Map<String,String> parameters) {    \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
+  public Pz2Config (ModuleConfiguration moduleConfig) throws ConfigurationException {\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
+    try {\r
+      for (String key : moduleConfig.getConfigMap().keySet()) {\r
+        properties.put(key, moduleConfig.getConfigParameter(key));\r
+      }\r
+    } catch (IOException e) {\r
+      throw new ConfigurationException("Could not instantiate Pazpar2 configuration: "+e.getMessage(),e);\r
     }\r
   }\r
   \r
@@ -52,14 +64,6 @@ public class Pz2Config implements ModuleConfigurationGetter, Serializable {
     properties.put(key, value);\r
   }\r
   \r
-  public void setPazpar2Url (String value) {\r
-    properties.put("PAZPAR2_URL", value);\r
-  }\r
-  \r
-  public void setPazpar2ServiceId (String value) {\r
-    properties.put("PAZPAR2_SERVICE_ID",value);\r
-  }\r
-\r
   @Override\r
   public String get(String key, String defaultValue) {\r
     if (properties.containsKey(key)) {\r
@@ -74,12 +78,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 moduleConfig.getConfigFilePath();\r
+  public String getConfigFilePath() {
+    return (moduleConfig != null ? moduleConfig.getConfigFilePath() : "nopath");\r
   }\r
   \r
   \r