Avoid npe on attempt to remove non-existing parameter
[mkjsf-moved-to-github.git] / 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