Avoids state changes on cascading command updates
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / pz2utils4jsf / pazpar2 / state / StateManager.java
index 4398efa..3c09920 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
@@ -87,7 +89,7 @@ public class StateManager implements Serializable {
     logger.debug("Getting " + commandName + " from state manager.");\r
     return getCurrentState().getCommand(commandName).copy();\r
   }\r
-  \r
+    \r
   public CommandReadOnly getCommand (String commandName) {\r
     return getCurrentState().getCommand(commandName);\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