Merged 5.2.N (5.2.2) to HEAD (5.2)

136096 gjames: Merged searchbcr (5.2.1) to 5.2.N (5.2.1)
      135842 gjames: SEARCH-376: Adding the includeRequest parameter


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@137468 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Andrei Rebegea
2017-06-15 11:00:27 +00:00
parent d197450d1a
commit 1f5f8cf0ee
7 changed files with 37 additions and 15 deletions

View File

@@ -25,6 +25,8 @@
*/
package org.alfresco.rest.api.search.context;
import org.alfresco.rest.api.search.model.SearchQuery;
import java.util.List;
/**
@@ -37,10 +39,13 @@ public class SearchContext
private final SpellCheckContext spellCheck;
private final List<FacetFieldContext> facetsFields;
private final List<FacetFieldContext> facetIntervals;
private final SearchQuery request;
public SearchContext(long lastTxId, List<FacetQueryContext> facetQueries, List<FacetFieldContext> facetsFields, List<FacetFieldContext> facetIntervals, SpellCheckContext spellCheck)
public SearchContext(long lastTxId, List<FacetQueryContext> facetQueries, List<FacetFieldContext> facetsFields, List<FacetFieldContext> facetIntervals, SpellCheckContext spellCheck,
SearchQuery request)
{
this.spellCheck = spellCheck;
this.request = request;
if (lastTxId > 0)
{
consistency = new Consistency(lastTxId);
@@ -79,6 +84,11 @@ public class SearchContext
return facetsFields;
}
public SearchQuery getRequest()
{
return request;
}
public class Consistency
{
private final long lastTxId;

View File

@@ -281,7 +281,7 @@ public class ResultMapper
for (Entry<String, Integer> fq:facetQueries.entrySet())
{
String filterQuery = null;
if (searchQuery != null)
if (searchQuery != null && searchQuery.getFacetQueries() != null)
{
Optional<FacetQuery> found = searchQuery.getFacetQueries().stream().filter(facetQuery -> fq.getKey().equals(facetQuery.getLabel())).findFirst();
filterQuery = found.isPresent()? found.get().getQuery():fq.getKey();
@@ -305,7 +305,7 @@ public class ResultMapper
}
//Put it all together
context = new SearchContext(solrResultSet.getLastIndexedTxId(), facetResults, ffcs, intervals, spellCheckContext);
context = new SearchContext(solrResultSet.getLastIndexedTxId(), facetResults, ffcs, intervals, spellCheckContext, searchQuery.includeRequest()?searchQuery:null);
return isNullContext(context)?null:context;
}

View File

@@ -56,12 +56,14 @@ public class SearchQuery
private final Limits limits;
private final GeneralHighlightParameters highlight;
private final IntervalParameters facetIntervals;
private final boolean includeRequest;
public static final SearchQuery EMPTY = new SearchQuery(null, null, null, 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, null, null, null);
@JsonCreator
public SearchQuery(@JsonProperty("query") Query query,
@JsonProperty("paging") Paging paging,
@JsonProperty("includeRequest") Boolean includeRequest,
@JsonProperty("include") List<String> include,
@JsonProperty("fields") List<String> fields,
@JsonProperty("sort") List<SortDef> sort,
@@ -77,6 +79,7 @@ public class SearchQuery
@JsonProperty("facetIntervals")IntervalParameters facetIntervals)
{
this.query = query;
this.includeRequest = includeRequest==null?false:includeRequest;
this.paging = paging;
this.include = include;
this.fields = fields;
@@ -166,4 +169,9 @@ public class SearchQuery
{
return limits;
}
public boolean includeRequest()
{
return includeRequest;
}
}