Cleans up SP extension commands
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / mkjsf / pazpar2 / commands / Pazpar2Command.java
index 41e3326..fd74c37 100644 (file)
@@ -3,6 +3,7 @@ package com.indexdata.mkjsf.pazpar2.commands;
 import java.io.Serializable;\r
 import java.util.HashMap;\r
 import java.util.Map;\r
+import java.util.StringTokenizer;\r
 \r
 import org.apache.log4j.Logger;\r
 \r
@@ -39,11 +40,22 @@ public abstract class Pazpar2Command implements Serializable  {
     return name;\r
   }\r
   \r
-  public ResponseDataObject run() {\r
+  public ResponseDataObject run() {    \r
     return run(Pz2Bean.get().getSearchClient(),\r
                Pz2Bean.get().getPzresp());\r
   }\r
   \r
+  public ResponseDataObject runWith(String... parameters) {\r
+    for (String parameter : parameters) {\r
+      StringTokenizer tokenizer = new StringTokenizer(parameter,"=");\r
+      String name = (String) tokenizer.nextElement();\r
+      String value = (String) tokenizer.nextElement();\r
+      CommandParameter commandParameter = new CommandParameter(name,"=",value);\r
+      setParameterInState(commandParameter);\r
+    }\r
+    return run();\r
+  }\r
+  \r
   /**\r
    * For running the command in a thread. Client and Responses must be \r
    * provided because at this point the CDI bean cannot be retrieved \r
@@ -54,7 +66,7 @@ public abstract class Pazpar2Command implements Serializable  {
    * @return\r
    */\r
   public ResponseDataObject run(SearchClient client,Responses pzresp) {\r
-    logger.info("Running " + getCommandName() + " using " + client);    \r
+    logger.debug("Running " + getCommandName() + " using " + client);    \r
     HttpResponseWrapper httpResponse = client.executeCommand(this);\r
     logger.debug("Parsing response for " + getCommandName());\r
     ResponseDataObject responseObject = ResponseParser.getParser().getDataObject((ClientCommandResponse) httpResponse);\r
@@ -178,6 +190,10 @@ public abstract class Pazpar2Command implements Serializable  {
     Pz2Bean.get().getStateMgr().checkIn(command);\r
   }\r
   \r
+  public String navigateTo (String target) {\r
+    return target;\r
+  }\r
+  \r
   public abstract ServiceProxyCommand getSp();\r
    \r
   public abstract boolean spOnly();  \r