Add API version to KoralCollectionQueryBuilder (#806)
Change-Id: I413c642704ee62d981d951228bdb71283b4d303a
diff --git a/Changes b/Changes
index 6e14348..f9faab0 100644
--- a/Changes
+++ b/Changes
@@ -10,6 +10,7 @@
- Add API version to the search service (#806)
- Add API version to ResourceParser & ServiceInfo (#806)
- Update Query QuerySerializer with API version in the test suite (#806)
+- Add API version to KoralCollectionQueryBuilder (#806)
# version 0.79.1
diff --git a/src/main/java/de/ids_mannheim/korap/core/service/BasicService.java b/src/main/java/de/ids_mannheim/korap/core/service/BasicService.java
index da07290..cfd6e1c 100644
--- a/src/main/java/de/ids_mannheim/korap/core/service/BasicService.java
+++ b/src/main/java/de/ids_mannheim/korap/core/service/BasicService.java
@@ -51,9 +51,10 @@
return user;
}
- protected String buildKoralQueryFromCorpusQuery (List<String> cqList)
- throws KustvaktException {
- KoralCollectionQueryBuilder builder = new KoralCollectionQueryBuilder();
+ protected String buildKoralQueryFromCorpusQuery (List<String> cqList,
+ double apiVersion) throws KustvaktException {
+ KoralCollectionQueryBuilder builder = new KoralCollectionQueryBuilder(
+ apiVersion);
String cq = combineMultipleCorpusQuery(cqList);
String json = null;
if (cq != null && !cq.isEmpty()) {
diff --git a/src/main/java/de/ids_mannheim/korap/core/service/StatisticService.java b/src/main/java/de/ids_mannheim/korap/core/service/StatisticService.java
index 54452fa..aae79dd 100644
--- a/src/main/java/de/ids_mannheim/korap/core/service/StatisticService.java
+++ b/src/main/java/de/ids_mannheim/korap/core/service/StatisticService.java
@@ -18,9 +18,10 @@
private RewriteHandler statisticsRewriteHandler;
public String retrieveStatisticsForCorpusQuery (List<String> cqList,
- String username, HttpHeaders headers) throws KustvaktException {
+ String username, HttpHeaders headers, double apiVersion)
+ throws KustvaktException {
- String json = buildKoralQueryFromCorpusQuery(cqList);
+ String json = buildKoralQueryFromCorpusQuery(cqList, apiVersion);
//System.out.println("Before:" + json + "\n");
if (!cqList.isEmpty() && !combineMultipleCorpusQuery(cqList).isEmpty()) {
User user = createUser(username, headers);
diff --git a/src/main/java/de/ids_mannheim/korap/core/web/controller/StatisticController.java b/src/main/java/de/ids_mannheim/korap/core/web/controller/StatisticController.java
index 998f48a..466fa24 100644
--- a/src/main/java/de/ids_mannheim/korap/core/web/controller/StatisticController.java
+++ b/src/main/java/de/ids_mannheim/korap/core/web/controller/StatisticController.java
@@ -22,9 +22,11 @@
import jakarta.ws.rs.Path;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.container.ContainerRequestContext;
import jakarta.ws.rs.core.Context;
import jakarta.ws.rs.core.HttpHeaders;
import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.PathSegment;
import jakarta.ws.rs.core.Response;
import jakarta.ws.rs.core.SecurityContext;
@@ -70,16 +72,22 @@
*/
@GET
public Response getStatistics (@Context SecurityContext securityContext,
+ @Context ContainerRequestContext requestContext,
@Context Locale locale, @Context HttpHeaders headers,
@QueryParam("cq") List<String> cq) {
+ List<PathSegment> pathSegments = requestContext.getUriInfo()
+ .getPathSegments();
+ String version = pathSegments.get(0).getPath();
+ double apiVersion = Double.parseDouble(version.substring(1));
+
TokenContext context = (TokenContext) securityContext
.getUserPrincipal();
String stats;
try {
stats = service.retrieveStatisticsForCorpusQuery(cq,
- context.getUsername(), headers);
+ context.getUsername(), headers, apiVersion);
if (DEBUG) {
jlog.debug("Stats: " + stats);
}
diff --git a/src/main/java/de/ids_mannheim/korap/service/QueryService.java b/src/main/java/de/ids_mannheim/korap/service/QueryService.java
index faf5375..5d0a4f9 100644
--- a/src/main/java/de/ids_mannheim/korap/service/QueryService.java
+++ b/src/main/java/de/ids_mannheim/korap/service/QueryService.java
@@ -110,37 +110,37 @@
}
}
- public List<QueryDto> listOwnerQuery (String username, QueryType queryType)
- throws KustvaktException {
+ public List<QueryDto> listOwnerQuery (String username, QueryType queryType,
+ double apiVersion) throws KustvaktException {
List<QueryDO> list = queryDao.retrieveOwnerQuery(username, queryType);
- return createQueryDtos(list, queryType);
+ return createQueryDtos(list, queryType, apiVersion);
}
- public List<QueryDto> listSystemQuery (QueryType queryType)
- throws KustvaktException {
+ public List<QueryDto> listSystemQuery (QueryType queryType,
+ double apiVersion) throws KustvaktException {
List<QueryDO> list = queryDao.retrieveQueryByType(ResourceType.SYSTEM,
null, queryType);
- return createQueryDtos(list, queryType);
+ return createQueryDtos(list, queryType, apiVersion);
}
public List<QueryDto> listAvailableQueryForUser (String username,
- QueryType queryType) throws KustvaktException {
+ QueryType queryType, double apiVersion) throws KustvaktException {
List<QueryDO> list = queryDao.retrieveQueryByUser(username, queryType);
- return createQueryDtos(list, queryType);
+ return createQueryDtos(list, queryType, apiVersion);
}
public List<QueryDto> listQueryByType (String createdBy, ResourceType type,
- QueryType queryType) throws KustvaktException {
+ QueryType queryType, double apiVersion) throws KustvaktException {
List<QueryDO> virtualCorpora = queryDao.retrieveQueryByType(type,
createdBy, queryType);
Collections.sort(virtualCorpora);
- return createQueryDtos(virtualCorpora, queryType);
+ return createQueryDtos(virtualCorpora, queryType, apiVersion);
}
private ArrayList<QueryDto> createQueryDtos (List<QueryDO> queryList,
- QueryType queryType) throws KustvaktException {
+ QueryType queryType, double apiVersion) throws KustvaktException {
ArrayList<QueryDto> dtos = new ArrayList<>(queryList.size());
QueryDO query;
Iterator<QueryDO> i = queryList.iterator();
@@ -259,7 +259,7 @@
if (corpusQuery != null && !corpusQuery.isEmpty()) {
koralQuery = serializeCorpusQuery(corpusQuery, apiVersion);
requiredAccess = determineRequiredAccess(newQuery.isCached(),
- queryName, koralQuery);
+ queryName, koralQuery, apiVersion);
}
else if (query != null && !query.isEmpty() && queryLanguage != null
&& !queryLanguage.isEmpty()) {
@@ -329,7 +329,7 @@
storeQuery(username, queryName, query.getType(), query.getQueryType(),
koralQuery, query.getDefinition(), query.getDescription(),
query.getStatus(), query.isCached(), queryCreator,
- query.getQuery(), query.getQueryLanguage());
+ query.getQuery(), query.getQueryLanguage(), apiVersion);
}
private boolean checkNumberOfQueryLimit (String username,
@@ -364,17 +364,17 @@
ResourceType type, QueryType queryType, String koralQuery,
String definition, String description, String status,
boolean isCached, String queryCreator, String query,
- String queryLanguage) throws KustvaktException {
+ String queryLanguage, double apiVersion) throws KustvaktException {
storeQuery(null, username, queryName, type, queryType, koralQuery,
definition, description, status, isCached, queryCreator, query,
- queryLanguage);
+ queryLanguage, apiVersion);
}
public void storeQuery (QueryDO existingQuery, String username, String queryName,
ResourceType type, QueryType queryType, String koralQuery,
String definition, String description, String status,
boolean isCached, String queryCreator, String query,
- String queryLanguage) throws KustvaktException {
+ String queryLanguage, double apiVersion) throws KustvaktException {
ParameterChecker.checkNameValue(queryName, "queryName");
ParameterChecker.checkObjectValue(type, "type");
@@ -401,7 +401,7 @@
CorpusAccess requiredAccess = CorpusAccess.FREE;
if (queryType.equals(QueryType.VIRTUAL_CORPUS)) {
requiredAccess = determineRequiredAccess(isCached, queryName,
- koralQuery);
+ koralQuery, apiVersion);
}
if (DEBUG) {
@@ -472,10 +472,11 @@
}
public CorpusAccess determineRequiredAccess (boolean isCached, String name,
- String koralQuery) throws KustvaktException {
+ String koralQuery, double apiVersion) throws KustvaktException {
if (isCached) {
- KoralCollectionQueryBuilder koral = new KoralCollectionQueryBuilder();
+ KoralCollectionQueryBuilder koral =
+ new KoralCollectionQueryBuilder(apiVersion);
koral.with("referTo " + name);
koralQuery = koral.toJSON();
if (DEBUG) {
@@ -484,20 +485,23 @@
}
- if (findDocWithLicense(koralQuery, config.getAllOnlyRegex())) {
- return CorpusAccess.ALL;
- }
- else if (findDocWithLicense(koralQuery, config.getPublicOnlyRegex())) {
- return CorpusAccess.PUB;
+ if (findDocWithLicense(koralQuery, config.getAllOnlyRegex(),
+ apiVersion)) {
+ return CorpusAccess.ALL;
+ }
+ else if (findDocWithLicense(koralQuery, config.getPublicOnlyRegex(),
+ apiVersion)) {
+ return CorpusAccess.PUB;
}
else {
return CorpusAccess.FREE;
}
}
- private boolean findDocWithLicense (String koralQuery, String license)
- throws KustvaktException {
- KoralCollectionQueryBuilder koral = new KoralCollectionQueryBuilder();
+ private boolean findDocWithLicense (String koralQuery, String license,
+ double apiVersion) throws KustvaktException {
+ KoralCollectionQueryBuilder koral =
+ new KoralCollectionQueryBuilder(apiVersion);
koral.setBaseQuery(koralQuery);
koral.with("availability=/" + license + "/");
String json = koral.toJSON();
@@ -721,7 +725,8 @@
}
public QueryDto retrieveQueryByName (String username, String queryName,
- String createdBy, QueryType queryType) throws KustvaktException {
+ String createdBy, QueryType queryType, double apiVersion)
+ throws KustvaktException {
QueryDO query = searchQueryByName(username, queryName, createdBy,
queryType);
@@ -731,7 +736,7 @@
if (query.isCached()) {
List<String> cqList = new ArrayList<>(1);
cqList.add("referTo " + query.getName());
- json = buildKoralQueryFromCorpusQuery(cqList);
+ json = buildKoralQueryFromCorpusQuery(cqList, apiVersion);
}
else {
json = query.getKoralQuery();
diff --git a/src/main/java/de/ids_mannheim/korap/utils/KoralCollectionQueryBuilder.java b/src/main/java/de/ids_mannheim/korap/utils/KoralCollectionQueryBuilder.java
index 28e75e9..286920d 100644
--- a/src/main/java/de/ids_mannheim/korap/utils/KoralCollectionQueryBuilder.java
+++ b/src/main/java/de/ids_mannheim/korap/utils/KoralCollectionQueryBuilder.java
@@ -30,16 +30,18 @@
private JsonNode base;
private StringBuilder builder;
private String mergeOperator;
+ private double apiVersion;
- public KoralCollectionQueryBuilder () {
- this(false);
+ public KoralCollectionQueryBuilder (double apiVersion) {
+ this(false, apiVersion);
}
- public KoralCollectionQueryBuilder (boolean verbose) {
+ public KoralCollectionQueryBuilder (boolean verbose, double apiVersion) {
this.verbose = verbose;
this.builder = new StringBuilder();
this.base = null;
this.mergeOperator = null;
+ this.apiVersion = apiVersion;
}
/**
@@ -102,7 +104,7 @@
JsonNode request = null;
if (this.builder.length() != 0) {
CollectionQueryProcessor tree = new CollectionQueryProcessor(
- this.verbose);
+ this.verbose, apiVersion);
tree.process(this.builder.toString());
if (tree.getErrors().size() > 0) {
// legacy support
@@ -143,11 +145,14 @@
}
public JsonNode mergeWith (JsonNode node) {
+ String nodeName = (apiVersion >= 1.1) ? "corpus"
+ : "collection";
+
if (this.base != null) {
if (node != null) {
- JsonNode tobase = node.at("/collection");
+ JsonNode tobase = node.at("/"+nodeName);
JsonNode base = this.base.deepCopy();
- JsonNode result = base.at("/collection");
+ JsonNode result = base.at("/"+nodeName);
if (result.isMissingNode() && !tobase.isMissingNode())
result = tobase;
@@ -159,7 +164,7 @@
? this.mergeOperator.toLowerCase()
: "and", result, tobase);
}
- ((ObjectNode) base).put("collection", result);
+ ((ObjectNode) base).put(nodeName, result);
return base;
}
return this.base;
diff --git a/src/main/java/de/ids_mannheim/korap/web/controller/QueryReferenceController.java b/src/main/java/de/ids_mannheim/korap/web/controller/QueryReferenceController.java
index faf2a73..97ffc41 100644
--- a/src/main/java/de/ids_mannheim/korap/web/controller/QueryReferenceController.java
+++ b/src/main/java/de/ids_mannheim/korap/web/controller/QueryReferenceController.java
@@ -130,14 +130,21 @@
DemoUserFilter.class})
public QueryDto retrieveQueryByName (
@Context SecurityContext securityContext,
+ @Context ContainerRequestContext requestContext,
@PathParam("createdBy") String createdBy,
@PathParam("qName") String qName) {
+
+ List<PathSegment> pathSegments = requestContext.getUriInfo()
+ .getPathSegments();
+ String version = pathSegments.get(0).getPath();
+ double apiVersion = Double.parseDouble(version.substring(1));
+
TokenContext context = (TokenContext) securityContext
.getUserPrincipal();
try {
scopeService.verifyScope(context, OAuth2Scope.VC_INFO);
return service.retrieveQueryByName(context.getUsername(), qName,
- createdBy, QueryType.QUERY);
+ createdBy, QueryType.QUERY, apiVersion);
}
catch (KustvaktException e) {
throw kustvaktResponseHandler.throwit(e);
@@ -194,13 +201,19 @@
@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8")
public List<QueryDto> listAvailableQuery (
@Context SecurityContext securityContext,
+ @Context ContainerRequestContext requestContext,
@QueryParam("username") String username) {
+ List<PathSegment> pathSegments = requestContext.getUriInfo()
+ .getPathSegments();
+ String version = pathSegments.get(0).getPath();
+ double apiVersion = Double.parseDouble(version.substring(1));
+
TokenContext context = (TokenContext) securityContext
.getUserPrincipal();
try {
scopeService.verifyScope(context, OAuth2Scope.VC_INFO);
List<QueryDto> dtos = service.listAvailableQueryForUser(
- context.getUsername(), QueryType.QUERY);
+ context.getUsername(), QueryType.QUERY, apiVersion);
return dtos;
}
catch (KustvaktException e) {
diff --git a/src/main/java/de/ids_mannheim/korap/web/controller/VirtualCorpusAdminController.java b/src/main/java/de/ids_mannheim/korap/web/controller/VirtualCorpusAdminController.java
index 0613a47..86ef738 100644
--- a/src/main/java/de/ids_mannheim/korap/web/controller/VirtualCorpusAdminController.java
+++ b/src/main/java/de/ids_mannheim/korap/web/controller/VirtualCorpusAdminController.java
@@ -20,7 +20,10 @@
import jakarta.ws.rs.POST;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Context;
import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.PathSegment;
import jakarta.ws.rs.core.Response;
import jakarta.ws.rs.core.Response.Status;
@@ -66,11 +69,16 @@
@Path("list")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public List<QueryDto> listVCByType (
+ @Context ContainerRequestContext requestContext,
@FormParam("createdBy") String createdBy,
@FormParam("type") ResourceType type) {
+ List<PathSegment> pathSegments = requestContext.getUriInfo()
+ .getPathSegments();
+ String version = pathSegments.get(0).getPath();
+ double apiVersion = Double.parseDouble(version.substring(1));
try {
return service.listQueryByType(createdBy, type,
- QueryType.VIRTUAL_CORPUS);
+ QueryType.VIRTUAL_CORPUS, apiVersion);
}
catch (KustvaktException e) {
throw kustvaktResponseHandler.throwit(e);
diff --git a/src/main/java/de/ids_mannheim/korap/web/controller/VirtualCorpusController.java b/src/main/java/de/ids_mannheim/korap/web/controller/VirtualCorpusController.java
index 1374278..418b542 100644
--- a/src/main/java/de/ids_mannheim/korap/web/controller/VirtualCorpusController.java
+++ b/src/main/java/de/ids_mannheim/korap/web/controller/VirtualCorpusController.java
@@ -150,14 +150,19 @@
@ResourceFilters({ APIVersionFilter.class, AuthenticationFilter.class,
DemoUserFilter.class})
public QueryDto retrieveVCByName (@Context SecurityContext securityContext,
+ @Context ContainerRequestContext requestContext,
@PathParam("createdBy") String createdBy,
@PathParam("vcName") String vcName) {
TokenContext context = (TokenContext) securityContext
.getUserPrincipal();
+ List<PathSegment> pathSegments = requestContext.getUriInfo()
+ .getPathSegments();
+ String version = pathSegments.get(0).getPath();
+ double apiVersion = Double.parseDouble(version.substring(1));
try {
scopeService.verifyScope(context, OAuth2Scope.VC_INFO);
return service.retrieveQueryByName(context.getUsername(), vcName,
- createdBy, QueryType.VIRTUAL_CORPUS);
+ createdBy, QueryType.VIRTUAL_CORPUS, apiVersion);
}
catch (KustvaktException e) {
throw kustvaktResponseHandler.throwit(e);
@@ -227,21 +232,27 @@
*/
@GET
public List<QueryDto> listAvailableVC (
+ @Context ContainerRequestContext requestContext,
@Context SecurityContext securityContext,
@QueryParam("filter-by") String filter) {
TokenContext context = (TokenContext) securityContext
.getUserPrincipal();
+ List<PathSegment> pathSegments = requestContext.getUriInfo()
+ .getPathSegments();
+ String version = pathSegments.get(0).getPath();
+ double apiVersion = Double.parseDouble(version.substring(1));
try {
scopeService.verifyScope(context, OAuth2Scope.VC_INFO);
if (filter != null && !filter.isEmpty()) {
filter = filter.toLowerCase();
if (filter.equals("system")) {
- return service.listSystemQuery(QueryType.VIRTUAL_CORPUS);
+ return service.listSystemQuery(QueryType.VIRTUAL_CORPUS,
+ apiVersion);
}
else if (filter.equals("own")) {
return service.listOwnerQuery(context.getUsername(),
- QueryType.VIRTUAL_CORPUS);
+ QueryType.VIRTUAL_CORPUS, apiVersion);
}
else {
throw new KustvaktException(StatusCodes.UNSUPPORTED_VALUE,
@@ -250,7 +261,7 @@
}
else {
return service.listAvailableQueryForUser(context.getUsername(),
- QueryType.VIRTUAL_CORPUS);
+ QueryType.VIRTUAL_CORPUS, apiVersion);
}
}
catch (KustvaktException e) {
diff --git a/src/test/java/de/ids_mannheim/korap/misc/CollectionQueryBuilderTest.java b/src/test/java/de/ids_mannheim/korap/misc/CollectionQueryBuilderTest.java
index a6855e6..c611cbc 100644
--- a/src/test/java/de/ids_mannheim/korap/misc/CollectionQueryBuilderTest.java
+++ b/src/test/java/de/ids_mannheim/korap/misc/CollectionQueryBuilderTest.java
@@ -20,7 +20,7 @@
@Test
public void testsimpleAdd () throws KustvaktException {
- KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder();
+ KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder(apiVersion);
b.with("corpusSigle=WPD");
JsonNode node = JsonUtils.readTree(b.toJSON());
assertNotNull(node);
@@ -30,7 +30,7 @@
@Test
public void testSimpleConjunction () throws KustvaktException {
- KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder();
+ KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder(apiVersion);
b.with("corpusSigle=WPD & textClass=freizeit");
JsonNode node = JsonUtils.readTree(b.toJSON());
assertNotNull(node);
@@ -45,7 +45,7 @@
@Test
public void testSimpleDisjunction () throws KustvaktException {
- KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder();
+ KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder(apiVersion);
b.with("corpusSigle=WPD | textClass=freizeit");
JsonNode node = JsonUtils.readTree(b.toJSON());
assertNotNull(node);
@@ -58,7 +58,7 @@
@Test
public void testComplexSubQuery () throws KustvaktException {
- KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder();
+ KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder(apiVersion);
b.with("(corpusSigle=WPD) | (textClass=freizeit & corpusSigle=BRZ13)");
JsonNode node = JsonUtils.readTree(b.toJSON());
assertNotNull(node);
@@ -71,9 +71,9 @@
@Test
public void testAddResourceQueryAfter () throws KustvaktException {
- KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder();
+ KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder(apiVersion);
b.with("(textClass=politik & title=\"random title\") | textClass=wissenschaft");
- KoralCollectionQueryBuilder c = new KoralCollectionQueryBuilder();
+ KoralCollectionQueryBuilder c = new KoralCollectionQueryBuilder(apiVersion);
c.setBaseQuery(b.toJSON());
c.with("corpusSigle=WPD");
JsonNode node = JsonUtils.readTree(c.toJSON());
@@ -97,9 +97,9 @@
@Test
public void testAddComplexResourceQueryAfter () throws KustvaktException {
- KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder();
+ KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder(apiVersion);
b.with("(title=\"random title\") | (textClass=wissenschaft)");
- KoralCollectionQueryBuilder c = new KoralCollectionQueryBuilder();
+ KoralCollectionQueryBuilder c = new KoralCollectionQueryBuilder(apiVersion);
c.setBaseQuery(b.toJSON());
c.with("(corpusSigle=BRZ13 | corpusSigle=AZPS)");
JsonNode node = JsonUtils.readTree(c.toJSON());
@@ -125,7 +125,7 @@
QuerySerializer check = new QuerySerializer(apiVersion);
check.setQuery(query, "poliqarp");
check.setCollection(coll);
- KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder();
+ KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder(apiVersion);
b.setBaseQuery(check.toJSON());
b.with("textClass=freizeit");
JsonNode res = (JsonNode) b.rebaseCollection();
@@ -152,9 +152,9 @@
@Test
public void testBaseQueryBuild () throws KustvaktException {
- KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder();
+ KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder(apiVersion);
b.with("(corpusSigle=ADF) | (textClass=freizeit & corpusSigle=WPD)");
- KoralCollectionQueryBuilder c = new KoralCollectionQueryBuilder();
+ KoralCollectionQueryBuilder c = new KoralCollectionQueryBuilder(apiVersion);
c.setBaseQuery(b.toJSON());
c.with("corpusSigle=BRZ13");
JsonNode base = (JsonNode) c.rebaseCollection();
@@ -175,9 +175,9 @@
QuerySerializer check = new QuerySerializer(apiVersion);
check.setQuery(query, "poliqarp");
check.setCollection(coll);
- KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder();
+ KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder(apiVersion);
b.setBaseQuery(check.toJSON());
- KoralCollectionQueryBuilder test = new KoralCollectionQueryBuilder();
+ KoralCollectionQueryBuilder test = new KoralCollectionQueryBuilder(apiVersion);
test.with("textClass=wissenschaft | textClass=politik");
JsonNode node = (JsonNode) test.rebaseCollection();
node = b.mergeWith(node);
@@ -193,9 +193,9 @@
String query = "[base=Haus]";
QuerySerializer check = new QuerySerializer(apiVersion);
check.setQuery(query, "poliqarp");
- KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder();
+ KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder(apiVersion);
b.setBaseQuery(check.toJSON());
- KoralCollectionQueryBuilder test = new KoralCollectionQueryBuilder();
+ KoralCollectionQueryBuilder test = new KoralCollectionQueryBuilder(apiVersion);
test.with("corpusSigle=WPD");
// String json = test.toJSON();
// System.out.println(json);
@@ -212,9 +212,9 @@
String query = "[base=Haus]";
QuerySerializer check = new QuerySerializer(apiVersion);
check.setQuery(query, "poliqarp");
- KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder();
+ KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder(apiVersion);
b.setBaseQuery(check.toJSON());
- KoralCollectionQueryBuilder test = new KoralCollectionQueryBuilder();
+ KoralCollectionQueryBuilder test = new KoralCollectionQueryBuilder(apiVersion);
// operator is not supposed to be here!
test.and().with("corpusSigle=WPD");
// String json = test.toJSON();
@@ -236,7 +236,7 @@
QuerySerializer check = new QuerySerializer(apiVersion);
check.setQuery(query, "poliqarp");
check.setCollection(coll);
- KoralCollectionQueryBuilder test = new KoralCollectionQueryBuilder();
+ KoralCollectionQueryBuilder test = new KoralCollectionQueryBuilder(apiVersion);
test.setBaseQuery(check.toJSON());
test.or().with("textClass=wissenschaft | textClass=politik");
JsonNode node = (JsonNode) test.rebaseCollection();
@@ -253,7 +253,7 @@
QuerySerializer check = new QuerySerializer(apiVersion);
check.setQuery(query, "poliqarp");
check.setCollection(coll);
- KoralCollectionQueryBuilder test = new KoralCollectionQueryBuilder();
+ KoralCollectionQueryBuilder test = new KoralCollectionQueryBuilder(apiVersion);
test.setBaseQuery(check.toJSON());
test.and().with("textClass=wissenschaft | textClass=politik");
JsonNode node = (JsonNode) test.rebaseCollection();
@@ -271,7 +271,7 @@
QuerySerializer check = new QuerySerializer(apiVersion);
check.setQuery(query, "poliqarp");
check.setCollection(coll);
- KoralCollectionQueryBuilder test = new KoralCollectionQueryBuilder();
+ KoralCollectionQueryBuilder test = new KoralCollectionQueryBuilder(apiVersion);
test.setBaseQuery(check.toJSON());
test.with("textClass=wissenschaft | textClass=politik");
JsonNode node = (JsonNode) test.rebaseCollection();
@@ -287,9 +287,9 @@
// base is missing collection segment
QuerySerializer s = new QuerySerializer(apiVersion);
s.setQuery("[base=Haus]", "poliqarp");
- KoralCollectionQueryBuilder total = new KoralCollectionQueryBuilder();
+ KoralCollectionQueryBuilder total = new KoralCollectionQueryBuilder(apiVersion);
total.setBaseQuery(s.toJSON());
- KoralCollectionQueryBuilder builder = new KoralCollectionQueryBuilder();
+ KoralCollectionQueryBuilder builder = new KoralCollectionQueryBuilder(apiVersion);
builder.with("textClass=politik & corpusSigle=WPD");
JsonNode node = total.and()
.mergeWith((JsonNode) builder.rebaseCollection());
@@ -313,9 +313,11 @@
QuerySerializer s = new QuerySerializer(apiVersion);
s.setQuery("[base=Haus]", "poliqarp");
s.setCollection("textClass=wissenschaft");
- KoralCollectionQueryBuilder total = new KoralCollectionQueryBuilder();
+ KoralCollectionQueryBuilder total =
+ new KoralCollectionQueryBuilder(apiVersion);
total.setBaseQuery(s.toJSON());
- KoralCollectionQueryBuilder builder = new KoralCollectionQueryBuilder();
+ KoralCollectionQueryBuilder builder =
+ new KoralCollectionQueryBuilder(apiVersion);
JsonNode node = total.and()
.mergeWith((JsonNode) builder.rebaseCollection());
assertNotNull(node);