From 6f2fc20e18a1b733ed812e2ca992a186a62fdc06 Mon Sep 17 00:00:00 2001 From: Gethin James Date: Thu, 1 Jun 2017 11:06:29 +0000 Subject: [PATCH] Merged searchrep (5.2.1) to 5.2.N (5.2.1) 136312 gjames: SEARCH-339: Fixing afts filterquery git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@137030 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../rest/api/search/impl/ResultMapper.java | 2 +- .../rest/api/search/ResultMapperTests.java | 44 +++++++++++++++++-- .../search/SearchQuerySerializerTests.java | 2 +- .../rest/api/search/SerializerTestHelper.java | 4 +- 4 files changed, 46 insertions(+), 6 deletions(-) diff --git a/source/java/org/alfresco/rest/api/search/impl/ResultMapper.java b/source/java/org/alfresco/rest/api/search/impl/ResultMapper.java index 352bbe14c7..9dcaa9a29f 100644 --- a/source/java/org/alfresco/rest/api/search/impl/ResultMapper.java +++ b/source/java/org/alfresco/rest/api/search/impl/ResultMapper.java @@ -472,7 +472,7 @@ public class ResultMapper if (found.get().getSets() != null) { Optional foundSet = found.get().getSets().stream().filter(aSet -> buck.getFirst().equals(aSet.getLabel())).findFirst(); - if (foundSet.isPresent()) filterQuery = found.get().getField()+":"+foundSet.get().toRange(); + if (foundSet.isPresent()) filterQuery = found.get().getField()+":"+foundSet.get().toAFTSQuery(); } } } diff --git a/source/test-java/org/alfresco/rest/api/search/ResultMapperTests.java b/source/test-java/org/alfresco/rest/api/search/ResultMapperTests.java index 6e7234d7f4..bd2a785abf 100644 --- a/source/test-java/org/alfresco/rest/api/search/ResultMapperTests.java +++ b/source/test-java/org/alfresco/rest/api/search/ResultMapperTests.java @@ -113,7 +113,7 @@ public class ResultMapperTests +"\"facet_dates\":{}," +"\"facet_ranges\":{}," +"\"facet_pivot\":{\"creator,modifier\":[{\"field\":\"creator\",\"count\":7,\"pivot\":[{\"field\":\"modifier\",\"count\":3,\"value\":\"mjackson\"},{\"field\":\"modifier\",\"count\":4,\"value\":\"admin\"}],\"value\":\"mjackson\"}]}," - +"\"facet_intervals\":{\"creator\":{\"last\":4,\"first\":0},\"datetime@sd@{http://www.alfresco.org/model/content/1.0}created\":{\"earlier\":5,\"lastYear\":0,\"currentYear\":0}}" + +"\"facet_intervals\":{\"creator\":{\"last\":4,\"first\":0},\"TheCreated\":{\"earlier\":5,\"lastYear\":0,\"currentYear\":854}}" + "}," + "\"spellcheck\":{\"searchInsteadFor\":\"alfresco\"}," + "\"highlighting\": {" @@ -303,7 +303,7 @@ public class ResultMapperTests assertEquals(2, intervalFacets.size()); assertEquals("creator",intervalFacets.get(0).getLabel()); assertEquals("last",intervalFacets.get(0).getBuckets().get(0).getLabel()); - assertEquals("cm:creator:(a,b]",intervalFacets.get(0).getBuckets().get(0).getFilterQuery()); + assertEquals("cm:creator: intervalFacets = searchContext.getFacets().stream() + .filter(f -> f.getType().equals(FACET_TYPE.interval)).collect(Collectors.toList()); + assertEquals(2, intervalFacets.size()); + assertEquals("creator",intervalFacets.get(0).getLabel()); + assertEquals("last",intervalFacets.get(0).getBuckets().get(0).getLabel()); + assertEquals("cm:creator:",intervalFacets.get(1).getBuckets().get(0).getFilterQuery()); + assertEquals(METRIC_TYPE.count,intervalFacets.get(1).getBuckets().get(0).getMetrics().get(0).getType()); + assertEquals(5,intervalFacets.get(1).getBuckets().get(0).getMetrics().get(0).getValue().get("count")); + + assertEquals("lastYear",intervalFacets.get(1).getBuckets().get(1).getLabel()); + assertEquals("cm:created:[2016 TO 2017>",intervalFacets.get(1).getBuckets().get(1).getFilterQuery()); + assertEquals(METRIC_TYPE.count,intervalFacets.get(1).getBuckets().get(1).getMetrics().get(0).getType()); + assertEquals(0,intervalFacets.get(1).getBuckets().get(1).getMetrics().get(0).getValue().get("count")); + + assertEquals("currentYear",intervalFacets.get(1).getBuckets().get(2).getLabel()); + assertEquals("cm:created:[NOW/YEAR TO NOW/YEAR+1YEAR]",intervalFacets.get(1).getBuckets().get(2).getFilterQuery()); + assertEquals(METRIC_TYPE.count,intervalFacets.get(1).getBuckets().get(2).getMetrics().get(0).getType()); + assertEquals(854,intervalFacets.get(1).getBuckets().get(2).getMetrics().get(0).getValue().get("count")); + } + @Test /** * Test facet group with out facet fields diff --git a/source/test-java/org/alfresco/rest/api/search/SearchQuerySerializerTests.java b/source/test-java/org/alfresco/rest/api/search/SearchQuerySerializerTests.java index 727f0175c4..dda7b1ce8f 100644 --- a/source/test-java/org/alfresco/rest/api/search/SearchQuerySerializerTests.java +++ b/source/test-java/org/alfresco/rest/api/search/SearchQuerySerializerTests.java @@ -153,7 +153,7 @@ public class SearchQuerySerializerTests assertEquals(true, is.isStartInclusive()); assertEquals(false, is.isEndInclusive()); - assertEquals(1,ip.getIntervals().size()); + assertEquals(2,ip.getIntervals().size()); Interval interval = ip.getIntervals().get(0); assertEquals("creator", interval.getLabel()); assertEquals("cm:creator", interval.getField()); diff --git a/source/test-java/org/alfresco/rest/api/search/SerializerTestHelper.java b/source/test-java/org/alfresco/rest/api/search/SerializerTestHelper.java index 1c3067d279..d3c185996f 100644 --- a/source/test-java/org/alfresco/rest/api/search/SerializerTestHelper.java +++ b/source/test-java/org/alfresco/rest/api/search/SerializerTestHelper.java @@ -67,7 +67,9 @@ public class SerializerTestHelper implements RequestReader + "\"facetIntervals\": {\"sets\": [{ \"label\": \"king\", \"start\": \"1\", \"end\": \"2\",\"startInclusive\": true,\"endInclusive\": false}]" + ",\"intervals\": [{\"field\": \"cm:creator\",\"label\": \"creator\"," + "\"sets\": [{\"label\": \"last\",\"start\": \"a\",\"end\": \"b\",\"startInclusive\": false}]" - + "}]}," + + "}," + + "{\"label\":\"TheCreated\",\"field\":\"cm:created\",\"sets\":[{\"label\":\"lastYear\",\"start\":\"2016\",\"end\":\"2017\",\"endInclusive\":false},{\"label\":\"currentYear\",\"start\":\"NOW/YEAR\",\"end\":\"NOW/YEAR+1YEAR\"},{\"label\":\"earlier\",\"start\":\"*\",\"end\":\"2016\",\"endInclusive\":false}]}" + + "]}," + "\"spellcheck\": {\"query\": \"alfrezco\"}," + "\"limits\": {\"permissionEvaluationCount\": \"2000\",\"permissionEvaluationTime\": \"5000\"}," + "\"scope\": { \"locations\": [\"nodes\"]},"