Adds demo auth method. Tweaks polling & state fields setup.
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / mkjsf / pazpar2 / commands / Pazpar2Command.java
index 4fbe159..9a3695b 100644 (file)
@@ -19,12 +19,7 @@ public class Pazpar2Command implements Serializable  {
     \r
   public Pazpar2Command (String name, StateManager stateMgr) {\r
     this.name = name;\r
-    if (stateMgr == null) {\r
-      // Sets throw-away state\r
-      this.stateMgr = new StateManager();\r
-    } else {\r
-      this.stateMgr = stateMgr;\r
-    }\r
+    this.stateMgr = stateMgr;\r
   }\r
       \r
   public Pazpar2Command copy () {\r
@@ -43,7 +38,7 @@ public class Pazpar2Command implements Serializable  {
     Pazpar2Command copy = this.copy();\r
     logger.debug(name + " command: setting parameter [" + parameter.getName() + "=" + parameter.getValueWithExpressions() + "]");\r
     copy.parameters.put(parameter.getName(),parameter);\r
-    stateMgr.checkIn(copy);\r
+    checkInState(copy);\r
   }\r
   \r
   public void setParameters (CommandParameter... params) {\r
@@ -52,7 +47,7 @@ public class Pazpar2Command implements Serializable  {
       logger.debug(name + " command: setting parameter [" + param.getName() + "=" + param.getValueWithExpressions() + "]");\r
       copy.parameters.put(param.getName(),param);\r
     }\r
-    stateMgr.checkIn(copy);\r
+    checkInState(copy);\r
   }\r
   \r
   public void setParametersInState (CommandParameter... params) {    \r
@@ -75,13 +70,13 @@ public class Pazpar2Command implements Serializable  {
   public void removeParameter (String name) {\r
     Pazpar2Command copy = this.copy();\r
     copy.parameters.remove(name);\r
-    stateMgr.checkIn(copy);\r
+    checkInState(copy);\r
   }\r
   \r
   public void removeParameters() {\r
     Pazpar2Command copy = this.copy();\r
     copy.parameters = new HashMap<String,CommandParameter>();\r
-    stateMgr.checkIn(copy);\r
+    checkInState(copy);\r
   }\r
   \r
   public void removeParametersInState() {\r
@@ -144,5 +139,13 @@ public class Pazpar2Command implements Serializable  {
   \r
   public String getSession() {\r
     return getParameterValue("session");\r
-  }  \r
+  } \r
+  \r
+  private void checkInState(Pazpar2Command command) {\r
+    if (stateMgr != null) {\r
+      stateMgr.checkIn(command);\r
+    } else {\r
+      logger.info("Command '" + command.getName() + "' not affecting state (history) as no state manager was defined for this command.");\r
+    }\r
+  }\r
 }\r