X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fcom%2Findexdata%2Fpz2utils4jsf%2Fconfig%2FPz2ConfigureByMk2Config.java;h=e6418fc57a6606ab6de6cc32d3bd7475a4c5e8cb;hb=6f43cc03e1135e838f3c08e59fc00cce8ee6f53b;hp=f10aa1e08d61533bc04ff01c1f03d04a5105fd92;hpb=45eb77e915522940923b9401b984bff004935686;p=mkjsf-moved-to-github.git diff --git a/src/main/java/com/indexdata/pz2utils4jsf/config/Pz2ConfigureByMk2Config.java b/src/main/java/com/indexdata/pz2utils4jsf/config/Pz2ConfigureByMk2Config.java index f10aa1e..e6418fc 100644 --- a/src/main/java/com/indexdata/pz2utils4jsf/config/Pz2ConfigureByMk2Config.java +++ b/src/main/java/com/indexdata/pz2utils4jsf/config/Pz2ConfigureByMk2Config.java @@ -16,8 +16,8 @@ import org.apache.log4j.Logger; import com.indexdata.masterkey.config.MasterkeyConfiguration; import com.indexdata.masterkey.config.ModuleConfiguration; +import com.indexdata.pz2utils4jsf.errors.ConfigurationException; import com.indexdata.pz2utils4jsf.utils.Utils; - import static com.indexdata.pz2utils4jsf.utils.Utils.nl; @Named @SessionScoped @Alternative @@ -26,46 +26,55 @@ public class Pz2ConfigureByMk2Config implements Pz2Configurator { private static final long serialVersionUID = 8865086878660568870L; private static Logger logger = Logger.getLogger(Pz2ConfigureByMk2Config.class); private Pz2Config pz2config = null; + private String configFilePathAndName = "none"; public Pz2ConfigureByMk2Config () throws IOException { logger.info(Utils.objectId(this) + " is instantiating Pazpar2 service configuration by MasterKey configuration scheme."); } @Override - public Pz2Config getConfig() throws IOException { + public Pz2Config getConfig() throws ConfigurationException { if (pz2config == null) { createConfig(); } return pz2config; } - private void createConfig () throws IOException { + private void createConfig () throws ConfigurationException { ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext(); - ServletContext servletContext = (ServletContext) externalContext.getContext(); - MasterkeyConfiguration mkConfigContext = - MasterkeyConfiguration.getInstance(servletContext, - "pazpar-application-jsf", ((HttpServletRequest) externalContext.getRequest()).getServerName()); - ModuleConfiguration moduleConfig = mkConfigContext.getModuleConfiguration("pz2client"); - pz2config = new Pz2Config(moduleConfig); - logger.info(document()); + ServletContext servletContext = (ServletContext) externalContext.getContext(); + MasterkeyConfiguration mkConfigContext; + try { + mkConfigContext = MasterkeyConfiguration.getInstance(servletContext, + "pazpar-application-jsf", ((HttpServletRequest) externalContext.getRequest()).getServerName()); + } catch (IOException e) { + throw new ConfigurationException("Pz2ConfigureByMk2Config could not configure Pazpar2 client using MasterKey configuration scheme: "+e.getMessage(),e); + } + configFilePathAndName = mkConfigContext.getConfigFileLocation().getConfigFilePath(); + try { + ModuleConfiguration moduleConfig = mkConfigContext.getModuleConfiguration("pz2client"); + pz2config = new Pz2Config(moduleConfig); + logger.info(document()); + } catch (IOException e) { + throw new ConfigurationException("Pz2ConfigureByMk2Config could not get configuration for module 'pz2client': "+e.getMessage(),e); + } } - public List document() { List doc = new ArrayList(); - - doc.add("Set to access Pazpar2 at: " +pz2config.get("PAZPAR2_URL")); + doc.add(nl+"Attempted to configure service using the file " + configFilePathAndName); + doc.add(nl+"-- Configured to access Pazpar2 at: " +pz2config.get("PAZPAR2_URL")); if (pz2config.get("PAZPAR2_SERVICE_XML") != null) { - doc.add("Set to use the service definition contained in " + pz2config.getConfigFilePath() + "/" + pz2config.get("PAZPAR2_SERVICE_XML")); + doc.add(nl+"-- Configured to use the service definition contained in " + pz2config.getConfigFilePath() + "/" + pz2config.get("PAZPAR2_SERVICE_XML")); if (pz2config.get("PAZPAR2_SETTINGS_XML") != null) { - doc.add("Set to use the target settings contained in " + pz2config.getConfigFilePath() + "/" + pz2config.get("PAZPAR2_SETTINGS_XML")); + doc.add(nl+"-- Configured to use the target settings contained in " + pz2config.getConfigFilePath() + "/" + pz2config.get("PAZPAR2_SETTINGS_XML")); } else { - doc.add("Set to use the server side target settings as defined in the service definition."); + doc.add(nl+"-- Configured to use the server side target settings as defined in the service definition."); } } else if (pz2config.get("PAZPAR2_SERVICE_ID") != null) { - doc.add("Set to use the server side service definition identified by service id "+pz2config.get("PAZPAR2_SERVICE_ID")); + doc.add(nl+"-- Configured to use the server side service definition identified by service id \""+pz2config.get("PAZPAR2_SERVICE_ID") + "\""); } else { - doc.add("Error: Did not find service ID nor service definition XML file to set up pazpar2 service."); + doc.add(nl+"Error: Did not find service ID nor service definition XML file for setting up a pazpar2 service."); } return doc; }