X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fcom%2Findexdata%2Fpz2utils4jsf%2Fpazpar2%2Fstate%2FStateManager.java;h=23d59d1fd79fe78e2d81698a1872c8da3e5e048a;hb=906df9a7a07c860de28e13cf3769361d4aaa2742;hp=3c099204d1b64383c304bbc379b2b4065e828daf;hpb=684c532310691be01ea81c277b986f13e29bec5b;p=mkjsf-moved-to-github.git diff --git a/src/main/java/com/indexdata/pz2utils4jsf/pazpar2/state/StateManager.java b/src/main/java/com/indexdata/pz2utils4jsf/pazpar2/state/StateManager.java index 3c09920..23d59d1 100644 --- a/src/main/java/com/indexdata/pz2utils4jsf/pazpar2/state/StateManager.java +++ b/src/main/java/com/indexdata/pz2utils4jsf/pazpar2/state/StateManager.java @@ -70,7 +70,7 @@ public class StateManager implements Serializable { states.put(state.getKey(), state); currentKey = state.getKey(); hasPendingStateChange(command.getName(),new Boolean(true)); - logger.debug("Updating listeners with state change from " + command); + logger.debug("Updating " + listeners.size() + " listener(s) with state change from " + command); updateListeners(command.getName()); } else { logger.debug("Command " + command.getName() + " not found to change the state [" + command.getEncodedQueryString() + "]"); @@ -109,17 +109,21 @@ public class StateManager implements Serializable { logger.debug("setCurrentStateKey: no key change detected"); } else { logger.debug("State key change. Was: [" + currentKey + "]. Will be ["+key+"]"); - if (states.get(key).getCommand("search").equals(states.get(currentKey).getCommand("search"))) { - logger.debug("No search change detected"); + if (states.get(key)==null) { + logger.error("The back-end received an unknow state key."); } else { - hasPendingStateChange("search",true); - } - if (states.get(key).getCommand("record").equals(states.get(currentKey).getCommand("record"))) { - logger.debug("No record change detected"); - } else { - hasPendingStateChange("record",true); - } - currentKey = key; + if (states.get(key).getCommand("search").equals(states.get(currentKey).getCommand("search"))) { + logger.debug("No search change detected"); + } else { + hasPendingStateChange("search",true); + } + if (states.get(key).getCommand("record").equals(states.get(currentKey).getCommand("record"))) { + logger.debug("No record change detected"); + } else { + hasPendingStateChange("record",true); + } + currentKey = key; + } } }