\r
import com.indexdata.pz2utils4jsf.config.ConfigurationReader;\r
import com.indexdata.pz2utils4jsf.controls.ResultsPager;\r
+import com.indexdata.pz2utils4jsf.errors.ConfigurationError;\r
import com.indexdata.pz2utils4jsf.errors.ConfigurationException;\r
import com.indexdata.pz2utils4jsf.errors.ErrorHelper;\r
import com.indexdata.pz2utils4jsf.errors.ErrorInterface;\r
private static final long serialVersionUID = 3947514708343320514L;\r
private static Logger logger = Logger.getLogger(Pz2Session.class);\r
\r
- private Map<String,Pazpar2ResponseData> dataObjects = new ConcurrentHashMap<String,Pazpar2ResponseData>();\r
- private QueryStates queryStates = new QueryStates();\r
- private ErrorHelper errorHelper = null;\r
+ protected Map<String,Pazpar2ResponseData> dataObjects = new ConcurrentHashMap<String,Pazpar2ResponseData>();\r
+ protected QueryStates queryStates = new QueryStates();\r
+ protected ErrorHelper errorHelper = null;\r
\r
- private List<ErrorInterface> configurationErrors = null;\r
- private SearchClient searchClient = null; \r
- private TargetFilter targetFilter = null; \r
- private ResultsPager pager = null; \r
+ protected List<ErrorInterface> configurationErrors = null;\r
+ protected SearchClient searchClient = null; \r
+ protected TargetFilter targetFilter = null; \r
+ protected ResultsPager pager = null; \r
\r
public Pz2Session () {\r
logger.info("Instantiating pz2 session object [" + Utils.objectId(this) + "]"); \r
// To avoid that, a context free client is cloned from the context \r
// dependent one. \r
// If propagation to threads gets supported, the cloning can go. \r
- this.searchClient = searchClient.cloneMe();\r
+ this.searchClient = searchClient.cloneMe(); \r
\r
} catch (ConfigurationException e) {\r
- // TODO: set errors\r
- logger.info("Found " + configurationErrors.size() + " configuration errors"); \r
+ configurationErrors.add(new ConfigurationError("Search Client","Configuration",e.getMessage(),new ErrorHelper(configReader))); \r
} \r
logger.info(configReader.document());\r
resetDataObjects();\r
}\r
- \r
+ \r
public void doSearch(String query) {\r
setCommandParameter("search",new CommandParameter("query","=",query)); \r
doSearch();\r
}\r
\r
\r
- private boolean hasTargetFilter(TargetFilter targetFilter) {\r
+ protected boolean hasTargetFilter(TargetFilter targetFilter) {\r
return hasTargetFilter() && targetFilter.equals(this.targetFilter);\r
}\r
\r
- private boolean hasQuery() {\r
+ protected boolean hasQuery() {\r
return !(getCommand("search").getParameter("query") == null);\r
}\r
\r
return errorHelper;\r
}\r
\r
- private void handleQueryStateChanges (String commands) {\r
+ protected void handleQueryStateChanges (String commands) {\r
if (queryStates.hasPendingStateChange("search")) { \r
logger.debug("Found pending search change. Doing search before updating " + commands);\r
doSearch();\r
} \r
}\r
\r
- private String getActiveClients() { \r
+ protected String getActiveClients() { \r
if (getShow()!=null) {\r
logger.debug("Active clients: "+getShow().getActiveClients());\r
return getShow().getActiveClients();\r
}\r
}\r
\r
- private Pazpar2Command getCommand(String name) {\r
+ protected Pazpar2Command getCommand(String name) {\r
return queryStates.getCurrentState().getCommand(name);\r
}\r
\r
- private void setCommandParameter(String commandName, CommandParameter parameter) {\r
+ protected void setCommandParameter(String commandName, CommandParameter parameter) {\r
logger.debug("Setting parameter for " + commandName + ": " + parameter);\r
queryStates.getCurrentState().setCommandParameter(commandName, parameter, queryStates); \r
}\r
\r
\r
- private void removeCommandParameter(String commandName, String parameterName) {\r
+ protected void removeCommandParameter(String commandName, String parameterName) {\r
queryStates.getCurrentState().removeCommandParameter(commandName,parameterName,queryStates); \r
}\r
\r
- private void removeCommand (String commandName) {\r
+ protected void removeCommand (String commandName) {\r
queryStates.getCurrentState().removeCommand(commandName, queryStates);\r
}\r
\r
- private String getCommandParameterValue (String commandName, String parameterName, String defaultValue) { \r
+ protected String getCommandParameterValue (String commandName, String parameterName, String defaultValue) { \r
Pazpar2Command command = getCommand(commandName);\r
if (command != null) {\r
CommandParameter parameter = command.getParameter(parameterName);\r
return defaultValue; \r
}\r
\r
- private String getCommandParameterValueSimple (String commandName, String parameterName, String defaultValue) { \r
+ protected String getCommandParameterValueSimple (String commandName, String parameterName, String defaultValue) { \r
Pazpar2Command command = getCommand(commandName);\r
if (command != null) {\r
CommandParameter parameter = command.getParameter(parameterName);\r
}\r
\r
\r
- private int getCommandParameterValue (String commandName, String parameterName, int defaultValue) {\r
+ protected int getCommandParameterValue (String commandName, String parameterName, int defaultValue) {\r
Pazpar2Command command = getCommand(commandName);\r
if (command != null) {\r
CommandParameter parameter = command.getParameter(parameterName);\r
return defaultValue; \r
}\r
\r
- private String doCommand(String commandName) { \r
+ protected String doCommand(String commandName) { \r
Pazpar2Command command = getCommand(commandName); \r
logger.debug(command.getEncodedQueryString() + ": Results for "+ getCommand("search").getEncodedQueryString());\r
- return update(commandName); \r
+ return update(commandName);\r
}\r
\r
- private void resetDataObjects() {\r
+ protected void resetDataObjects() {\r
logger.debug("Resetting show,stat,termlist,bytarget,search response objects.");\r
dataObjects = new ConcurrentHashMap<String,Pazpar2ResponseData>();\r
dataObjects.put("show", new ShowResponse());\r