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

137076 gjames: Merged searchrep (5.2.1) to 5.2.N (5.2.1)
      136966 msuzuki: Search-426, adding facetFormat to SearchMapper


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@137591 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Andrei Rebegea
2017-06-15 11:18:02 +00:00
parent a9549c55e2
commit 5368bb38cd
4 changed files with 40 additions and 27 deletions

View File

@@ -25,24 +25,14 @@
*/
package org.alfresco.rest.api.search.context;
import static java.util.stream.Collectors.*;
import org.alfresco.rest.api.search.model.FacetFields;
import org.alfresco.rest.api.search.model.FacetQuery;
import org.alfresco.rest.api.search.model.Pivot;
import org.alfresco.rest.api.search.model.Query;
import org.alfresco.rest.api.search.model.SearchQuery;
import org.alfresco.service.cmr.search.IntervalParameters;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.alfresco.rest.api.search.model.Query;
import org.alfresco.rest.api.search.model.SearchQuery;
import org.alfresco.service.cmr.search.FacetFormat;
/**
* This is a snapshot of the SearchQuery before the request is made.
@@ -97,5 +87,4 @@ public class SearchRequestContext
{
return stores;
}
}

View File

@@ -117,7 +117,7 @@ public class SearchMapper
SearchParameters sp = new SearchParameters();
setDefaults(sp);
sp.setFacetFormat(searchQuery.getFacetFormat());
fromLocalization(sp, searchQuery.getLocalization());
fromQuery(sp, searchQuery.getQuery());
fromPaging(sp, params.getPaging());

View File

@@ -27,6 +27,7 @@
package org.alfresco.rest.api.search.model;
import org.alfresco.rest.framework.resource.parameters.Paging;
import org.alfresco.service.cmr.search.FacetFormat;
import org.alfresco.service.cmr.search.GeneralHighlightParameters;
import org.alfresco.service.cmr.search.IntervalParameters;
import org.alfresco.service.cmr.search.RangeParameters;
@@ -63,10 +64,11 @@ public class SearchQuery
private final List<StatsRequestParameters> stats;
private final List<RangeParameters> ranges;
private final Localization localization;
private final FacetFormat facetFormat;
public static final SearchQuery EMPTY = new SearchQuery(null, null, null, null, null, null,
null,null, null, null, null,null, null, null, null,
null, null, null,null, null);
null, null, null,null, null,null);
@JsonCreator
public SearchQuery(@JsonProperty("query") Query query,
@@ -88,7 +90,8 @@ public class SearchQuery
@JsonProperty("pivots") List<Pivot> pivots,
@JsonProperty("stats") List<StatsRequestParameters> stats,
@JsonProperty("ranges") List<RangeParameters> ranges,
@JsonProperty("localization") Localization localization)
@JsonProperty("localization") Localization localization,
@JsonProperty("facetFormat") FacetFormat facetFormat)
{
this.query = query;
this.includeRequest = includeRequest==null?false:includeRequest;
@@ -110,6 +113,7 @@ public class SearchQuery
this.stats = stats;
this.ranges = ranges;
this.localization = localization;
this.facetFormat = facetFormat;
}
public Query getQuery()
@@ -211,4 +215,9 @@ public class SearchQuery
return localization;
}
public FacetFormat getFacetFormat()
{
return facetFormat;
}
}

View File

@@ -39,6 +39,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Set;
import org.alfresco.rest.api.search.context.SearchRequestContext;
@@ -61,6 +62,7 @@ import org.alfresco.rest.api.search.model.Template;
import org.alfresco.rest.framework.core.exceptions.InvalidArgumentException;
import org.alfresco.rest.framework.resource.parameters.Paging;
import org.alfresco.service.cmr.repository.StoreRef;
import org.alfresco.service.cmr.search.FacetFormat;
import org.alfresco.service.cmr.search.FieldHighlightParameters;
import org.alfresco.service.cmr.search.GeneralHighlightParameters;
import org.alfresco.service.cmr.search.Interval;
@@ -75,13 +77,6 @@ import org.alfresco.service.cmr.search.StatsRequestParameters;
import org.junit.BeforeClass;
import org.junit.Test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Set;
/**
* Tests the SearchMapper class
*
@@ -121,6 +116,7 @@ public class SearchMapperTests
searchParameters = searchMapper.toSearchParameters(ResultMapperTests.EMPTY_PARAMS, helper.searchQueryFromJson(), searchRequest);
assertNotNull(searchParameters);
assertEquals(null, searchParameters.getFacetFormat());
}
@Test
@@ -329,7 +325,6 @@ public class SearchMapperTests
{
SearchParameters searchParameters = new SearchParameters();
//Doesn't error
searchMapper.fromFilterQuery(searchParameters, null);
searchMapper.fromFilterQuery(searchParameters, Arrays.asList(new FilterQuery("hedgehog", null, null), new FilterQuery("king", null, null)));
assertEquals(2 ,searchParameters.getFilterQueries().size());
@@ -1019,6 +1014,26 @@ public class SearchMapperTests
searchMapper.fromFacetIntervals(searchParameters, intervalParameters);
assertEquals(searchParameters.getInterval(), intervalParameters);
}
@Test
public void facetFormatV2()
{
Query query = new Query("afts", "a*", "");
SearchQuery sq = new SearchQuery(query, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null,
null, null,null, null,FacetFormat.V2);
SearchRequestContext searchRequestContext = SearchRequestContext.from(sq);
SearchParameters searchParameters = searchMapper.toSearchParameters(ResultMapperTests.EMPTY_PARAMS, sq, searchRequestContext);
assertNotNull(searchParameters);
//Test defaults
assertEquals("There should be only 1 default store", 1,searchParameters.getStores().size());
assertEquals("workspaces store is the default", StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, searchParameters.getStores().get(0));
assertEquals(LimitBy.FINAL_SIZE, searchParameters.getLimitBy());
assertEquals(100, searchParameters.getLimit());
assertEquals(FacetFormat.V2, searchParameters.getFacetFormat());
}
@Test
@@ -1063,7 +1078,7 @@ public class SearchMapperTests
Query query = new Query("cmis", "foo", "");
SearchQuery sq = new SearchQuery(query, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null,
null, null,null, null);
null, null,null, null,null);
return sq;
}