package com.indexdata.mkjsf.pazpar2.commands;\r
\r
import javax.enterprise.context.SessionScoped;\r
+import javax.inject.Named;\r
\r
import org.apache.log4j.Logger;\r
\r
+import com.indexdata.mkjsf.pazpar2.ClientCommandResponse;\r
+import com.indexdata.mkjsf.pazpar2.HttpResponseWrapper;\r
+import com.indexdata.mkjsf.pazpar2.Pz2Bean;\r
import com.indexdata.mkjsf.pazpar2.commands.sp.ServiceProxyCommand;\r
-import com.indexdata.mkjsf.pazpar2.state.StateManager;\r
+import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;\r
+import com.indexdata.mkjsf.pazpar2.data.ResponseParser;\r
\r
-@SessionScoped\r
+@SessionScoped @Named\r
public class SearchCommand extends Pazpar2Command implements ServiceProxyCommand {\r
\r
private static final long serialVersionUID = -1888520867838597236L;\r
private static Logger logger = Logger.getLogger(SearchCommand.class);\r
private SingleTargetFilter singleTargetFilter = null;\r
+ \r
+ public SearchCommand() {\r
+ super("search");\r
+ }\r
\r
- public SearchCommand(StateManager stateMgr) {\r
- super("search",stateMgr);\r
+ public ResponseDataObject run() {\r
+ logger.info("Running " + getCommandName());\r
+ logger.info("Using client " + Pz2Bean.get().getSearchClient());\r
+ logger.info("Storing responses to " + Pz2Bean.get().getPzresp());\r
+ Pz2Bean.get().getSearchClient().setSearchCommand(this);\r
+ logger.info("Executing command " + getCommandName());\r
+ HttpResponseWrapper httpResponse = Pz2Bean.get().getSearchClient().executeCommand(this);\r
+ ResponseDataObject responseObject = ResponseParser.getParser().getDataObject((ClientCommandResponse) httpResponse);\r
+ Pz2Bean.get().getPzresp().put(getCommandName(), responseObject);\r
+ return responseObject;\r
}\r
+\r
\r
public void setQuery(String query) { \r
setParameter(new CommandParameter("query","=",query));\r
}\r
\r
public SearchCommand copy () {\r
- SearchCommand newCommand = new SearchCommand(stateMgr);\r
+ SearchCommand newCommand = new SearchCommand();\r
for (String parameterName : parameters.keySet()) {\r
newCommand.setParameterInState(parameters.get(parameterName).copy()); \r
}\r