Fixes resetting of commands on login (SP)
authorNiels Erik G. Nielsen <nielserik@indexdata.com>
Sun, 14 Apr 2013 23:55:47 +0000 (19:55 -0400)
committerNiels Erik G. Nielsen <nielserik@indexdata.com>
Sun, 14 Apr 2013 23:55:47 +0000 (19:55 -0400)
.. enables resetting of commands without state changing

src/main/java/com/indexdata/pz2utils4jsf/pazpar2/Pz2ProxyBean.java
src/main/java/com/indexdata/pz2utils4jsf/pazpar2/commands/Pazpar2Commands.java

index 773f993..f37f98e 100644 (file)
@@ -12,6 +12,7 @@ import javax.inject.Named;
 import org.apache.log4j.Logger;\r
 \r
 import com.indexdata.pz2utils4jsf.config.ConfigurationReader;\r
+import com.indexdata.pz2utils4jsf.pazpar2.commands.CommandParameter;\r
 import com.indexdata.pz2utils4jsf.pazpar2.sp.ServiceProxyClient;\r
 import com.indexdata.pz2utils4jsf.pazpar2.sp.ServiceProxyInterface;\r
 import com.indexdata.pz2utils4jsf.pazpar2.sp.auth.ServiceProxyUser;\r
@@ -49,11 +50,10 @@ public class Pz2ProxyBean extends Pz2Bean implements ServiceProxyInterface {
   @Override\r
   public String login(String navigateTo) {\r
     logger.info("doing login");\r
-    ((ServiceProxyClient)searchClient).authenticate(user);\r
+    ((ServiceProxyClient)searchClient).authenticate(user);    \r
+    pzreq.getRecordInState().removeParametersSilently();\r
+    pzreq.getSearchInState().removeParametersSilently();\r
     pzresp.reset();\r
-    pzreq.getRecord().removeParameters();\r
-    pzreq.getSearch().setQuery(null);\r
-    \r
     return navigateTo;\r
   }\r
 \r
@@ -61,7 +61,7 @@ public class Pz2ProxyBean extends Pz2Bean implements ServiceProxyInterface {
   public void setServiceProxyUrl(String url) {\r
     logger.info("Setting Service Proxy url: " + url);\r
     serviceProxyUrl = url;\r
-    pzreq.getSearch().setQuery(null);\r
+    pzreq.getSearchInState().removeParametersSilently();\r
     pzresp.reset();\r
   }\r
   \r
index b91b0c6..4795905 100644 (file)
@@ -54,6 +54,15 @@ public class Pazpar2Commands implements Serializable {
   public SearchCommand getSearch() {\r
     return (SearchCommand) (stateMgr.checkOut(SEARCH));\r
   }\r
+  \r
+  /**\r
+   * Gets a mutable SearchCommand from current state (no checkout)\r
+   * Can be used for updating Search parameters without spawning new state.\r
+   * @return\r
+   */\r
+  public SearchCommand getSearchInState() {\r
+    return (SearchCommand) (stateMgr.getCurrentState().getCommand(SEARCH));\r
+  }\r
 \r
   public StatCommand getStat() {\r
     return (StatCommand) (stateMgr.checkOut(STAT));\r
@@ -63,6 +72,11 @@ public class Pazpar2Commands implements Serializable {
     return (ShowCommand) (stateMgr.checkOut(SHOW));\r
   }\r
   \r
+  /**\r
+   * Gets a mutable ShowCommand from current state (no checkout)\r
+   * Can be used for updating show parameters without spawning new state.\r
+   * @return\r
+   */\r
   public ShowCommand getShowInState () {\r
     return (ShowCommand) (stateMgr.getCurrentState().getCommand(SHOW));\r
   }\r
@@ -70,7 +84,12 @@ public class Pazpar2Commands implements Serializable {
   public RecordCommand getRecord() {\r
     return (RecordCommand) (stateMgr.checkOut(RECORD));\r
   }\r
-  \r
+\r
+  /**\r
+   * Gets a mutable RecordCommand from current state (no checkout)\r
+   * Can be used for updating record parameters without spawning new state.\r
+   * @return\r
+   */  \r
   public RecordCommand getRecordInState() {\r
     return (RecordCommand)stateMgr.getCurrentState().getCommand(RECORD);\r
   }\r