Moves record parameter settings from pz2 bean to record cmd
authorNiels Erik G. Nielsen <nielserik@indexdata.com>
Sat, 13 Apr 2013 18:41:29 +0000 (14:41 -0400)
committerNiels Erik G. Nielsen <nielserik@indexdata.com>
Sat, 13 Apr 2013 18:41:29 +0000 (14:41 -0400)
src/main/java/com/indexdata/pz2utils4jsf/pazpar2/Pz2Bean.java
src/main/java/com/indexdata/pz2utils4jsf/pazpar2/Pz2Interface.java
src/main/java/com/indexdata/pz2utils4jsf/pazpar2/Pz2Session.java
src/main/java/com/indexdata/pz2utils4jsf/pazpar2/commands/RecordCommand.java
src/main/java/com/indexdata/pz2utils4jsf/pazpar2/state/StateListener.java
src/main/java/com/indexdata/pz2utils4jsf/pazpar2/state/StateManager.java

index 00d587a..fe63d6e 100644 (file)
@@ -234,15 +234,5 @@ public class Pz2Bean implements Pz2Interface, Serializable {
   public boolean hasConfigurationErrors() {\r
     return pz2.hasConfigurationErrors();\r
   }\r
-\r
-  @Override\r
-  public void setRecordId(String recId) {\r
-    pz2.setRecordId(recId);    \r
-  }\r
-\r
-  @Override\r
-  public String getRecordId() {\r
-    return pz2.getRecordId();\r
-  }\r
   \r
 }\r
index 8cba18a..d33b114 100644 (file)
@@ -238,8 +238,5 @@ public interface Pz2Interface extends Serializable {
    */\r
   public List<ErrorInterface> getConfigurationErrors();\r
 \r
-  void setRecordId(String recId);\r
-\r
-  String getRecordId();\r
      \r
 }\r
index 56aa95b..654f3c8 100644 (file)
@@ -21,7 +21,6 @@ import com.indexdata.pz2utils4jsf.pazpar2.commands.CommandParameter;
 import com.indexdata.pz2utils4jsf.pazpar2.commands.CommandReadOnly;\r
 import com.indexdata.pz2utils4jsf.pazpar2.commands.Pazpar2Command;\r
 import com.indexdata.pz2utils4jsf.pazpar2.commands.Pazpar2Commands;\r
-import com.indexdata.pz2utils4jsf.pazpar2.commands.SearchCommand;\r
 import com.indexdata.pz2utils4jsf.pazpar2.data.ByTarget;\r
 import com.indexdata.pz2utils4jsf.pazpar2.data.CommandError;\r
 import com.indexdata.pz2utils4jsf.pazpar2.data.Pazpar2ResponseData;\r
@@ -160,43 +159,7 @@ public class Pz2Session implements Pz2Interface, StateListener {
     }\r
     \r
   }\r
