- no-highlight classes > 128
- code cleanup
diff --git a/src/main/java/.gitignore b/src/main/java/.gitignore
new file mode 100644
index 0000000..688761c
--- /dev/null
+++ b/src/main/java/.gitignore
@@ -0,0 +1 @@
+/SerializationSandbox.java
diff --git a/src/main/java/de/ids_mannheim/korap/query/parse/.gitignore b/src/main/java/de/ids_mannheim/korap/query/parse/.gitignore
new file mode 100644
index 0000000..e92a46d
--- /dev/null
+++ b/src/main/java/de/ids_mannheim/korap/query/parse/.gitignore
@@ -0,0 +1,3 @@
+/annis/
+/collection/
+/poliqarpplus/
diff --git a/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opAnnot.java b/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opAnnot.java
index 4bb62a2..593988d 100644
--- a/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opAnnot.java
+++ b/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opAnnot.java
@@ -1,10 +1,5 @@
 package de.ids_mannheim.korap.query.parse.cosmas;
 
-import java.io.*;
-import org.antlr.runtime.*;
-import org.antlr.runtime.debug.DebugEventSocketProxy;
-import org.antlr.runtime.tree.*;
-
 /* COSMAS II Plain Syntax (c2ps).
  * lokale Grammatik für Optionen von #IN(Opts).
  * 12.12.12/FB
diff --git a/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opBED.java b/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opBED.java
index a6dc19b..713c289 100644
--- a/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opBED.java
+++ b/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opBED.java
@@ -1,8 +1,6 @@
 package de.ids_mannheim.korap.query.parse.cosmas;
 
-import java.io.*;
 import org.antlr.runtime.*;
-import org.antlr.runtime.debug.DebugEventSocketProxy;
 import org.antlr.runtime.tree.*;
 
 // parses Opts in #BED(x,Opts):
diff --git a/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opELEM.java b/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opELEM.java
index 9968e24..2e0c55c 100644
--- a/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opELEM.java
+++ b/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opELEM.java
@@ -1,8 +1,6 @@
 package de.ids_mannheim.korap.query.parse.cosmas;
 
-import java.io.*;
 import org.antlr.runtime.*;
-import org.antlr.runtime.debug.DebugEventSocketProxy;
 import org.antlr.runtime.tree.*;
 
 // parses Search Expression inside #ELEM(...):
diff --git a/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opIN.java b/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opIN.java
index 7d50a90..53f6429 100644
--- a/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opIN.java
+++ b/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opIN.java
@@ -1,8 +1,6 @@
 package de.ids_mannheim.korap.query.parse.cosmas;
 
-import java.io.*;
 import org.antlr.runtime.*;
-import org.antlr.runtime.debug.DebugEventSocketProxy;
 import org.antlr.runtime.tree.*;
 
 /* COSMAS II Plain Syntax (c2ps).
diff --git a/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opOV.java b/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opOV.java
index c47160c..27cd9de 100644
--- a/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opOV.java
+++ b/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opOV.java
@@ -1,8 +1,6 @@
 package de.ids_mannheim.korap.query.parse.cosmas;
 
-import java.io.*;
 import org.antlr.runtime.*;
-import org.antlr.runtime.debug.DebugEventSocketProxy;
 import org.antlr.runtime.tree.*;
 
 /* COSMAS II Plain Syntax (c2ps).
diff --git a/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opPROX.java b/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opPROX.java
index 4d8561d..12d8fa4 100644
--- a/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opPROX.java
+++ b/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opPROX.java
@@ -1,8 +1,6 @@
 package de.ids_mannheim.korap.query.parse.cosmas;
 
-import java.io.*;
 import org.antlr.runtime.*;
-import org.antlr.runtime.debug.DebugEventSocketProxy;
 import org.antlr.runtime.tree.*;
 
 /*
diff --git a/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opWF.java b/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opWF.java
index 5400bec..7cdac48 100644
--- a/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opWF.java
+++ b/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_opWF.java
@@ -1,8 +1,6 @@
 package de.ids_mannheim.korap.query.parse.cosmas;
 
-import java.io.*;
 import org.antlr.runtime.*;
-import org.antlr.runtime.debug.DebugEventSocketProxy;
 import org.antlr.runtime.tree.*;
 
 /*
diff --git a/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_optCase.java b/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_optCase.java
index 8f1ad28..8a971d6 100644
--- a/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_optCase.java
+++ b/src/main/java/de/ids_mannheim/korap/query/parse/cosmas/c2ps_optCase.java
@@ -1,8 +1,6 @@
 package de.ids_mannheim.korap.query.parse.cosmas;
 
-import java.io.*;
 import org.antlr.runtime.*;
-import org.antlr.runtime.debug.DebugEventSocketProxy;
 import org.antlr.runtime.tree.*;
 
 // parses Case Options.
diff --git a/src/main/java/de/ids_mannheim/korap/query/serialize/Cosmas2QueryProcessor.java b/src/main/java/de/ids_mannheim/korap/query/serialize/Cosmas2QueryProcessor.java
index 8e41b38..c8cc39f 100644
--- a/src/main/java/de/ids_mannheim/korap/query/serialize/Cosmas2QueryProcessor.java
+++ b/src/main/java/de/ids_mannheim/korap/query/serialize/Cosmas2QueryProcessor.java
@@ -352,7 +352,7 @@
                         "TPEND");
 
                 LinkedHashMap<String, Object> submatchgroup = 
-                        KoralObjectGenerator.makeReference(classCounter);
+                        KoralObjectGenerator.makeReference(classCounter+128);
                 ArrayList<Object> submatchOperands = new ArrayList<Object>();
                 submatchgroup.put("operands", submatchOperands);
                 putIntoSuperObject(submatchgroup);
@@ -397,7 +397,7 @@
                         // constraint applies
                         if (conditionCount > 1) {
                             LinkedHashMap<String, Object> focus = 
-                                    KoralObjectGenerator.makeReference(classCounter - 2);
+                                    KoralObjectGenerator.makeReference(classCounter +128 - 2);
                             ArrayList<Object> focusOperands = new ArrayList<Object>();
                             focus.put("operands", focusOperands);
                             focusOperands.add(matchesGroup);
@@ -415,22 +415,22 @@
             }
 
             private void processOPNHIT(Tree node) {
-                Integer[] classRef = new Integer[] { classCounter + 1,
-                        classCounter + 2 };
+                Integer[] classRef = new Integer[] { classCounter + 128 + 1,
+                        classCounter + 128 + 2 };
                 // classRef.add(classCounter + 1); // yes, do this twice (two
                 // classes)!
                 LinkedHashMap<String, Object> group = 
-                        KoralObjectGenerator.makeReference(classCounter);
+                        KoralObjectGenerator.makeReference(classCounter+128);
                 LinkedHashMap<String, Object> classRefCheck = 
                         KoralObjectGenerator.makeClassRefOp("classRefOp:inversion", classRef,
-                                classCounter);
+                                classCounter+128);
                 ArrayList<Object> operands = new ArrayList<Object>();
                 operands.add(classRefCheck);
                 group.put("operands", operands);
                 classCounter++;
                 // direct child is OPPROX
-                wrapOperandInClass(node.getChild(0), 1, classCounter++); 
-                wrapOperandInClass(node.getChild(0), 2, classCounter++);
+                wrapOperandInClass(node.getChild(0), 1, 128+classCounter++); 
+                wrapOperandInClass(node.getChild(0), 2, 128+classCounter++);
                 objectStack.push(classRefCheck);
                 stackedObjects++;
                 putIntoSuperObject(group, 1);
@@ -457,8 +457,8 @@
             private void processOPIN_OPOV(Tree node) {
                 // Step I: create group
                 String nodeCat = getNodeCat(node);
-                wrapOperandInClass(node, 2, classCounter++);
-                wrapOperandInClass(node, 1, classCounter++);
+                wrapOperandInClass(node, 2, 128+classCounter++);
+                wrapOperandInClass(node, 1, 128+classCounter++);
                 // LinkedHashMap<String, Object> posgroup =
                 // makePosition(null);
                 LinkedHashMap<String, Object> posGroup = KoralObjectGenerator
@@ -484,13 +484,13 @@
                 ArrayList<String> check = 
                         (ArrayList<String>) positionOptions.get("classRefCheck");
                 Integer[] classIn = 
-                        new Integer[] { classCounter - 2, classCounter - 1 };
+                        new Integer[] { classCounter+128-2, classCounter+128-1 };
                 LinkedHashMap<String, Object> topGroup;
                 if (! check.isEmpty()) {
                     // wrap position in a classRefCheck
                     topGroup = 
                             KoralObjectGenerator.makeClassRefCheck(check, classIn,
-                                    classCounter);
+                                    classCounter+128);
                     ((ArrayList<Object>) topGroup.get("operands")).add(posGroup);
                 } else {
                     topGroup = posGroup;
@@ -498,12 +498,12 @@
                 LinkedHashMap<String, Object> focusGroup = null;
                 if ((boolean) positionOptions.get("matchall") == true) {
                     focusGroup = KoralObjectGenerator.makeClassRefOp("classRefOp:delete", 
-                            new Integer[]{classCounter++}, classCounter);
+                            new Integer[]{128+classCounter++}, 128+classCounter);
                     ((ArrayList<Object>) focusGroup.get("operands")).add(topGroup);
                 }
                 else { // match only first argument
                     focusGroup = KoralObjectGenerator.wrapInReference(topGroup,
-                            classCounter-1);
+                            classCounter+128-1);
                     classCounter++;
                 }
                 // wrap in 'merge' operation if grouping option is set
@@ -599,8 +599,10 @@
                         || openNodeCats.get(1).equals("OPEND") 
                         || inOPALL 
                         || openNodeCats.get(1).equals("OPNHIT"))) {
-                    wrapOperandInClass(node, 1, classCounter);
-                    wrapOperandInClass(node, 2, classCounter);
+                    System.err.println(classCounter);
+                    wrapOperandInClass(node, 1, 128+classCounter);
+                    wrapOperandInClass(node, 2, 128+classCounter);
+                    System.err.println(classCounter);
                     // Deactivated, uncomment to wrap sequence in reference.
                     //            group = KoralObjectGenerator.wrapInReference(group,
                     //                    classCounter++);
@@ -1040,7 +1042,7 @@
                     positionGroup.put("exclude", true);
                 ArrayList<Object> posOperands = new ArrayList<Object>();
                 LinkedHashMap<String, Object> classGroup = 
-                        KoralObjectGenerator.makeSpanClass(classCounter++);
+                        KoralObjectGenerator.makeSpanClass(128+classCounter++);
                 classGroup.put("operands", distributedOperands);
                 positionGroup.put("operands", posOperands);
                 LinkedHashMap<String, Object> span = new LinkedHashMap<String, Object>();
diff --git a/src/main/java/de/ids_mannheim/korap/query/serialize/PoliqarpPlusQueryProcessor.java b/src/main/java/de/ids_mannheim/korap/query/serialize/PoliqarpPlusQueryProcessor.java
index 23958fa..b07d0f9 100644
--- a/src/main/java/de/ids_mannheim/korap/query/serialize/PoliqarpPlusQueryProcessor.java
+++ b/src/main/java/de/ids_mannheim/korap/query/serialize/PoliqarpPlusQueryProcessor.java
@@ -454,8 +454,9 @@
             catch (NumberFormatException e) {
                 String msg = "The specified class reference in the "
                         + "focus/split-Operator is not a number: " + ref;
+                classId = 0;
                 log.error(msg);
-                addError(StatusCodes.UNDEFINED_CLASS_REFERENCE, msg);
+                addError(StatusCodes.INVALID_CLASS_REFERENCE, msg);
             }
             // only allow class id up to 127
             if (classId > 128) {
@@ -464,7 +465,7 @@
                         + "Check for possible conflict with other classes.");
                 classId = 128;
             }
-        }
+        } 
         LinkedHashMap<String, Object> classGroup = 
                 KoralObjectGenerator.makeSpanClass(classId);
         addHighlightClass(classId);
@@ -502,13 +503,13 @@
                     catch (NumberFormatException e) {
                         String err = "The specified class reference in the "
                                 + "shrink/split-Operator is not a number.";
-                        addError(StatusCodes.UNDEFINED_CLASS_REFERENCE, err);
+                        addError(StatusCodes.INVALID_CLASS_REFERENCE, err);
                     }
                 }
             }
         }
         else {
-            classRefs.add(1);
+            classRefs.add(1); // default
         }
         LinkedHashMap<String, Object> referenceGroup = 
                 KoralObjectGenerator.makeReference(classRefs);
diff --git a/src/main/java/de/ids_mannheim/korap/query/serialize/util/KoralObjectGenerator.java b/src/main/java/de/ids_mannheim/korap/query/serialize/util/KoralObjectGenerator.java
index 610c83e..8fdf565 100644
--- a/src/main/java/de/ids_mannheim/korap/query/serialize/util/KoralObjectGenerator.java
+++ b/src/main/java/de/ids_mannheim/korap/query/serialize/util/KoralObjectGenerator.java
@@ -114,12 +114,7 @@
                     + "your query for later reference to a part of the query. The class id is "
                     + classId);
         }
-        group.put("class", classId);
         group.put("classOut", classId);
-        qp.addMessage(
-                StatusCodes.DEPRECATED_QUERY_ELEMENT,
-                "Deprecated 2014-10-07: 'class' only to be supported until 3 months from deprecation date. "
-                        + "Classes are now defined using the 'classOut' attribute.");
         group.put("operands", new ArrayList<Object>());
         return group;
     }
@@ -132,11 +127,6 @@
         group.put("classRefCheck", check);
         group.put("classIn", Arrays.asList(classIn));
         group.put("classOut", classOut);
-        group.put("class", classOut);
-        qp.addMessage(
-                StatusCodes.DEPRECATED_QUERY_ELEMENT,
-                "Deprecated 2014-10-07: 'class' only to be supported until 3 months from deprecation date. "
-                        + "Classes are now defined using the 'classOut' attribute.");
         group.put("operands", new ArrayList<Object>());
         return group;
     }
diff --git a/src/main/java/de/ids_mannheim/korap/query/serialize/util/StatusCodes.java b/src/main/java/de/ids_mannheim/korap/query/serialize/util/StatusCodes.java
index 6416b0e..993ba38 100644
--- a/src/main/java/de/ids_mannheim/korap/query/serialize/util/StatusCodes.java
+++ b/src/main/java/de/ids_mannheim/korap/query/serialize/util/StatusCodes.java
@@ -4,7 +4,7 @@
 	public final static int NO_QUERY = 301;
 	public final static int MALFORMED_QUERY = 302;
 	public final static int DEPRECATED_QUERY_ELEMENT = 303;
-	public final static int UNDEFINED_CLASS_REFERENCE = 304;
+	public final static int INVALID_CLASS_REFERENCE = 304;
 	public final static int INCOMPATIBLE_OPERATOR_AND_OPERAND = 305;
 	public final static int UNKNOWN_QUERY_ELEMENT = 306;
 	public final static int UNKNOWN_QL = 307;