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
\r
import org.apache.log4j.Logger;\r
\r
-@SessionScoped @Named\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
+ 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