mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-14 17:58:59 +00:00
Merged 5.2.N (5.2.2) to HEAD (5.2)
137060 gjames: Merged searchrep (5.2.1) to 5.2.N (5.2.1) 136808 gjames: SEARCH-339: Adding bucketInfo for intervals with consistent names git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@137575 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -506,10 +506,10 @@ public class ResultMapper
|
|||||||
}
|
}
|
||||||
private static GenericBucket buildGenericBucketFromRange(String facetField, Map<String,String> facet)
|
private static GenericBucket buildGenericBucketFromRange(String facetField, Map<String,String> facet)
|
||||||
{
|
{
|
||||||
String from = facet.get("from");
|
String from = facet.get(GenericFacetResponse.START);
|
||||||
String to = facet.get("to");
|
String to = facet.get(GenericFacetResponse.END);
|
||||||
String label = facet.get("label");
|
String label = facet.get(GenericFacetResponse.LABEL);
|
||||||
facet.remove("label");
|
facet.remove(GenericFacetResponse.LABEL);
|
||||||
String filterQ = String.format("%s:(%s TO %s)",
|
String filterQ = String.format("%s:(%s TO %s)",
|
||||||
facetField,
|
facetField,
|
||||||
from,
|
from,
|
||||||
@@ -517,7 +517,7 @@ public class ResultMapper
|
|||||||
return new GenericBucket(label,
|
return new GenericBucket(label,
|
||||||
filterQ,
|
filterQ,
|
||||||
null,
|
null,
|
||||||
new HashSet<Metric>(Arrays.asList(new SimpleMetric(METRIC_TYPE.count,facet.get("count")))),
|
new HashSet<Metric>(Arrays.asList(new SimpleMetric(METRIC_TYPE.count,facet.get(GenericFacetResponse.COUNT)))),
|
||||||
null,
|
null,
|
||||||
facet);
|
facet);
|
||||||
|
|
||||||
@@ -543,6 +543,8 @@ public class ResultMapper
|
|||||||
for (Pair<String, Integer> buck:facet.getValue())
|
for (Pair<String, Integer> buck:facet.getValue())
|
||||||
{
|
{
|
||||||
String filterQuery = null;
|
String filterQuery = null;
|
||||||
|
Map<String, String> bucketInfo = new HashMap<>();
|
||||||
|
|
||||||
if (searchQuery != null
|
if (searchQuery != null
|
||||||
&& searchQuery.getFacetIntervals() != null
|
&& searchQuery.getFacetIntervals() != null
|
||||||
&& searchQuery.getFacetIntervals().getIntervals() != null
|
&& searchQuery.getFacetIntervals().getIntervals() != null
|
||||||
@@ -555,11 +557,18 @@ public class ResultMapper
|
|||||||
if (found.get().getSets() != null)
|
if (found.get().getSets() != null)
|
||||||
{
|
{
|
||||||
Optional<IntervalSet> foundSet = found.get().getSets().stream().filter(aSet -> buck.getFirst().equals(aSet.getLabel())).findFirst();
|
Optional<IntervalSet> foundSet = found.get().getSets().stream().filter(aSet -> buck.getFirst().equals(aSet.getLabel())).findFirst();
|
||||||
if (foundSet.isPresent()) filterQuery = found.get().getField()+":"+foundSet.get().toAFTSQuery();
|
if (foundSet.isPresent())
|
||||||
|
{
|
||||||
|
filterQuery = found.get().getField() + ":" + foundSet.get().toAFTSQuery();
|
||||||
|
bucketInfo.put(GenericFacetResponse.START, foundSet.get().getStart());
|
||||||
|
bucketInfo.put(GenericFacetResponse.END, foundSet.get().getEnd());
|
||||||
|
bucketInfo.put(GenericFacetResponse.START_INC, String.valueOf(foundSet.get().isStartInclusive()));
|
||||||
|
bucketInfo.put(GenericFacetResponse.END_INC, String.valueOf(foundSet.get().isEndInclusive()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
GenericBucket bucket = new GenericBucket(buck.getFirst(), filterQuery, null , new HashSet<Metric>(Arrays.asList(new SimpleMetric(METRIC_TYPE.count,String.valueOf(buck.getSecond())))), null);
|
GenericBucket bucket = new GenericBucket(buck.getFirst(), filterQuery, null , new HashSet<Metric>(Arrays.asList(new SimpleMetric(METRIC_TYPE.count,String.valueOf(buck.getSecond())))), null, bucketInfo);
|
||||||
buckets.add(bucket);
|
buckets.add(bucket);
|
||||||
}
|
}
|
||||||
ffcs.add(new GenericFacetResponse(FACET_TYPE.interval, facet.getKey(), buckets));
|
ffcs.add(new GenericFacetResponse(FACET_TYPE.interval, facet.getKey(), buckets));
|
||||||
|
@@ -491,23 +491,23 @@ public class ResultMapperTests
|
|||||||
assertEquals("content.size:(0 TO 100)", rangeFacets.get(1).getBuckets().get(0).getFilterQuery());
|
assertEquals("content.size:(0 TO 100)", rangeFacets.get(1).getBuckets().get(0).getFilterQuery());
|
||||||
|
|
||||||
Map<String, String> facetInfo = rangeFacets.get(1).getBuckets().get(0).getBucketInfo();
|
Map<String, String> facetInfo = rangeFacets.get(1).getBuckets().get(0).getBucketInfo();
|
||||||
assertEquals("0",facetInfo.get("from"));
|
assertEquals("0",facetInfo.get("start"));
|
||||||
assertEquals("100",facetInfo.get("to"));
|
assertEquals("100",facetInfo.get("end"));
|
||||||
|
|
||||||
assertEquals("100 - 200",rangeFacets.get(1).getBuckets().get(1).getLabel());
|
assertEquals("100 - 200",rangeFacets.get(1).getBuckets().get(1).getLabel());
|
||||||
metrics = rangeFacets.get(1).getBuckets().get(1).getMetrics().toArray();
|
metrics = rangeFacets.get(1).getBuckets().get(1).getMetrics().toArray();
|
||||||
assertEquals("6",((SimpleMetric) metrics[0]).getValue().get("count"));
|
assertEquals("6",((SimpleMetric) metrics[0]).getValue().get("count"));
|
||||||
facetInfo = rangeFacets.get(1).getBuckets().get(1).getBucketInfo();
|
facetInfo = rangeFacets.get(1).getBuckets().get(1).getBucketInfo();
|
||||||
assertEquals("100",facetInfo.get("from"));
|
assertEquals("100",facetInfo.get("start"));
|
||||||
assertEquals("200",facetInfo.get("to"));
|
assertEquals("200",facetInfo.get("end"));
|
||||||
assertEquals("content.size:(100 TO 200)", rangeFacets.get(1).getBuckets().get(1).getFilterQuery());
|
assertEquals("content.size:(100 TO 200)", rangeFacets.get(1).getBuckets().get(1).getFilterQuery());
|
||||||
|
|
||||||
assertEquals("200 - 300",rangeFacets.get(1).getBuckets().get(2).getLabel());
|
assertEquals("200 - 300",rangeFacets.get(1).getBuckets().get(2).getLabel());
|
||||||
metrics = rangeFacets.get(1).getBuckets().get(2).getMetrics().toArray();
|
metrics = rangeFacets.get(1).getBuckets().get(2).getMetrics().toArray();
|
||||||
assertEquals("3",((SimpleMetric) metrics[0]).getValue().get("count"));
|
assertEquals("3",((SimpleMetric) metrics[0]).getValue().get("count"));
|
||||||
facetInfo = rangeFacets.get(1).getBuckets().get(2).getBucketInfo();
|
facetInfo = rangeFacets.get(1).getBuckets().get(2).getBucketInfo();
|
||||||
assertEquals("200",facetInfo.get("from"));
|
assertEquals("200",facetInfo.get("start"));
|
||||||
assertEquals("300",facetInfo.get("to"));
|
assertEquals("300",facetInfo.get("end"));
|
||||||
assertEquals("content.size:(200 TO 300)", rangeFacets.get(1).getBuckets().get(2).getFilterQuery());
|
assertEquals("content.size:(200 TO 300)", rangeFacets.get(1).getBuckets().get(2).getFilterQuery());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -881,8 +881,23 @@ public class SearchMapperTests
|
|||||||
anIntervalSet.add(new IntervalSet("1", "10", "bert", false, false));
|
anIntervalSet.add(new IntervalSet("1", "10", "bert", false, false));
|
||||||
intervalList = Arrays.asList(new Interval("cm:price", "Price", null), new Interval("cm:price", "Price", anIntervalSet));
|
intervalList = Arrays.asList(new Interval("cm:price", "Price", null), new Interval("cm:price", "Price", anIntervalSet));
|
||||||
intervalParameters = new IntervalParameters(intervalSets,intervalList);
|
intervalParameters = new IntervalParameters(intervalSets,intervalList);
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
searchMapper.fromFacetIntervals(searchParameters, intervalParameters);
|
||||||
|
fail();
|
||||||
|
}
|
||||||
|
catch (InvalidArgumentException iae)
|
||||||
|
{
|
||||||
|
//duplicate labels
|
||||||
|
assertNotNull(iae);
|
||||||
|
}
|
||||||
|
|
||||||
|
intervalList = Arrays.asList(new Interval("cm:price", "Prices", null), new Interval("cm:price", "Pricey", anIntervalSet));
|
||||||
|
intervalParameters = new IntervalParameters(intervalSets,intervalList);
|
||||||
searchMapper.fromFacetIntervals(searchParameters, intervalParameters);
|
searchMapper.fromFacetIntervals(searchParameters, intervalParameters);
|
||||||
assertEquals(searchParameters.getInterval(), intervalParameters);
|
assertEquals(searchParameters.getInterval(), intervalParameters);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Reference in New Issue
Block a user