Avoids state changes on cascading command updates
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / pz2utils4jsf / pazpar2 / Pz2Bean.java
index 65706a9..d948152 100644 (file)
@@ -34,6 +34,7 @@ public class Pz2Bean implements Pz2Interface, StateListener, Serializable {
 \r
   private static final long serialVersionUID = 3440277287081557861L;\r
   private static Logger logger = Logger.getLogger(Pz2Bean.class);\r
+  private static Logger responseLogger = Logger.getLogger("com.indexdata.pz2utils4jsf.pazpar2.responses");\r
   \r
   protected SearchClient searchClient = null;\r
   \r
@@ -94,9 +95,10 @@ public class Pz2Bean implements Pz2Interface, StateListener, Serializable {
   public void doSearch() { \r
     stateMgr.hasPendingStateChange("search",false);\r
     pzresp.reset();\r
-    // TODO: avoid state proliferation here:\r
-    pzreq.getRecord().removeParameters();\r
-    pzreq.getShow().setParameter(new CommandParameter("start","=",0));    \r
+    // resets some record and show command parameters without \r
+    // changing state or creating state change feedback\r
+    pzreq.getRecordInState().removeParametersSilently();        \r
+    pzreq.getShowInState().setParameterSilently(new CommandParameter("start","=",0));    \r
     logger.debug(Utils.objectId(this) + " is searching using "+pzreq.getCommandReadOnly("search").getUrlEncodedParameterValue("query"));\r
     doCommand("search");    \r
   }\r
@@ -140,7 +142,7 @@ public class Pz2Bean implements Pz2Interface, StateListener, Serializable {
         for (CommandThread thread : threadList) {\r
            String commandName = thread.getCommand().getName();\r
            String response = thread.getResponse();\r
-           logger.debug("Response was: " + response);\r
+           responseLogger.debug("Response was: " + response);\r
            Pazpar2ResponseData responseObject = Pazpar2ResponseParser.getParser().getDataObject(response);\r
            pzresp.put(commandName, responseObject);        \r
         }\r