mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-14 17:58:59 +00:00
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/BRANCHES/DEV/5.2.N/root@137076 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -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());
|
||||
|
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user