Adds SP extensions to Pazpar2 commands and parameters
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / mkjsf / pazpar2 / commands / SearchCommand.java
index 749742e..cae510e 100644 (file)
@@ -4,10 +4,11 @@ import javax.enterprise.context.SessionScoped;
 \r
 import org.apache.log4j.Logger;\r
 \r
+import com.indexdata.mkjsf.pazpar2.commands.sp.ServiceProxyCommand;\r
 import com.indexdata.mkjsf.pazpar2.state.StateManager;\r
 \r
 @SessionScoped\r
-public class SearchCommand extends Pazpar2Command {\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
@@ -150,13 +151,14 @@ public class SearchCommand extends Pazpar2Command {
     if (hasSingleTargetFilter(new SingleTargetFilter(targetId,targetName))) {\r
       logger.debug("Already using target filter " + this.singleTargetFilter.getFilterExpression());\r
     } else {      \r
+      logger.debug("Setting new single target filter for [" + targetName + "]");\r
       this.singleTargetFilter = new SingleTargetFilter(targetId,targetName);\r
       setParameter(new CommandParameter("filter","=",this.singleTargetFilter.getFilterExpression()));            \r
     }    \r
   }\r
 \r
   public SingleTargetFilter getSingleTargetFilter () {\r
-    logger.debug("request to get the current single target filter");\r
+    logger.debug("request to get the current single target filter " + singleTargetFilter);\r
     return singleTargetFilter;\r
   }\r
    \r
@@ -164,10 +166,11 @@ public class SearchCommand extends Pazpar2Command {
    * Removes the current target filter from the search\r
    * \r
    */\r
-  public void removeSingleTargetFilter () {\r
+  public String removeSingleTargetFilter () {\r
     logger.debug("Removing target filter " + singleTargetFilter.getFilterExpression());\r
     this.singleTargetFilter = null;\r
-    removeParameter("filter");             \r
+    removeParameter("filter");\r
+    return null;\r
   }\r
   \r
   /**\r
@@ -178,7 +181,7 @@ public class SearchCommand extends Pazpar2Command {
     logger.debug("Checking if a single target filter is set: " + (singleTargetFilter != null));\r
     return singleTargetFilter != null;    \r
   }\r
-\r
+  \r
   /**\r
    * Resolves if the current search command has a target filter - to\r
    * be used by the UI for conditional rendering of target filter info.\r
@@ -187,6 +190,7 @@ public class SearchCommand extends Pazpar2Command {
    * filter\r
    */\r
   protected boolean hasSingleTargetFilter(SingleTargetFilter targetFilter) {\r
+    logger.debug("Checking if target filter for [" + targetFilter.getTargetName() + "] is set.");\r
     return hasSingleTargetFilter() && targetFilter.equals(this.singleTargetFilter);\r
   }\r
     \r
@@ -199,4 +203,9 @@ public class SearchCommand extends Pazpar2Command {
     return newCommand;\r
   }\r
 \r
+  @Override\r
+  public ServiceProxyCommand getSp() {\r
+    return this;\r
+  }\r
+\r
 }\r