--- /dev/null
+package com.indexdata.pz2utils4jsf.pazpar2.commands;\r
+\r
+import javax.enterprise.context.SessionScoped;\r
+\r
+import org.apache.log4j.Logger;\r
+\r
+import com.indexdata.pz2utils4jsf.pazpar2.state.StateManager;\r
+\r
+@SessionScoped\r
+public class SearchCommand extends Pazpar2Command {\r
+ \r
+ private static final long serialVersionUID = -1888520867838597236L;\r
+ private static Logger logger = Logger.getLogger(SearchCommand.class);\r
+ \r
+ public SearchCommand(StateManager stateMgr) {\r
+ super("search",stateMgr);\r
+ }\r
+ \r
+ public void setSession (String sessionId) {\r
+ setParameter(new CommandParameter("session","=",sessionId));\r
+ }\r
+ \r
+ public void setQuery(String query) {\r
+ logger.info("writing query: " + query);\r
+ setParameter(new CommandParameter("query","=",query));\r
+ }\r
+ \r
+ public String getQuery () {\r
+ logger.info("retrieving query");\r
+ return getParameter("query") == null ? null : getParameter("query").getValueWithExpressions();\r
+ }\r
+ \r
+ public void setFilter(String filterExpression) {\r
+ setParameter(new CommandParameter("filter","=",filterExpression));\r
+ }\r
+ \r
+ public String getFilter() {\r
+ return getParameter("filter") == null ? null : getParameter("filter").getValueWithExpressions();\r
+ }\r
+\r
+ \r
+ public void setLimit (String limit) {\r
+ \r
+ }\r
+ \r
+ public void addFilter(String filterExpression) {\r
+ if (hasParameterSet("filter")) {\r
+ setFilter(filterExpression);\r
+ } else {\r
+ //TODO\r
+ getParameter("filter");\r
+ }\r
+ }\r
+ \r
+ public void removeFilters () {\r
+ \r
+ }\r
+ \r
+ public void removeFilter(String filterExpression) {\r
+ \r
+ }\r
+ \r
+ public SearchCommand copy () {\r
+ SearchCommand newCommand = new SearchCommand(stateMgr);\r
+ for (String parameterName : parameters.keySet()) {\r
+ newCommand.setParameterSilently(parameters.get(parameterName).copy()); \r
+ } \r
+ return newCommand;\r
+ }\r
+\r
+\r
+}\r