Improved error handling for antlr3 and antlr4 trees:
- Error listeners and message formatters
- Cosmas grammar incorporates setter method for error listener
- No more QueryExceptions, instead return empty query serialization along with error msg
diff --git a/src/test/java/CosmasTreeTest.java b/src/test/java/CosmasTreeTest.java
index fe6370e..03ab986 100644
--- a/src/test/java/CosmasTreeTest.java
+++ b/src/test/java/CosmasTreeTest.java
@@ -595,6 +595,14 @@
assertEquals(true, res.at("/query/operands/0/operands/0/frames/1").isMissingNode());
assertEquals(true, res.at("/query/operands/0/operands/0/exclude").asBoolean());
+ query = "wegen #IN(FE,%,MIN) <s>";
+ qs.setQuery(query, "cosmas2");
+ res = mapper.readTree(qs.toJSON());
+ assertEquals(true, res.at("/query/reset").isMissingNode());
+ assertEquals("classRefCheck:equals", res.at("/query/operands/0/classRefCheck/0").asText());
+ assertEquals("frames:matches", res.at("/query/operands/0/operands/0/frames/0").asText());
+ assertEquals(true, res.at("/query/operands/0/operands/0/exclude").asBoolean());
+
query = "wegen #IN(FE,ALL,%,MIN) <s>";
qs.setQuery(query, "cosmas2");
res = mapper.readTree(qs.toJSON());
@@ -602,7 +610,6 @@
assertEquals("classRefCheck:equals", res.at("/query/operands/0/classRefCheck/0").asText());
assertEquals("frames:matches", res.at("/query/operands/0/operands/0/frames/0").asText());
assertEquals(true, res.at("/query/operands/0/operands/0/exclude").asBoolean());
-
}
@Test