Ammends record command logic
authorNiels Erik G. Nielsen <nielserik@indexdata.com>
Sat, 30 Mar 2013 01:27:24 +0000 (18:27 -0700)
committerNiels Erik G. Nielsen <nielserik@indexdata.com>
Sat, 30 Mar 2013 01:27:24 +0000 (18:27 -0700)
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

index 7f3ae52..277876b 100644 (file)
@@ -181,7 +181,7 @@ public class Pz2Bean implements Pz2Interface, Serializable {
   public int getStart() {\r
     return pz2.getStart();\r
   }\r
-\r
+  \r
   /* (non-Javadoc)\r
    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#toggleRecord(java.lang.String)\r
    */\r
@@ -302,4 +302,14 @@ public class Pz2Bean implements Pz2Interface, Serializable {
     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 55a5a3a..ef820da 100644 (file)
@@ -332,5 +332,9 @@ public interface Pz2Interface extends Serializable {
    * @return\r
    */\r
   public List<ErrorInterface> getConfigurationErrors();\r
+\r
+  void setRecordId(String recId);\r
+\r
+  String getRecordId();\r
      \r
 }\r
index 3dec233..e0b7ea7 100644 (file)
@@ -62,8 +62,7 @@ public class Pz2Session implements Pz2Interface {
       // To avoid that, a context free client is cloned from the context \r
       // dependent one. \r
       // If propagation to threads gets supported, the cloning can go. \r
-      this.searchClient = searchClient.cloneMe();   \r
-      \r
+      this.searchClient = searchClient.cloneMe();         \r
     } catch (ConfigurationException e) {\r
       configurationErrors.add(new ConfigurationError("Search Client","Configuration",e.getMessage(),new ErrorHelper(configReader)));          \r
     } \r
@@ -228,22 +227,29 @@ public class Pz2Session implements Pz2Interface {
   public int getStart() {\r
     return getCommandParameterValue("show","start",0);\r
   }\r
-        \r
+          \r
   public String toggleRecord (String recId) {\r
     if (hasRecord(recId)) {\r
       removeCommand("record");  \r
       dataObjects.put("record", new RecordResponse());\r
       return "";\r
     } else {\r
-      return updateRecord(recId);\r
+      setRecordId(recId);\r
+      return doCommand("record");\r
     }\r
   }\r
   \r
-  private String updateRecord(String recId) {    \r
-    setCommandParameter("record",new CommandParameter("id","=",recId));    \r
-    return doCommand("record");    \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 getCommand("record").hasParameters() && getRecord().getRecId().equals(recId);\r
   }\r
@@ -375,7 +381,7 @@ public class Pz2Session implements Pz2Interface {
       logger.debug("Found pending record ID change. Doing record before updating " + commands);\r
       queryStates.hasPendingStateChange("record",false);\r
       if (getCommand("record").hasParameters()) {\r
-        updateRecord(getCommand("record").getParameter("id").getSimpleValue());\r
+        update("record");\r
       } else {\r
         removeCommand("record");  \r
         dataObjects.put("record", new RecordResponse());\r