Implemented FCS Group queries and added tests.
Change-Id: Id98662146a13fa3ee2b2dc019e273c501454027c
diff --git a/src/main/java/de/ids_mannheim/korap/query/parse/fcsql/ExpressionParser.java b/src/main/java/de/ids_mannheim/korap/query/parse/fcsql/ExpressionParser.java
index 5d767a9..1dc4a4b 100644
--- a/src/main/java/de/ids_mannheim/korap/query/parse/fcsql/ExpressionParser.java
+++ b/src/main/java/de/ids_mannheim/korap/query/parse/fcsql/ExpressionParser.java
@@ -64,7 +64,8 @@
//
// }
else if (queryNode instanceof ExpressionNot) {
- return parseExpression(queryNode.getChild(0), true, true);
+ boolean negation = isNot ? false : true;
+ return parseExpression(queryNode.getChild(0), negation, isToken);
}
else if (queryNode instanceof ExpressionOr) {
List<QueryNode> operands = queryNode.getChildren();
diff --git a/src/main/java/de/ids_mannheim/korap/query/parse/fcsql/FCSSRUQueryParser.java b/src/main/java/de/ids_mannheim/korap/query/parse/fcsql/FCSSRUQueryParser.java
index a98cc6e..ba440a3 100644
--- a/src/main/java/de/ids_mannheim/korap/query/parse/fcsql/FCSSRUQueryParser.java
+++ b/src/main/java/de/ids_mannheim/korap/query/parse/fcsql/FCSSRUQueryParser.java
@@ -8,6 +8,7 @@
import de.ids_mannheim.korap.query.serialize.FCSQLQueryProcessor;
import de.ids_mannheim.korap.query.serialize.util.StatusCodes;
import eu.clarin.sru.server.fcs.parser.QueryDisjunction;
+import eu.clarin.sru.server.fcs.parser.QueryGroup;
import eu.clarin.sru.server.fcs.parser.QueryNode;
import eu.clarin.sru.server.fcs.parser.QuerySegment;
import eu.clarin.sru.server.fcs.parser.QuerySequence;
@@ -26,8 +27,9 @@
if (queryNode instanceof QuerySegment) {
return parseQuerySegment((QuerySegment) queryNode);
- // } else if (queryNode instanceof QueryGroup) {
- //
+ }
+ else if (queryNode instanceof QueryGroup) {
+ return parseQueryNode(queryNode.getChild(0));
}
else if (queryNode instanceof QuerySequence) {
return parseGroupQuery(queryNode.getChildren(),