X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fcom%2Findexdata%2Fmkjsf%2Fpazpar2%2Fcommands%2FSearchCommand.java;h=a95ac09c4c88eff23ebc38f339e5c920c555ed3c;hb=5745961a862c1f07e9abcb084f43c205f01631be;hp=4dcb1082fcb4418effb42ae44ddf41979c523382;hpb=2816078831605dbc1c18147760e1212dd30909a8;p=mkjsf-moved-to-github.git diff --git a/src/main/java/com/indexdata/mkjsf/pazpar2/commands/SearchCommand.java b/src/main/java/com/indexdata/mkjsf/pazpar2/commands/SearchCommand.java index 4dcb108..a95ac09 100644 --- a/src/main/java/com/indexdata/mkjsf/pazpar2/commands/SearchCommand.java +++ b/src/main/java/com/indexdata/mkjsf/pazpar2/commands/SearchCommand.java @@ -1,22 +1,35 @@ package com.indexdata.mkjsf.pazpar2.commands; import javax.enterprise.context.SessionScoped; +import javax.inject.Named; import org.apache.log4j.Logger; +import com.indexdata.mkjsf.pazpar2.Pz2Bean; import com.indexdata.mkjsf.pazpar2.commands.sp.ServiceProxyCommand; -import com.indexdata.mkjsf.pazpar2.state.StateManager; +import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject; -@SessionScoped +@SessionScoped @Named public class SearchCommand extends Pazpar2Command implements ServiceProxyCommand { private static final long serialVersionUID = -1888520867838597236L; private static Logger logger = Logger.getLogger(SearchCommand.class); private SingleTargetFilter singleTargetFilter = null; + + public SearchCommand() { + super("search"); + } - public SearchCommand(StateManager stateMgr) { - super("search",stateMgr); + public ResponseDataObject run() { + logger.info("Running " + getCommandName()); + Pz2Bean.get().getStateMgr().hasPendingStateChange("search",false); + Pz2Bean.get().getPzresp().resetSearchAndBeyond(); + Pz2Bean.get().getPzreq().getRecord().removeParametersInState(); + Pz2Bean.get().getPzreq().getShow().setParameterInState(new CommandParameter("start","=",0)); + Pz2Bean.get().getSearchClient().setSearchCommand(this); + return super.run(); } + public void setQuery(String query) { setParameter(new CommandParameter("query","=",query)); @@ -81,14 +94,31 @@ public class SearchCommand extends Pazpar2Command implements ServiceProxyCommand return getParameterValue("maxrecs"); } - public void setSort () { - setParameter(new CommandParameter("sort","=","sort")); + public void setSort (String sort) { + setParameter(new CommandParameter("sort","=",sort)); } public String getSort () { return getParameterValue("sort"); } + public void setRank (String rank) { + setParameter(new CommandParameter("rank","=",rank)); + } + + public String getRank () { + return getParameterValue("rank"); + } + + public void setMergekey (String mergekey) { + setParameter(new CommandParameter("mergekey","=",mergekey)); + } + + public String getMergekey () { + return getParameterValue("mergekey"); + } + + /** * Sets a facet, in CQL, to restrict the current results, * then executes the search @@ -195,7 +225,7 @@ public class SearchCommand extends Pazpar2Command implements ServiceProxyCommand } public SearchCommand copy () { - SearchCommand newCommand = new SearchCommand(stateMgr); + SearchCommand newCommand = new SearchCommand(); for (String parameterName : parameters.keySet()) { newCommand.setParameterInState(parameters.get(parameterName).copy()); } @@ -208,4 +238,9 @@ public class SearchCommand extends Pazpar2Command implements ServiceProxyCommand return this; } + @Override + public boolean spOnly() { + return false; + } + }