-
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / pz2utils4jsf / config / Pz2ConfigureByWebXml.java
1 package com.indexdata.pz2utils4jsf.config;\r
2 \r
3 import java.io.IOException;\r
4 import java.util.ArrayList;\r
5 import java.util.HashMap;\r
6 import java.util.List;\r
7 import java.util.Map;\r
8 \r
9 import javax.enterprise.context.SessionScoped;\r
10 import javax.enterprise.inject.Alternative;\r
11 import javax.faces.context.ExternalContext;\r
12 import javax.faces.context.FacesContext;\r
13 import javax.inject.Named;\r
14 import javax.servlet.ServletContext;\r
15 \r
16 import org.apache.log4j.Logger;\r
17 \r
18 \r
19 @Named @SessionScoped @Alternative\r
20 public class Pz2ConfigureByWebXml implements Pz2Configurator {\r
21 \r
22   private static final long serialVersionUID = 144390224959311772L;\r
23   private static Logger logger = Logger.getLogger(Pz2ConfigureByWebXml.class);\r
24   private Pz2Config pz2config = null;\r
25   \r
26   public Pz2ConfigureByWebXml () {\r
27     logger.info("Instantiating Pazpar2 service configuration by web.xml parameters");\r
28   }\r
29   \r
30   @Override\r
31   public Pz2Config getConfig() throws IOException {\r
32     if (pz2config == null) {\r
33       createConfig();\r
34     }\r
35     return pz2config;\r
36   }\r
37   \r
38   private void createConfig () throws IOException {\r
39     ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();\r
40     ServletContext servletContext = (ServletContext) externalContext.getContext();\r
41     Map<String,String> parameters = new HashMap<String,String>();\r
42     parameters.put("PAZPAR2_URL", servletContext.getInitParameter("PAZPAR2_URL"));\r
43     parameters.put("PAZPAR2_SERVICE_ID", servletContext.getInitParameter("PAZPAR2_SERVICE_ID"));\r
44     pz2config = new Pz2Config(parameters);    \r
45   }\r
46   \r
47   public List<String> document() {\r
48     List<String> doc = new ArrayList<String>();\r
49     doc.add("No documentation written yet for this configurator");\r
50     return doc;\r
51   }\r
52 }\r