\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
public abstract class Pazpar2Command implements Serializable {\r
\r
private static Logger logger = Logger.getLogger(Pazpar2Command.class);\r
private static final long serialVersionUID = -6825491856480675917L; \r
protected String name = "";\r
- protected Map<String,CommandParameter> parameters = new HashMap<String,CommandParameter>();\r
+ protected Map<String,CommandParameter> parameters = new HashMap<String,CommandParameter>(); \r
\r
- protected StateManager stateMgr;\r
+ public Pazpar2Command () {\r
\r
- public Pazpar2Command (String name, StateManager stateMgr) {\r
+ }\r
+ \r
+ public void setCommandName(String name) {\r
this.name = name;\r
- this.stateMgr = stateMgr;\r
+ }\r
+ \r
+ public Pazpar2Command (String name) {\r
+ this.name = name; \r
}\r
\r
public abstract Pazpar2Command copy ();\r
- \r
+ \r
public String getCommandName() {\r
return name;\r
}\r
+ \r
+ public ResponseDataObject run() {\r
+ logger.info("Running " + getCommandName() + " using " + Pz2Bean.get().getSearchClient()); \r
+ HttpResponseWrapper httpResponse = Pz2Bean.get().getSearchClient().executeCommand(this);\r
+ logger.info("Parsing response for " + getCommandName());\r
+ ResponseDataObject responseObject = ResponseParser.getParser().getDataObject((ClientCommandResponse) httpResponse);\r
+ logger.info("Storing response for " + getCommandName());\r
+ Pz2Bean.get().getPzresp().put(getCommandName(), responseObject);\r
+ return responseObject;\r
+ }\r
\r
public void setParameter (CommandParameter parameter) {\r
Pazpar2Command copy = this.copy();\r
} \r
\r
private void checkInState(Pazpar2Command command) {\r
- if (stateMgr != null) {\r
- stateMgr.checkIn(command);\r
- } else {\r
- logger.info("Command '" + command.getCommandName() + "' not affecting state (history) as no state manager was defined for this command.");\r
- }\r
+ Pz2Bean.get().getStateMgr().checkIn(command);\r
+ // if (stateMgr() != null) {\r
+ // stateMgr().checkIn(command);\r
+ // } else {\r
+ // logger.info("Command '" + command.getCommandName() + "' not affecting state (history) as no state manager was defined for this command.");\r
+ // }\r
}\r
\r
public abstract ServiceProxyCommand getSp();\r