diff --git a/pom.xml b/pom.xml index 914ad13901..80cc8a708c 100644 --- a/pom.xml +++ b/pom.xml @@ -35,7 +35,7 @@ ${project.build.directory}/alf_data convert - 7.33.12 + 7.33.13 7.5.1 8.25.1 1.1 diff --git a/src/main/java/org/alfresco/rest/api/search/SearchSQLApiWebscript.java b/src/main/java/org/alfresco/rest/api/search/SearchSQLApiWebscript.java index fda573bb1b..e6fe4caffd 100644 --- a/src/main/java/org/alfresco/rest/api/search/SearchSQLApiWebscript.java +++ b/src/main/java/org/alfresco/rest/api/search/SearchSQLApiWebscript.java @@ -142,6 +142,7 @@ public class SearchSQLApiWebscript extends AbstractWebScript implements Recogniz Locale locale = new Locale(action); sparams.addLocale(locale); }); + searchQuery.getFilterQueries().forEach(sparams::addFilterQuery); sparams.setIncludeMetadata(searchQuery.isIncludeMetadata()); return sparams; diff --git a/src/main/java/org/alfresco/rest/api/search/model/SearchSQLQuery.java b/src/main/java/org/alfresco/rest/api/search/model/SearchSQLQuery.java index d89b83e1c0..0eb8c5d765 100644 --- a/src/main/java/org/alfresco/rest/api/search/model/SearchSQLQuery.java +++ b/src/main/java/org/alfresco/rest/api/search/model/SearchSQLQuery.java @@ -43,13 +43,15 @@ public class SearchSQLQuery private List locales; private boolean includeMetadata; private String timezone; + private List filterQueries; public SearchSQLQuery(@JsonProperty("stmt") String stmt, @JsonProperty("format") String format, @JsonProperty("locales") List locales, @JsonProperty("limit") Integer itemLimit, @JsonProperty("includeMetadata") boolean includeMetadata, - @JsonProperty("timezone") String timezone) + @JsonProperty("timezone") String timezone, + @JsonProperty("filterQueries") List filterQueries) { this.stmt = stmt; this.format = format != null ? format : "default"; @@ -57,6 +59,7 @@ public class SearchSQLQuery this.itemLimit = itemLimit == null || itemLimit < 1 ? new Integer(1000) : itemLimit; this.includeMetadata = includeMetadata; this.timezone = timezone; + this.filterQueries = filterQueries != null ? filterQueries : Collections.emptyList(); } public String getStmt() @@ -88,4 +91,9 @@ public class SearchSQLQuery { return timezone; } + + public List getFilterQueries() + { + return filterQueries; + } } diff --git a/src/test/java/org/alfresco/rest/api/search/ResultMapperTests.java b/src/test/java/org/alfresco/rest/api/search/ResultMapperTests.java index 4f4e2d829b..a87d330cbe 100644 --- a/src/test/java/org/alfresco/rest/api/search/ResultMapperTests.java +++ b/src/test/java/org/alfresco/rest/api/search/ResultMapperTests.java @@ -853,7 +853,7 @@ public class ResultMapperTests { JSONObject response = new JSONObject("{\"docs\":[{\"SITE\":\"_REPOSITORY_\"},{\"SITE\":\"surf-config\"},{\"SITE\":\"swsdp\"},{\"EOF\":true,\"RESPONSE_TIME\":96}]}"); JSONArray docs = response.getJSONArray("docs"); - SearchSQLQuery query = new SearchSQLQuery("select SITE from alfresco group by SITE", null, null, 100, false, null); + SearchSQLQuery query = new SearchSQLQuery("select SITE from alfresco group by SITE", null, null, 100, false, null, null); CollectionWithPagingInfo info = mapper.toCollectionWithPagingInfo(docs, query); assertEquals(100, info.getPaging().getMaxItems()); assertEquals(0, info.getPaging().getSkipCount()); diff --git a/src/test/java/org/alfresco/rest/api/search/SearchSQLApiWebscriptTests.java b/src/test/java/org/alfresco/rest/api/search/SearchSQLApiWebscriptTests.java index 98627d8183..83790f626d 100644 --- a/src/test/java/org/alfresco/rest/api/search/SearchSQLApiWebscriptTests.java +++ b/src/test/java/org/alfresco/rest/api/search/SearchSQLApiWebscriptTests.java @@ -25,6 +25,8 @@ */ package org.alfresco.rest.api.search; +import static java.util.Collections.emptyList; + import static junit.framework.TestCase.assertEquals; import static junit.framework.TestCase.assertNotNull; @@ -47,7 +49,7 @@ public class SearchSQLApiWebscriptTests public void testSearchQueryParams() throws Exception { String query = "select SITE from alfresco"; - SearchSQLQuery searchQuery = new SearchSQLQuery(query, "solr", Collections.emptyList(), 1000, false, ""); + SearchSQLQuery searchQuery = new SearchSQLQuery(query, "solr", emptyList(), 1000, false, "", emptyList()); SearchParameters sparams = webscript.buildSearchParameters(searchQuery); assertNotNull(sparams); @@ -61,7 +63,7 @@ public class SearchSQLApiWebscriptTests public void testSearchQueryParamsTimezone() throws Exception { String query = "select SITE from alfresco"; - SearchSQLQuery searchQuery = new SearchSQLQuery(query, "solr", Collections.emptyList(), 1000, false, "Israel"); + SearchSQLQuery searchQuery = new SearchSQLQuery(query, "solr", emptyList(), 1000, false, "Israel", emptyList()); SearchParameters sparams = webscript.buildSearchParameters(searchQuery); assertNotNull(sparams); @@ -75,7 +77,7 @@ public class SearchSQLApiWebscriptTests public void testSearchQueryParamsFormatNull() throws Exception { String query = "select SITE from alfresco"; - SearchSQLQuery searchQuery = new SearchSQLQuery(query, "", Collections.emptyList(), 1000, false, ""); + SearchSQLQuery searchQuery = new SearchSQLQuery(query, "", emptyList(), 1000, false, "", emptyList()); SearchParameters sparams = webscript.buildSearchParameters(searchQuery); assertNotNull(sparams); @@ -85,7 +87,7 @@ public class SearchSQLApiWebscriptTests assertEquals(null, sparams.getExtraParameters().get("format")); assertEquals(null, sparams.getTimezone()); - searchQuery = new SearchSQLQuery(query, null, Collections.emptyList(), 1000, true, ""); + searchQuery = new SearchSQLQuery(query, null, emptyList(), 1000, true, "", emptyList()); sparams = webscript.buildSearchParameters(searchQuery); assertNotNull(sparams); @@ -98,7 +100,7 @@ public class SearchSQLApiWebscriptTests @Test public void testSearchQueryNullStmt() throws Exception { - SearchSQLQuery searchQuery = new SearchSQLQuery(null, "solr", Collections.emptyList(), null, false, null); + SearchSQLQuery searchQuery = new SearchSQLQuery(null, "solr", emptyList(), null, false, null, emptyList()); try { webscript.buildSearchParameters(searchQuery);