Debug stmts and fix for double object instantiation
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / pz2utils4jsf / config / Pz2ConfigureByMk2Config.java
1 package com.indexdata.pz2utils4jsf.config;\r
2 \r
3 import java.io.IOException;\r
4 \r
5 import javax.enterprise.context.SessionScoped;\r
6 import javax.enterprise.inject.Alternative;\r
7 import javax.faces.context.ExternalContext;\r
8 import javax.faces.context.FacesContext;\r
9 import javax.inject.Named;\r
10 import javax.servlet.ServletContext;\r
11 import javax.servlet.http.HttpServletRequest;\r
12 \r
13 import org.apache.log4j.Logger;\r
14 \r
15 import com.indexdata.masterkey.config.MasterkeyConfiguration;\r
16 import com.indexdata.masterkey.config.ModuleConfiguration;\r
17 import com.indexdata.pz2utils4jsf.utils.Utils;\r
18 \r
19 @Named @SessionScoped @Alternative\r
20 public class Pz2ConfigureByMk2Config implements Pz2Configurator  {\r
21 \r
22   private static final long serialVersionUID = 8865086878660568870L;\r
23   private static Logger logger = Logger.getLogger(Pz2ConfigureByMk2Config.class);\r
24   private Pz2Config pz2config = null;\r
25 \r
26   public Pz2ConfigureByMk2Config () throws IOException {\r
27     logger.info(Utils.objectId(this) + " is instantiating Pazpar2 service configuration by MasterKey configuration scheme.");\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     MasterkeyConfiguration mkConfigContext =\r
42         MasterkeyConfiguration.getInstance(servletContext,\r
43         "pazpar-application-jsf", ((HttpServletRequest) externalContext.getRequest()).getServerName());\r
44     ModuleConfiguration moduleConfig = mkConfigContext.getModuleConfiguration("pz2client");\r
45     pz2config = new Pz2Config(moduleConfig);\r
46     logger.info("Accessing Pazpar2 at: " +pz2config.get("PAZPAR2_URL"));\r
47     if (pz2config.get("PAZPAR2_SERVICE_XML") != null) {\r
48       logger.info("Using the service definition contained in " + pz2config.getConfigFilePath() + "/" + pz2config.get("PAZPAR2_SERVICE_XML"));\r
49       if (pz2config.get("PAZPAR2_SETTINGS_XML") != null) {\r
50         logger.info("Using the target settings contained in " + pz2config.getConfigFilePath() + "/" + pz2config.get("PAZPAR2_SETTINGS_XML"));\r
51       } else {\r
52         logger.info("Using the server side target settings as defined in the service definition.");\r
53       }\r
54     } else if (pz2config.get("PAZPAR2_SERVICE_ID") != null) {\r
55       logger.info("Using the server side service definition identified by service id "+pz2config.get("PAZPAR2_SERVICE_ID"));\r
56     } else {\r
57       logger.error("Did not find service ID nor service definition XML file so set up pazpar2 service.");\r
58     }\r
59 \r
60   }\r
61   \r
62 \r
63 }\r