1 package com.indexdata.pz2utils4jsf.config;
\r
3 import java.io.IOException;
\r
4 import java.util.ArrayList;
\r
5 import java.util.List;
\r
7 import javax.enterprise.context.SessionScoped;
\r
8 import javax.enterprise.inject.Alternative;
\r
9 import javax.faces.context.ExternalContext;
\r
10 import javax.faces.context.FacesContext;
\r
11 import javax.inject.Named;
\r
12 import javax.servlet.ServletContext;
\r
13 import javax.servlet.http.HttpServletRequest;
\r
15 import org.apache.log4j.Logger;
\r
17 import com.indexdata.masterkey.config.MasterkeyConfiguration;
\r
18 import com.indexdata.masterkey.config.ModuleConfiguration;
\r
19 import com.indexdata.pz2utils4jsf.utils.Utils;
\r
21 @Named @SessionScoped @Alternative
\r
22 public class Pz2ConfigureByMk2Config implements Pz2Configurator {
\r
24 private static final long serialVersionUID = 8865086878660568870L;
\r
25 private static Logger logger = Logger.getLogger(Pz2ConfigureByMk2Config.class);
\r
26 private Pz2Config pz2config = null;
\r
28 public Pz2ConfigureByMk2Config () throws IOException {
\r
29 logger.info(Utils.objectId(this) + " is instantiating Pazpar2 service configuration by MasterKey configuration scheme.");
\r
33 public Pz2Config getConfig() throws IOException {
\r
34 if (pz2config == null) {
\r
40 private void createConfig () throws IOException {
\r
41 ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
\r
42 ServletContext servletContext = (ServletContext) externalContext.getContext();
\r
43 MasterkeyConfiguration mkConfigContext =
\r
44 MasterkeyConfiguration.getInstance(servletContext,
\r
45 "pazpar-application-jsf", ((HttpServletRequest) externalContext.getRequest()).getServerName());
\r
46 ModuleConfiguration moduleConfig = mkConfigContext.getModuleConfiguration("pz2client");
\r
47 pz2config = new Pz2Config(moduleConfig);
\r
48 logger.info(document());
\r
52 public List<String> document() {
\r
53 List<String> doc = new ArrayList<String>();
\r
55 doc.add("-- App set to access Pazpar2 at: " +pz2config.get("PAZPAR2_URL"));
\r
56 if (pz2config.get("PAZPAR2_SERVICE_XML") != null) {
\r
57 doc.add("-- App set to use the service definition contained in " + pz2config.getConfigFilePath() + "/" + pz2config.get("PAZPAR2_SERVICE_XML"));
\r
58 if (pz2config.get("PAZPAR2_SETTINGS_XML") != null) {
\r
59 doc.add("-- App set to use the target settings contained in " + pz2config.getConfigFilePath() + "/" + pz2config.get("PAZPAR2_SETTINGS_XML"));
\r
61 doc.add("-- App set to use the server side target settings as defined in the service definition.");
\r
63 } else if (pz2config.get("PAZPAR2_SERVICE_ID") != null) {
\r
64 doc.add("-- App set to use the server side service definition identified by service id \""+pz2config.get("PAZPAR2_SERVICE_ID") + "\"");
\r
66 doc.add("Error: Did not find service ID nor service definition XML file to set up pazpar2 service.");
\r