* 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
*/\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