Avoid npe on attempt to remove non-existing parameter
authorNiels Erik G. Nielsen <nielserik@indexdata.com>
Tue, 1 Oct 2013 00:30:16 +0000 (20:30 -0400)
committerNiels Erik G. Nielsen <nielserik@indexdata.com>
Tue, 1 Oct 2013 00:30:16 +0000 (20:30 -0400)
src/main/java/com/indexdata/mkjsf/pazpar2/commands/Pazpar2Command.java

index 82ac066..f61642c 100644 (file)
@@ -267,12 +267,14 @@ public abstract class Pazpar2Command implements Serializable  {
   }\r
   \r
   public void removeExpressions(String parameterName, String... expressionFields) {\r
-    Pazpar2Command copy = this.copy();    \r
-    copy.getParameter(parameterName).removeExpressions(expressionFields);    \r
-    if (!getParameter(parameterName).hasValue() && !getParameter(parameterName).hasExpressions()) {\r
-      copy.parameters.remove(parameterName);\r
+    if (this.getParameter(parameterName) != null) {\r
+      Pazpar2Command copy = this.copy();    \r
+      copy.getParameter(parameterName).removeExpressions(expressionFields);    \r
+      if (!getParameter(parameterName).hasValue() && !getParameter(parameterName).hasExpressions()) {\r
+        copy.parameters.remove(parameterName);\r
+      }\r
+      checkInState(copy);    \r
     }\r
-    checkInState(copy);    \r
   }\r
   \r
   public boolean hasParameters () {\r