Make constants read-only
[cql-java-moved-to-github.git] / src / main / java / org / z3950 / zing / cql / CQLParser.java
index 25b49d0..dd69218 100644 (file)
@@ -19,9 +19,9 @@ import java.io.FileNotFoundException;
 public class CQLParser {
     private CQLLexer lexer;
     private int compat;        // When false, implement CQL 1.2
-    public static int V1POINT1 = 12368;
-    public static int V1POINT2 = 12369;
-    public static int V1POINT1SORT = 12370;
+    public static final int V1POINT1 = 12368;
+    public static final int V1POINT2 = 12369;
+    public static final int V1POINT1SORT = 12370;
 
     static private boolean DEBUG = false;
     static private boolean LEXDEBUG = false;
@@ -241,10 +241,13 @@ public class CQLParser {
              " (" + lexer.render() + ")");
         if (lexer.ttype == lexer.TT_WORD &&
             (lexer.sval.indexOf('.') >= 0 ||
-             lexer.sval.equals("exact") ||
              lexer.sval.equals("any") ||
              lexer.sval.equals("all") ||
-             (lexer.sval.equals("scr") && compat == V1POINT2)))
+             lexer.sval.equals("within") ||
+             lexer.sval.equals("encloses") ||
+             lexer.sval.equals("exact") ||
+             (lexer.sval.equals("scr") && compat != V1POINT2) ||
+             (lexer.sval.equals("adj") && compat == V1POINT2)))
           return true;
 
         return isSymbolicRelation();