\r
import com.indexdata.masterkey.config.MasterkeyConfiguration;\r
import com.indexdata.masterkey.config.ModuleConfiguration;\r
+import com.indexdata.pz2utils4jsf.errors.ConfigurationException;\r
import com.indexdata.pz2utils4jsf.utils.Utils;\r
import static com.indexdata.pz2utils4jsf.utils.Utils.nl;\r
\r
}\r
\r
@Override\r
- public Pz2Config getConfig() throws IOException {\r
+ public Pz2Config getConfig() throws ConfigurationException {\r
if (pz2config == null) {\r
createConfig();\r
}\r
return pz2config;\r
}\r
\r
- private void createConfig () throws IOException {\r
+ private void createConfig () throws ConfigurationException {\r
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();\r
ServletContext servletContext = (ServletContext) externalContext.getContext(); \r
- MasterkeyConfiguration mkConfigContext =\r
- MasterkeyConfiguration.getInstance(servletContext,\r
- "pazpar-application-jsf", ((HttpServletRequest) externalContext.getRequest()).getServerName());\r
- configFilePathAndName = mkConfigContext.getConfigFileLocation().getConfigFilePath();\r
- ModuleConfiguration moduleConfig = mkConfigContext.getModuleConfiguration("pz2client");\r
- pz2config = new Pz2Config(moduleConfig);\r
- logger.info(document());\r
+ MasterkeyConfiguration mkConfigContext;\r
+ try {\r
+ mkConfigContext = MasterkeyConfiguration.getInstance(servletContext,\r
+ "pazpar-application-jsf", ((HttpServletRequest) externalContext.getRequest()).getServerName());\r
+ } catch (IOException e) {\r
+ throw new ConfigurationException("Pz2ConfigureByMk2Config could not configure Pazpar2 client using MasterKey configuration scheme: "+e.getMessage(),e);\r
+ }\r
+ configFilePathAndName = mkConfigContext.getConfigFileLocation().getConfigFilePath(); \r
+ try {\r
+ ModuleConfiguration moduleConfig = mkConfigContext.getModuleConfiguration("pz2client");\r
+ pz2config = new Pz2Config(moduleConfig);\r
+ logger.info(document());\r
+ } catch (IOException e) {\r
+ throw new ConfigurationException("Pz2ConfigureByMk2Config could not get configuration for module 'pz2client': "+e.getMessage(),e);\r
+ } \r
}\r
\r
\r
public List<String> document() {\r
List<String> doc = new ArrayList<String>();\r
- doc.add("Attempted to configure service using the file " + configFilePathAndName);\r
+ doc.add(":"+nl+"Attempted to configure service using the file " + configFilePathAndName);\r
doc.add(nl+"-- Configured to access Pazpar2 at: " +pz2config.get("PAZPAR2_URL"));\r
if (pz2config.get("PAZPAR2_SERVICE_XML") != null) {\r
doc.add(nl+"-- Configured to use the service definition contained in " + pz2config.getConfigFilePath() + "/" + pz2config.get("PAZPAR2_SERVICE_XML"));\r