X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fcom%2Findexdata%2Fpz2utils4jsf%2Fconfig%2FPz2Config.java;h=fc23ae21f4c3e80af63868418e37e8a2cd377669;hb=5ab47cde8196b12682ee573361586f357dd35882;hp=3caa8322d3f99911b5dae3406850752b75e7d32d;hpb=f995bd0cb2162befcbeec565809566730a378641;p=mkjsf-moved-to-github.git diff --git a/src/main/java/com/indexdata/pz2utils4jsf/config/Pz2Config.java b/src/main/java/com/indexdata/pz2utils4jsf/config/Pz2Config.java index 3caa832..fc23ae2 100644 --- a/src/main/java/com/indexdata/pz2utils4jsf/config/Pz2Config.java +++ b/src/main/java/com/indexdata/pz2utils4jsf/config/Pz2Config.java @@ -1,26 +1,50 @@ package com.indexdata.pz2utils4jsf.config; +import java.io.IOException; +import java.io.Serializable; import java.util.HashMap; import java.util.Map; +import javax.enterprise.context.SessionScoped; +import javax.inject.Named; + +import org.apache.log4j.Logger; + import com.indexdata.masterkey.config.MissingMandatoryParameterException; +import com.indexdata.masterkey.config.ModuleConfiguration; import com.indexdata.masterkey.config.ModuleConfigurationGetter; +import com.indexdata.pz2utils4jsf.utils.Utils; -public class Pz2Config implements ModuleConfigurationGetter { +@Named @SessionScoped +public class Pz2Config implements ModuleConfigurationGetter, Serializable { + private static final long serialVersionUID = -6801241975338182197L; + private static Logger logger = Logger.getLogger(Pz2Config.class); Map properties = new HashMap(); + ModuleConfiguration moduleConfig = null; public Pz2Config () { - setStatics(); + logger.debug(Utils.objectId(this) + " being constructed with no argument"); + setDefaults(); + } + + public Pz2Config (Map parameters) { + //logger.debug(Utils.objectId(this) + " being constructed with parameter map argument"); + setDefaults(); + for (String key : parameters.keySet()) { + properties.put(key, parameters.get(key)); + } } - public Pz2Config (String pazpar2Url, String pazpar2ServiceId) { - setStatics(); - setPazpar2Url(pazpar2Url); - setPazpar2ServiceId(pazpar2ServiceId); + public Pz2Config (ModuleConfiguration moduleConfig) throws IOException { + logger.debug(Utils.objectId(this) + " being constructed with moduleConfig argument."); + this.moduleConfig = moduleConfig; + for (String key : moduleConfig.getConfigMap().keySet()) { + properties.put(key, moduleConfig.getConfigParameter(key)); + } } - private void setStatics () { + private void setDefaults () { properties.put("PROXY_MODE","1"); properties.put("SERIALIZE_REQUESTS", "false"); properties.put("STREAMBUFF_SIZE", "4096"); @@ -58,12 +82,12 @@ public class Pz2Config implements ModuleConfigurationGetter { if (properties.containsKey(key)) { return properties.get(key); } - throw new Error("Missing mandatory parameter: " + key); + throw new MissingMandatoryParameterException("Missing mandatory parameter: " + key); } @Override - public String getConfigFilePath() { - return null; + public String getConfigFilePath() { + return (moduleConfig != null ? moduleConfig.getConfigFilePath() : "nopath"); }