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 import static com.indexdata.pz2utils4jsf.utils.Utils.nl;
\r
23 @Named @SessionScoped @Alternative
\r
24 public class Pz2ConfigureByMk2Config implements Pz2Configurator {
\r
26 private static final long serialVersionUID = 8865086878660568870L;
\r
27 private static Logger logger = Logger.getLogger(Pz2ConfigureByMk2Config.class);
\r
28 private Pz2Config pz2config = null;
\r
30 public Pz2ConfigureByMk2Config () throws IOException {
\r
31 logger.info(Utils.objectId(this) + " is instantiating Pazpar2 service configuration by MasterKey configuration scheme.");
\r
35 public Pz2Config getConfig() throws IOException {
\r
36 if (pz2config == null) {
\r
42 private void createConfig () throws IOException {
\r
43 ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
\r
44 ServletContext servletContext = (ServletContext) externalContext.getContext();
\r
45 MasterkeyConfiguration mkConfigContext =
\r
46 MasterkeyConfiguration.getInstance(servletContext,
\r
47 "pazpar-application-jsf", ((HttpServletRequest) externalContext.getRequest()).getServerName());
\r
48 ModuleConfiguration moduleConfig = mkConfigContext.getModuleConfiguration("pz2client");
\r
49 pz2config = new Pz2Config(moduleConfig);
\r
50 logger.info(document());
\r
54 public List<String> document() {
\r
55 List<String> doc = new ArrayList<String>();
\r
57 doc.add("Set to access Pazpar2 at: " +pz2config.get("PAZPAR2_URL"));
\r
58 if (pz2config.get("PAZPAR2_SERVICE_XML") != null) {
\r
59 doc.add("Set to use the service definition contained in " + pz2config.getConfigFilePath() + "/" + pz2config.get("PAZPAR2_SERVICE_XML"));
\r
60 if (pz2config.get("PAZPAR2_SETTINGS_XML") != null) {
\r
61 doc.add("Set to use the target settings contained in " + pz2config.getConfigFilePath() + "/" + pz2config.get("PAZPAR2_SETTINGS_XML"));
\r
63 doc.add("Set to use the server side target settings as defined in the service definition.");
\r
65 } else if (pz2config.get("PAZPAR2_SERVICE_ID") != null) {
\r
66 doc.add("Set to use the server side service definition identified by service id "+pz2config.get("PAZPAR2_SERVICE_ID"));
\r
68 doc.add("Error: Did not find service ID nor service definition XML file to set up pazpar2 service.");
\r