X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fcom%2Findexdata%2Fmkjsf%2Fpazpar2%2Fcommands%2FPazpar2Command.java;h=9a3695ba5683e8704e1a4a130c50ce9808c09c9f;hb=c6430ad85e3b04ea2823df38c15e8473342ff95b;hp=4fbe1591d78f77e5ca9b1f7caf7acf7a21b3e25a;hpb=ccb28ae8d5d46d29c40bd8b1637522c212b80636;p=mkjsf-moved-to-github.git diff --git a/src/main/java/com/indexdata/mkjsf/pazpar2/commands/Pazpar2Command.java b/src/main/java/com/indexdata/mkjsf/pazpar2/commands/Pazpar2Command.java index 4fbe159..9a3695b 100644 --- a/src/main/java/com/indexdata/mkjsf/pazpar2/commands/Pazpar2Command.java +++ b/src/main/java/com/indexdata/mkjsf/pazpar2/commands/Pazpar2Command.java @@ -19,12 +19,7 @@ public class Pazpar2Command implements Serializable { public Pazpar2Command (String name, StateManager stateMgr) { this.name = name; - if (stateMgr == null) { - // Sets throw-away state - this.stateMgr = new StateManager(); - } else { - this.stateMgr = stateMgr; - } + this.stateMgr = stateMgr; } public Pazpar2Command copy () { @@ -43,7 +38,7 @@ public class Pazpar2Command implements Serializable { Pazpar2Command copy = this.copy(); logger.debug(name + " command: setting parameter [" + parameter.getName() + "=" + parameter.getValueWithExpressions() + "]"); copy.parameters.put(parameter.getName(),parameter); - stateMgr.checkIn(copy); + checkInState(copy); } public void setParameters (CommandParameter... params) { @@ -52,7 +47,7 @@ public class Pazpar2Command implements Serializable { logger.debug(name + " command: setting parameter [" + param.getName() + "=" + param.getValueWithExpressions() + "]"); copy.parameters.put(param.getName(),param); } - stateMgr.checkIn(copy); + checkInState(copy); } public void setParametersInState (CommandParameter... params) { @@ -75,13 +70,13 @@ public class Pazpar2Command implements Serializable { public void removeParameter (String name) { Pazpar2Command copy = this.copy(); copy.parameters.remove(name); - stateMgr.checkIn(copy); + checkInState(copy); } public void removeParameters() { Pazpar2Command copy = this.copy(); copy.parameters = new HashMap(); - stateMgr.checkIn(copy); + checkInState(copy); } public void removeParametersInState() { @@ -144,5 +139,13 @@ public class Pazpar2Command implements Serializable { public String getSession() { return getParameterValue("session"); - } + } + + private void checkInState(Pazpar2Command command) { + if (stateMgr != null) { + stateMgr.checkIn(command); + } else { + logger.info("Command '" + command.getName() + "' not affecting state (history) as no state manager was defined for this command."); + } + } }