+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_1.xsd"
- version="2.1">
-</faces-config>
\ No newline at end of file
import java.util.HashMap;\r
import java.util.Map;\r
\r
+import javax.enterprise.context.SessionScoped;\r
+import javax.inject.Named;\r
+\r
import org.apache.log4j.Logger;\r
\r
import com.indexdata.masterkey.config.MissingMandatoryParameterException;\r
import com.indexdata.masterkey.config.ModuleConfiguration;\r
import com.indexdata.masterkey.config.ModuleConfigurationGetter;\r
+import com.indexdata.pz2utils4jsf.utils.Utils;\r
\r
+@Named @SessionScoped\r
public class Pz2Config implements ModuleConfigurationGetter, Serializable {\r
\r
private static final long serialVersionUID = -6801241975338182197L;\r
ModuleConfiguration moduleConfig = null;\r
\r
public Pz2Config () {\r
+ logger.debug(Utils.objectId(this) + " being constructed with no argument");\r
setDefaults();\r
}\r
\r
public Pz2Config (Map<String,String> parameters) {\r
+ logger.debug(Utils.objectId(this) + " being constructed with parameter map argument");\r
setDefaults();\r
for (String key : parameters.keySet()) {\r
properties.put(key, parameters.get(key));\r
}\r
\r
public Pz2Config (ModuleConfiguration moduleConfig) throws IOException {\r
+ logger.debug(Utils.objectId(this) + " being constructed with moduleConfig argument.");\r
this.moduleConfig = moduleConfig;\r
for (String key : moduleConfig.getConfigMap().keySet()) {\r
properties.put(key, moduleConfig.getConfigParameter(key));\r
package com.indexdata.pz2utils4jsf.config;\r
\r
+import java.io.IOException;\r
import java.io.Serializable;\r
\r
public interface Pz2Configurator extends Serializable {\r
- public Pz2Config getConfig();\r
+ public Pz2Config getConfig() throws IOException;\r
}\r
\r
import com.indexdata.masterkey.config.MasterkeyConfiguration;\r
import com.indexdata.masterkey.config.ModuleConfiguration;\r
+import com.indexdata.pz2utils4jsf.utils.Utils;\r
\r
@Named @SessionScoped @Alternative\r
public class Pz2ConfigureByMk2Config implements Pz2Configurator {\r
private Pz2Config pz2config = null;\r
\r
public Pz2ConfigureByMk2Config () throws IOException {\r
- logger.debug("Instantiating Pazpar2 service configuration by MasterKey configuration scheme.");\r
+ logger.info(Utils.objectId(this) + " is instantiating Pazpar2 service configuration by MasterKey configuration scheme.");\r
+ }\r
+ \r
+ @Override\r
+ public Pz2Config getConfig() throws IOException {\r
+ if (pz2config == null) {\r
+ createConfig();\r
+ }\r
+ return pz2config;\r
+ }\r
+ \r
+ private void createConfig () throws IOException {\r
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();\r
ServletContext servletContext = (ServletContext) externalContext.getContext(); \r
MasterkeyConfiguration mkConfigContext =\r
"pazpar-application-jsf", ((HttpServletRequest) externalContext.getRequest()).getServerName());\r
ModuleConfiguration moduleConfig = mkConfigContext.getModuleConfiguration("pz2client");\r
pz2config = new Pz2Config(moduleConfig);\r
- }\r
- \r
- @Override\r
- public Pz2Config getConfig() {\r
- return pz2config;\r
+ logger.info("Accessing Pazpar2 at: " +pz2config.get("PAZPAR2_URL"));\r
+ if (pz2config.get("PAZPAR2_SERVICE_XML") != null) {\r
+ logger.info("Using the service definition contained in " + pz2config.getConfigFilePath() + "/" + pz2config.get("PAZPAR2_SERVICE_XML"));\r
+ if (pz2config.get("PAZPAR2_SETTINGS_XML") != null) {\r
+ logger.info("Using the target settings contained in " + pz2config.getConfigFilePath() + "/" + pz2config.get("PAZPAR2_SETTINGS_XML"));\r
+ } else {\r
+ logger.info("Using the server side target settings as defined in the service definition.");\r
+ }\r
+ } else if (pz2config.get("PAZPAR2_SERVICE_ID") != null) {\r
+ logger.info("Using the server side service definition identified by service id "+pz2config.get("PAZPAR2_SERVICE_ID"));\r
+ } else {\r
+ logger.error("Did not find service ID nor service definition XML file so set up pazpar2 service.");\r
+ }\r
+\r
}\r
\r
\r
package com.indexdata.pz2utils4jsf.config;\r
\r
+import java.io.IOException;\r
import java.util.HashMap;\r
import java.util.Map;\r
\r
\r
private static final long serialVersionUID = 144390224959311772L;\r
private static Logger logger = Logger.getLogger(Pz2ConfigureByWebXml.class);\r
- private Pz2Config config = null;\r
+ private Pz2Config pz2config = null;\r
\r
public Pz2ConfigureByWebXml () {\r
- logger.debug("Instantiating Pazpar2 service configuration by web.xml parameters");\r
+ logger.info("Instantiating Pazpar2 service configuration by web.xml parameters");\r
+ }\r
+ \r
+ public Pz2Config getConfig() throws IOException {\r
+ if (pz2config == null) {\r
+ createConfig();\r
+ }\r
+ return pz2config;\r
+ }\r
+ \r
+ private void createConfig () throws IOException {\r
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();\r
ServletContext servletContext = (ServletContext) externalContext.getContext();\r
Map<String,String> parameters = new HashMap<String,String>();\r
parameters.put("PAZPAR2_URL", servletContext.getInitParameter("PAZPAR2_URL"));\r
parameters.put("PAZPAR2_SERVICE_ID", servletContext.getInitParameter("PAZPAR2_SERVICE_ID"));\r
- config = new Pz2Config(parameters);\r
- }\r
- \r
- @Override\r
- public Pz2Config getConfig() {\r
- return config;\r
+ pz2config = new Pz2Config(parameters); \r
}\r
}\r
import com.indexdata.pz2utils4jsf.pazpar2.data.StatResponse;\r
import com.indexdata.pz2utils4jsf.pazpar2.data.TermListsResponse;\r
import com.indexdata.pz2utils4jsf.pazpar2.data.TermResponse;\r
+import com.indexdata.pz2utils4jsf.utils.Utils;\r
\r
-@Named("pz2")\r
-@SessionScoped\r
+@Named("pz2") @SessionScoped\r
public class Pz2Bean implements Pz2Interface, Serializable {\r
\r
private static final long serialVersionUID = 3440277287081557861L;\r
@Inject Pz2Configurator pz2conf;\r
\r
public Pz2Bean () {\r
- logger.debug("Instantiating pz2 bean"); \r
- pz2 = new Pz2Session(); \r
+ logger.info("Instantiating pz2 bean [" + Utils.objectId(this) + "]");\r
}\r
\r
@PostConstruct\r
public void initiatePz2Session() {\r
+ logger.debug(Utils.objectId(this) + " will instantiate a Pz2Session next.");\r
+ pz2 = new Pz2Session();\r
+ logger.debug(Utils.objectId(this) + " will forward configuration to the new Pz2Session [" + Utils.objectId(pz2) + "]");\r
pz2.init(pz2conf);\r
}\r
\r
/* (non-Javadoc)\r
* @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#doSearch(java.lang.String)\r
*/\r
- public void doSearch(String query) {\r
+ public void doSearch(String query) { \r
pz2.doSearch(query);\r
}\r
\r
* @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#doSearch()\r
*/\r
public void doSearch() {\r
+ logger.info(Utils.objectId(this) + " doing search for "+this.getQuery());\r
pz2.doSearch();\r
}\r
\r
package com.indexdata.pz2utils4jsf.pazpar2;\r
\r
+import java.io.IOException;\r
import java.util.ArrayList;\r
import java.util.List;\r
import java.util.Map;\r
import com.indexdata.pz2utils4jsf.pazpar2.data.TermListsResponse;\r
import com.indexdata.pz2utils4jsf.pazpar2.data.TermResponse;\r
import com.indexdata.pz2utils4jsf.pazpar2.state.QueryStates;\r
+import com.indexdata.pz2utils4jsf.utils.Utils;\r
\r
-@Named\r
-@SessionScoped\r
+@Named @SessionScoped \r
public class Pz2Session implements Pz2Interface {\r
\r
private static Logger logger = Logger.getLogger(Pz2Session.class);\r
private ResultsPager pager = null; \r
\r
public Pz2Session () {\r
- logger.debug("Instantiating pz2 session object"); \r
+ logger.info("Instantiating pz2 session object [" + Utils.objectId(this) + "]"); \r
}\r
\r
public void init(Pz2Configurator pz2conf) {\r
if (client==null) {\r
- logger.debug("Initiating a session holding object ");\r
+ logger.info(Utils.objectId(this) + " is configuring itself using the provided " + Utils.objectId(pz2conf));\r
try {\r
cfg = new com.indexdata.masterkey.pazpar2.client.Pazpar2ClientConfiguration(pz2conf.getConfig());\r
client = new com.indexdata.masterkey.pazpar2.client.Pazpar2ClientGeneric(cfg);\r
resetDataObjects();\r
} catch (ProxyErrorException e) {\r
e.printStackTrace();\r
- } \r
+ } catch (IOException ioe) {\r
+ ioe.printStackTrace();\r
+ }\r
} else {\r
- logger.error("??? attempt to initiate session but already has a client");\r
+ logger.warn("Attempt to configure session but it already has a configured client");\r
}\r
}\r
\r
queryStates.hasPendingStateChange("search",false);\r
resetDataObjects();\r
setCommandParameter("show",new CommandParameter("start","=",0)); \r
- logger.info("Searching using "+getCommand("search").getParameter("query").getEncodedQueryString());\r
+ logger.debug(Utils.objectId(this) + " is searching using "+getCommand("search").getParameter("query").getEncodedQueryString());\r
doCommand("search"); \r
}\r
\r
* @return Number of activeclients at the time of the 'show' command.\r
*/\r
public String update () {\r
- logger.info("Updating show,stat,termlist, and bytarget data from pazpar2");\r
+ logger.debug("Updating show,stat,termlist,bytarget from pazpar2");\r
return update("show,stat,termlist,bytarget");\r
}\r
\r
}\r
return getActiveClients();\r
} else {\r
- logger.info("Skipped requests for " + commands + " as there's not yet a query."); \r
+ logger.debug("Skipped requests for " + commands + " as there's not yet a query."); \r
resetDataObjects();\r
return "0";\r
}\r
--- /dev/null
+package com.indexdata.pz2utils4jsf.utils;\r
+\r
+public class Utils {\r
+ \r
+ public static String objectId(Object o) {\r
+ int lastdot = o.toString().lastIndexOf('.');\r
+ if (lastdot>-1 && lastdot+1<o.toString().length()) {\r
+ return o.toString().substring(lastdot+1);\r
+ } else {\r
+ return o.toString();\r
+ }\r
+ }\r
+\r
+}\r