Returns "" rather than "null" on missing value
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / mkjsf / pazpar2 / commands / Expression.java
index 67cc3d4..694996f 100644 (file)
@@ -11,11 +11,11 @@ import org.apache.log4j.Logger;
  * An expression consist of a left-of-operator field or key, an equality operator (= or ~), \r
  * a right-of-operator value, and optionally a label describing the value for UI display.\r
  * </p> \r
- * Examples:\r
+ * <p>Examples:</p>\r
  * <ul>\r
- *  <li>pz:id=1234 "My Target"</li>\r
- *  <li>category~libcatalog "Library Catalogs"</li>\r
- *  <li>author="Steinbeck, John"</li>\r
+ *  <li><code>pz:id=1234</code> "My Target"</li>\r
+ *  <li><code>category~libcatalog</code> "Library Catalogs"</li>\r
+ *  <li><code>author="Steinbeck, John"</code></li>\r
  * </ul>\r
  * @author Niels Erik\r
  *\r
@@ -56,10 +56,17 @@ public class Expression implements Serializable {
    */\r
   public Expression (String expressionString) {\r
     String[] parts = expressionString.split("[=~]");\r
-    this.leftEntity = parts[0];\r
-    this.operator = expressionString.contains("=") ? "=" : "~";\r
-    this.rightEntity = parts[1];\r
-    this.label=rightEntity;\r
+    if (parts.length>0) {\r
+      this.leftEntity = parts[0];\r
+      this.operator = expressionString.contains("=") ? "=" : "~";\r
+    }\r
+    if (parts.length>1) {\r
+      this.rightEntity = parts[1];\r
+      this.label=rightEntity;\r
+    } else {\r
+      this.rightEntity = "";\r
+      this.label = "";\r
+    }\r
   }\r
   \r
   /** \r