Bump eu.clarin.sru.fcs:fcs-simple-endpoint from 1.8.0 to 2.0.0 (fixes #251)
Bumps [eu.clarin.sru.fcs:fcs-simple-endpoint](https://github.com/clarin-eric/fcs-simple-endpoint) from 1.8.0 to 2.0.0.
- [Changelog](https://github.com/clarin-eric/fcs-simple-endpoint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/clarin-eric/fcs-simple-endpoint/compare/FCSSimpleEndpoint-1.8.0...FCSSimpleEndpoint-2.0.0)
---
updated-dependencies:
- dependency-name: eu.clarin.sru.fcs:fcs-simple-endpoint
dependency-version: 2.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Change-Id: I2e0b3d4f88c0c73bf8174cfee75732b856fedf60
Signed-off-by: dependabot[bot] <support@github.com>
Reviewed-on: https://korap.ids-mannheim.de/gerrit/c/KorAP/Koral/+/10803
Reviewed-by: Nils Diewald <nils@diewald-online.de>
diff --git a/pom.xml b/pom.xml
index 245c08c..4f38935 100644
--- a/pom.xml
+++ b/pom.xml
@@ -41,7 +41,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jackson.version>2.21.3</jackson.version>
<jackson.annotations.version>2.21</jackson.annotations.version>
- <antlr4.version>4.9.3</antlr4.version>
+ <antlr4.version>4.13.2</antlr4.version>
<antlr3.version>3.5.3</antlr3.version>
<java.version>21</java.version>
<log4j.version>2.25.4</log4j.version>
@@ -151,7 +151,7 @@
<dependency>
<groupId>eu.clarin.sru.fcs</groupId>
<artifactId>fcs-simple-endpoint</artifactId>
- <version>1.8.0</version>
+ <version>2.0.0</version>
</dependency>
</dependencies>
<build>
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 c4184d4..2858397 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
@@ -15,15 +15,15 @@
import de.ids_mannheim.korap.query.object.KoralToken;
import de.ids_mannheim.korap.query.serialize.util.KoralException;
import de.ids_mannheim.korap.query.serialize.util.StatusCodes;
-import eu.clarin.sru.server.fcs.parser.Expression;
-import eu.clarin.sru.server.fcs.parser.ExpressionAnd;
-import eu.clarin.sru.server.fcs.parser.ExpressionGroup;
-import eu.clarin.sru.server.fcs.parser.ExpressionNot;
-import eu.clarin.sru.server.fcs.parser.ExpressionOr;
-import eu.clarin.sru.server.fcs.parser.ExpressionWildcard;
-import eu.clarin.sru.server.fcs.parser.Operator;
-import eu.clarin.sru.server.fcs.parser.QueryNode;
-import eu.clarin.sru.server.fcs.parser.RegexFlag;
+import eu.clarin.sru.fcs.qlparser.fcs.Expression;
+import eu.clarin.sru.fcs.qlparser.fcs.ExpressionAnd;
+import eu.clarin.sru.fcs.qlparser.fcs.ExpressionGroup;
+import eu.clarin.sru.fcs.qlparser.fcs.ExpressionNot;
+import eu.clarin.sru.fcs.qlparser.fcs.ExpressionOr;
+import eu.clarin.sru.fcs.qlparser.fcs.ExpressionWildcard;
+import eu.clarin.sru.fcs.qlparser.fcs.Operator;
+import eu.clarin.sru.fcs.qlparser.fcs.QueryNode;
+import eu.clarin.sru.fcs.qlparser.fcs.RegexFlag;
/**
* This class handles and parses various FCSQL expressions (e.g.
@@ -81,16 +81,15 @@
List<QueryNode> operands = queryNode.getChildren();
if (isNot) {
return parseBooleanExpression(operands,
- KoralTermGroupRelation.OR, isToken);
+ KoralTermGroupRelation.OR, isNot, isToken);
}
else {
return parseBooleanExpression(operands,
- KoralTermGroupRelation.AND, isToken);
+ KoralTermGroupRelation.AND, isNot, isToken);
}
}
else if (queryNode instanceof ExpressionGroup) {
- // Ignore the group
- return parseExpression(queryNode.getFirstChild(), false, isToken);
+ return parseExpression(queryNode.getFirstChild(), isNot, isToken);
}
else if (queryNode instanceof ExpressionNot) {
boolean negation = isNot ? false : true;
@@ -100,11 +99,11 @@
List<QueryNode> operands = queryNode.getChildren();
if (isNot) {
return parseBooleanExpression(operands,
- KoralTermGroupRelation.AND, isToken);
+ KoralTermGroupRelation.AND, isNot, isToken);
}
else {
return parseBooleanExpression(operands,
- KoralTermGroupRelation.OR, isToken);
+ KoralTermGroupRelation.OR, isNot, isToken);
}
}
else if (queryNode instanceof ExpressionWildcard) {
@@ -129,10 +128,10 @@
* @throws KoralException
*/
private KoralObject parseBooleanExpression(List<QueryNode> operands,
- KoralTermGroupRelation relation, boolean isToken) throws KoralException {
+ KoralTermGroupRelation relation, boolean isNot, boolean isToken) throws KoralException {
List<KoralObject> terms = new ArrayList<>();
for (QueryNode node : operands) {
- terms.add(parseExpression(node, false, false));
+ terms.add(parseExpression(node, isNot, false));
}
KoralTermGroup termGroup = new KoralTermGroup(relation, terms);
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 3babf9c..4039001 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
@@ -16,15 +16,15 @@
import de.ids_mannheim.korap.query.object.KoralOperation;
import de.ids_mannheim.korap.query.object.KoralSpan;
import de.ids_mannheim.korap.query.object.KoralTerm;
-import eu.clarin.sru.server.fcs.parser.ExpressionWildcard;
-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;
-import eu.clarin.sru.server.fcs.parser.QueryWithWithin;
-import eu.clarin.sru.server.fcs.parser.SimpleWithin;
-import eu.clarin.sru.server.fcs.parser.SimpleWithin.Scope;
+import eu.clarin.sru.fcs.qlparser.fcs.ExpressionWildcard;
+import eu.clarin.sru.fcs.qlparser.fcs.QueryDisjunction;
+import eu.clarin.sru.fcs.qlparser.fcs.QueryGroup;
+import eu.clarin.sru.fcs.qlparser.fcs.QueryNode;
+import eu.clarin.sru.fcs.qlparser.fcs.QuerySegment;
+import eu.clarin.sru.fcs.qlparser.fcs.QuerySequence;
+import eu.clarin.sru.fcs.qlparser.fcs.QueryWithWithin;
+import eu.clarin.sru.fcs.qlparser.fcs.SimpleWithin;
+import eu.clarin.sru.fcs.qlparser.fcs.SimpleWithin.Scope;
/** This class handles FCS query nodes from the FCSParser converting FCSQL to Java objects.
*
diff --git a/src/main/java/de/ids_mannheim/korap/query/serialize/FCSQLQueryProcessor.java b/src/main/java/de/ids_mannheim/korap/query/serialize/FCSQLQueryProcessor.java
index 671f505..54e347a 100644
--- a/src/main/java/de/ids_mannheim/korap/query/serialize/FCSQLQueryProcessor.java
+++ b/src/main/java/de/ids_mannheim/korap/query/serialize/FCSQLQueryProcessor.java
@@ -8,9 +8,9 @@
import de.ids_mannheim.korap.query.serialize.util.StatusCodes;
import eu.clarin.sru.server.SRUQueryBase;
import eu.clarin.sru.server.fcs.Constants;
-import eu.clarin.sru.server.fcs.parser.QueryNode;
-import eu.clarin.sru.server.fcs.parser.QueryParser;
-import eu.clarin.sru.server.fcs.parser.QueryParserException;
+import eu.clarin.sru.fcs.qlparser.QueryParserException;
+import eu.clarin.sru.fcs.qlparser.fcs.QueryNode;
+import eu.clarin.sru.fcs.qlparser.fcs.QueryParser;
/** FCSQLQueryProcessor is accountable for the serialization of FCSQL
* to KoralQuery. The KoralQuery is structured as a map containing
diff --git a/src/test/java/de/ids_mannheim/korap/query/test/fcsql/FCSQLQueryProcessorTest.java b/src/test/java/de/ids_mannheim/korap/query/test/fcsql/FCSQLQueryProcessorTest.java
index 41f37fe..521abc8 100644
--- a/src/test/java/de/ids_mannheim/korap/query/test/fcsql/FCSQLQueryProcessorTest.java
+++ b/src/test/java/de/ids_mannheim/korap/query/test/fcsql/FCSQLQueryProcessorTest.java
@@ -284,11 +284,7 @@
+ " operands:["
+ "{@type: koral:term, key: sein, foundry: tt, layer: l, type:type:regex, match: match:ne},"
+ "{@type: koral:term, key: PPOSS, foundry: tt, layer: p, type:type:regex, match: match:ne}]}}";
- //FCSQLQueryProcessorTest.runAndValidate(query, jsonLd);
-
- error = getError(new FCSQLQueryProcessor(query));
- assertEquals(399, error.get(0));
- assertTrue(error.get(1).toString().startsWith("Query cannot be parsed"));
+ FCSQLQueryProcessorTest.runAndValidate(query, jsonLd);
}
@Test