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/BRANCHES/DEV/5.2.N/root@130309 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Gethin James
2016-09-06 15:39:51 +00:00
parent 4368afe040
commit a87495f12a
6 changed files with 24 additions and 4 deletions

View File

@@ -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);
}

View File

@@ -43,6 +43,7 @@ public class SearchQuery
private final Query query;
private final Paging paging;
private final List<String> include;
private final List<String> fields;
private final List<SortDef> sort;
private final List<Template> templates;
private final Default defaults;
@@ -53,12 +54,13 @@ public class SearchQuery
private final Scope scope;
private final Limits limits;
public static final SearchQuery EMPTY = new SearchQuery(null, null, null, null, null,null, null, null,null, null, null, null);
public static final SearchQuery EMPTY = new SearchQuery(null, null, null, null, null,null, null, null,null, null, null, null, null);
@JsonCreator
public SearchQuery(@JsonProperty("query") Query query,
@JsonProperty("paging") Paging paging,
@JsonProperty("include") List<String> include,
@JsonProperty("fields") List<String> fields,
@JsonProperty("sort") List<SortDef> sort,
@JsonProperty("templates") List<Template> templates,
@JsonProperty("defaults") Default defaults,
@@ -72,6 +74,7 @@ public class SearchQuery
this.query = query;
this.paging = paging;
this.include = include;
this.fields = fields;
this.sort = sort;
this.templates = templates;
this.defaults = defaults;
@@ -97,6 +100,12 @@ public class SearchQuery
{
return include;
}
public List<String> getFields()
{
return fields;
}
public List<SortDef> getSort()
{
return sort;