-
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / pz2utils4jsf / config / Pz2ConfigureByWebXml.java
index 9a225b0..4845ad0 100644 (file)
@@ -1,6 +1,13 @@
 package com.indexdata.pz2utils4jsf.config;\r
 \r
+import java.io.IOException;\r
+import java.util.ArrayList;\r
+import java.util.HashMap;\r
+import java.util.List;\r
+import java.util.Map;\r
+\r
 import javax.enterprise.context.SessionScoped;\r
+import javax.enterprise.inject.Alternative;\r
 import javax.faces.context.ExternalContext;\r
 import javax.faces.context.FacesContext;\r
 import javax.inject.Named;\r
@@ -8,25 +15,38 @@ import javax.servlet.ServletContext;
 \r
 import org.apache.log4j.Logger;\r
 \r
-@Named("pz2configwebxml")\r
-@SessionScoped\r
+\r
+@Named @SessionScoped @Alternative\r
 public class Pz2ConfigureByWebXml implements Pz2Configurator {\r
 \r
   private static final long serialVersionUID = 144390224959311772L;\r
   private static Logger logger = Logger.getLogger(Pz2ConfigureByWebXml.class);\r
-  private Pz2Config config = null;\r
+  private Pz2Config pz2config = null;\r
   \r
   public Pz2ConfigureByWebXml () {\r
-    logger.debug("Instantiating Pazpar2 service configuration by web.xml parameters");\r
+    logger.info("Instantiating Pazpar2 service configuration by web.xml parameters");\r
+  }\r
+  \r
+  @Override\r
+  public Pz2Config getConfig() throws IOException {\r
+    if (pz2config == null) {\r
+      createConfig();\r
+    }\r
+    return pz2config;\r
+  }\r
+  \r
+  private void createConfig () throws IOException {\r
     ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();\r
     ServletContext servletContext = (ServletContext) externalContext.getContext();\r
-    String pazpar2Url = servletContext.getInitParameter("PAZPAR2_URL");\r
-    String pazpar2ServiceId = servletContext.getInitParameter("PAZPAR2_SERVICE_id");\r
-    config = new Pz2Config(pazpar2Url,pazpar2ServiceId);\r
+    Map<String,String> parameters = new HashMap<String,String>();\r
+    parameters.put("PAZPAR2_URL", servletContext.getInitParameter("PAZPAR2_URL"));\r
+    parameters.put("PAZPAR2_SERVICE_ID", servletContext.getInitParameter("PAZPAR2_SERVICE_ID"));\r
+    pz2config = new Pz2Config(parameters);    \r
   }\r
   \r
-  @Override\r
-  public Pz2Config getConfig() {\r
-    return config;\r
+  public List<String> document() {\r
+    List<String> doc = new ArrayList<String>();\r
+    doc.add("No documentation written yet for this configurator");\r
+    return doc;\r
   }\r
 }\r