From 7372dd720525a6793a4f2efcf77a9adcfe335c25 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Tue, 6 Sep 2016 22:12:07 +0000 Subject: [PATCH] Merged 5.2.N (5.2.1) to HEAD (5.2) 130309 gjames: Merged searchapi (5.2.1) to 5.2.N (5.2.1) 130161 gjames: SEARCH-162: Implement a "fields" json parameter git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@130380 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../alfresco/rest/api/search/SearchApiWebscript.java | 9 ++++++++- .../alfresco/rest/api/search/model/SearchQuery.java | 11 ++++++++++- .../api/search/BasicSearchApiIntegrationTest.java | 2 +- .../alfresco/rest/api/search/SearchMapperTests.java | 2 +- .../rest/api/search/SearchQuerySerializerTests.java | 3 +++ .../rest/api/search/SerializerTestHelper.java | 1 + 6 files changed, 24 insertions(+), 4 deletions(-) diff --git a/source/java/org/alfresco/rest/api/search/SearchApiWebscript.java b/source/java/org/alfresco/rest/api/search/SearchApiWebscript.java index 8b7eed6d4b..5712e9e6d3 100644 --- a/source/java/org/alfresco/rest/api/search/SearchApiWebscript.java +++ b/source/java/org/alfresco/rest/api/search/SearchApiWebscript.java @@ -30,6 +30,7 @@ import org.alfresco.rest.api.model.Node; import org.alfresco.rest.api.search.impl.ResultMapper; import org.alfresco.rest.api.search.impl.SearchMapper; import org.alfresco.rest.api.search.model.SearchQuery; +import org.alfresco.rest.framework.jacksonextensions.BeanPropertiesFilter; import org.alfresco.rest.framework.resource.parameters.CollectionWithPagingInfo; import org.alfresco.rest.framework.resource.parameters.Params; import org.alfresco.rest.framework.tools.ApiAssistant; @@ -50,6 +51,7 @@ import org.springframework.extensions.webscripts.WebScriptRequest; import org.springframework.extensions.webscripts.WebScriptResponse; import java.io.IOException; +import java.util.Arrays; /** * An implementation of the {{baseUrl}}/{{networkId}}/public/search/versions/1/search endpoint @@ -118,7 +120,12 @@ public class SearchApiWebscript extends AbstractWebScript implements RecognizedP */ protected Params getParams(WebScriptRequest webScriptRequest, SearchQuery searchQuery) { - Params.RecognizedParams recognizedParams = new Params.RecognizedParams(null, null, null, null, null, null, null, null, false); + BeanPropertiesFilter filter = null; + if (searchQuery.getFields()!= null && !searchQuery.getFields().isEmpty()) + { + filter = getFilter("", searchQuery.getFields()); + } + Params.RecognizedParams recognizedParams = new Params.RecognizedParams(null, null, filter, null, null, null, null, null, false); return Params.valueOf(null, recognizedParams, searchQuery, webScriptRequest); } diff --git a/source/java/org/alfresco/rest/api/search/model/SearchQuery.java b/source/java/org/alfresco/rest/api/search/model/SearchQuery.java index e9e3217a4a..76950a9f32 100644 --- a/source/java/org/alfresco/rest/api/search/model/SearchQuery.java +++ b/source/java/org/alfresco/rest/api/search/model/SearchQuery.java @@ -43,6 +43,7 @@ public class SearchQuery private final Query query; private final Paging paging; private final List include; + private final List fields; private final List sort; private final List