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=fc3c538ec52bfdbb7cac88298ff4325b9dd461a5;hpb=17d3168e6fec9a87936aee992ac1a5deaad49cfe;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 fc3c538..fc23ae2 100644 --- a/src/main/java/com/indexdata/pz2utils4jsf/config/Pz2Config.java +++ b/src/main/java/com/indexdata/pz2utils4jsf/config/Pz2Config.java @@ -1,32 +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; +@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 (String pazpar2Url, String pazpar2ServiceId) { - setStatics(); - setPazpar2Url(pazpar2Url); - setPazpar2ServiceId(pazpar2ServiceId); - logger.debug("Creating pazpar2 configuration with "+ get("PAZPAR2_URL") + " and " + get("PAZPAR2_SERVICE_ID")); + 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 (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"); @@ -64,12 +82,12 @@ public class Pz2Config implements ModuleConfigurationGetter, Serializable { 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"); }