-        \r
-  /*\r
-  public void setQuery (String query) {\r
-    logger.debug("Creating new command parameter for " + query);\r
-    setCommandParameter("search",new CommandParameter("query","=",query));\r
-  }\r
-  \r
-  public String getQuery () {\r
-    return getCommandParameterValueSimple("search","query",null);\r
-  }\r
-  */\r
-  \r
-  public void setFacet (String facetKey, String term) {           \r
-    if (term != null && term.length()>0) {   \r
-      Pazpar2Command command = req.getCommand("search");\r
-      command.getParameter("query").addExpression(new Expression(facetKey,"=",term));\r
-      stateMgr.checkIn(command);\r
-      doSearch();\r
-    }            \r
-  }\r
-  \r
-  public void setFacetOnQuery (String facetKey, String term) {\r
-    String facetExpression = facetKey + "=" + term;    \r
-    if (term != null && term.length()>0) {\r
-      String currentQuery= req.getCommandReadOnly("search").getParameterValue("query");\r
-      setCommandParameter("search",new CommandParameter("query","=", currentQuery + " and " + facetExpression));\r
-      doSearch();        \r
-    }            \r
-  }\r
-      \r
-  public void removeFacet(String facetKey, String term) {\r
-    SearchCommand command = req.getSearch();\r
-    command.getParameter("query").removeExpression(new Expression(facetKey,"=",term));\r
-    stateMgr.checkIn(command);\r
-    doSearch();\r
-  }\r
-  \r
+            \r
   public void setSingleTargetFilter (String targetId, String targetName) {    \r
     if (hasSingleTargetFilter(new SingleTargetFilter(targetId,targetName))) {\r
       logger.debug("Already using target filter " + this.singleTargetFilter.getFilterExpression());\r
@@ -228,22 +191,12 @@ public class Pz2Session implements Pz2Interface, StateListener {
       dataObjects.put("record", new RecordResponse());\r
       return "";\r
     } else {\r
-      setRecordId(recId);\r
+      req.getRecord().setRecordId(recId);\r
       return doCommand("record");\r
     }\r
   }\r
   \r
   @Override\r
-  public void setRecordId(String recId) {\r
-    setCommandParameter("record",new CommandParameter("id","=",recId));\r
-  }\r
-  \r
-  @Override\r
-  public String getRecordId () {\r
-    return getCommandParameterValue("record","recid","");\r
-  }\r
-  \r
-  @Override\r
   public boolean hasRecord (String recId) {\r
     return req.getCommandReadOnly("record").hasParameters() && getRecord().getRecId().equals(recId);\r
   }\r
@@ -499,12 +452,12 @@ public class Pz2Session implements Pz2Interface, StateListener {
   }\r
 \r
   @Override\r
-  public void stateUpdate(String commandName) {\r
+  public void stateUpdated(String commandName) {\r
     logger.debug("State change reported for [" + commandName + "]");\r
     if (commandName.equals("show")) {\r
       logger.debug("Updating show");\r
       update(commandName);\r
-    }\r
+    } \r
   }\r
   \r
 }\r
index aa44fb9..086cfa8 100644 (file)
@@ -9,5 +9,24 @@ public class RecordCommand extends Pazpar2Command {
   public RecordCommand(StateManager stateMgr) {\r
     super("record",stateMgr);\r
   }\r
+  \r
+  public void setRecordId(String recId) {\r
+    setParameter(new CommandParameter("id","=",recId));\r
+  }\r
+  \r
+  public String getRecordId () {\r
+    return getParameterValue("id");\r
+  }\r
+\r
+  @Override\r
+  public RecordCommand copy () {\r
+    RecordCommand newCommand = new RecordCommand(stateMgr);\r
+    for (String parameterName : parameters.keySet()) {\r
+      newCommand.setParameterSilently(parameters.get(parameterName).copy());      \r
+    }    \r
+    return newCommand;\r
+  }\r
+\r
+  \r
 \r
 }\r
index 05fd5db..ac7fe8b 100644 (file)
@@ -2,6 +2,6 @@ package com.indexdata.pz2utils4jsf.pazpar2.state;
 \r
 public interface StateListener {\r
 \r
-  public void stateUpdate(String commandName);\r
+  public void stateUpdated(String commandName);\r
   \r
 }\r
index 4398efa..618d880 100644 (file)
@@ -47,7 +47,7 @@ public class StateManager implements Serializable {
   \r
   private void updateListeners (String command) {\r
     for (StateListener lsnr : listeners) {\r
-      lsnr.stateUpdate(command);\r
+      lsnr.stateUpdated(command);\r
     }\r
   }\r
   \r
@@ -69,7 +69,9 @@ public class StateManager implements Serializable {
       Pazpar2State state = new Pazpar2State(getCurrentState(),command);\r
       states.put(state.getKey(), state);\r
       currentKey = state.getKey();\r
-      hasPendingStateChange(command.getName(),new Boolean(true));\r
+      hasPendingStateChange(command.getName(),new Boolean(true));      \r
+      logger.debug("Updating listeners with state change from " + command);\r
+      updateListeners(command.getName());      \r
     } else {\r
       logger.debug("Command " + command.getName() + " not found to change the state [" + command.getEncodedQueryString() + "]");\r
     }\r
@@ -132,10 +134,6 @@ public class StateManager implements Serializable {
    */\r
   public void hasPendingStateChange(String command, boolean bool) {\r
     pendingStateChanges.put(command, new Boolean(bool));\r
-    if (bool) {\r
-      logger.debug("Updating listeners with state change from " + command);\r
-      updateListeners(command);\r
-    }\r
   }\r
   \r
   /**\r