1 package com.indexdata.pz2utils4jsf.pazpar2.commands;
\r
3 import javax.enterprise.context.SessionScoped;
\r
5 import org.apache.log4j.Logger;
\r
7 import com.indexdata.pz2utils4jsf.pazpar2.state.StateManager;
\r
10 public class SearchCommand extends Pazpar2Command {
\r
12 private static final long serialVersionUID = -1888520867838597236L;
\r
13 private static Logger logger = Logger.getLogger(SearchCommand.class);
\r
15 public SearchCommand(StateManager stateMgr) {
\r
16 super("search",stateMgr);
\r
19 public void setSession (String sessionId) {
\r
20 setParameter(new CommandParameter("session","=",sessionId));
\r
23 public void setQuery(String query) {
\r
24 logger.info("writing query: " + query);
\r
25 setParameter(new CommandParameter("query","=",query));
\r
28 public String getQuery () {
\r
29 logger.info("retrieving query");
\r
30 return getParameter("query") == null ? null : getParameter("query").getValueWithExpressions();
\r
33 public void setFilter(String filterExpression) {
\r
34 setParameter(new CommandParameter("filter","=",filterExpression));
\r
37 public String getFilter() {
\r
38 return getParameter("filter") == null ? null : getParameter("filter").getValueWithExpressions();
\r
42 public void setLimit (String limit) {
\r
46 public void addFilter(String filterExpression) {
\r
47 if (hasParameterSet("filter")) {
\r
48 setFilter(filterExpression);
\r
51 getParameter("filter");
\r
55 public void removeFilters () {
\r
59 public void removeFilter(String filterExpression) {
\r
63 public SearchCommand copy () {
\r
64 SearchCommand newCommand = new SearchCommand(stateMgr);
\r
65 for (String parameterName : parameters.keySet()) {
\r
66 newCommand.setParameterSilently(parameters.get(parameterName).copy());
\r