From f03fe2109937ccac8f0e78651ec2deb91a4c54ab Mon Sep 17 00:00:00 2001 From: Gethin James Date: Thu, 1 Jun 2017 11:09:32 +0000 Subject: [PATCH] Merged searchrep (5.2.1) to 5.2.N (5.2.1) 136763 gjames: SEARCH-339: Switching to an Interval Set git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@137049 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../rest/api/search/impl/SearchMapper.java | 11 +++++++++-- .../rest/api/search/SearchMapperTests.java | 10 ++++++---- .../api/search/SearchQuerySerializerTests.java | 16 ++++------------ 3 files changed, 19 insertions(+), 18 deletions(-) diff --git a/source/java/org/alfresco/rest/api/search/impl/SearchMapper.java b/source/java/org/alfresco/rest/api/search/impl/SearchMapper.java index c22e8a6cc6..bc4f0b74ad 100644 --- a/source/java/org/alfresco/rest/api/search/impl/SearchMapper.java +++ b/source/java/org/alfresco/rest/api/search/impl/SearchMapper.java @@ -76,6 +76,8 @@ import java.util.Arrays; import java.util.List; import java.util.ListIterator; import java.util.Optional; +import java.util.Set; +import java.util.TimeZone; import java.util.regex.Matcher; /** @@ -499,7 +501,7 @@ public class SearchMapper { ParameterCheck.mandatory("facetIntervals intervals", facetIntervals.getIntervals()); - List globalSets = facetIntervals.getSets(); + Set globalSets = facetIntervals.getSets(); validateSets(globalSets, "facetIntervals"); if (facetIntervals.getIntervals() != null && !facetIntervals.getIntervals().isEmpty()) @@ -627,7 +629,7 @@ public class SearchMapper } - protected void validateSets(List intervalSets, String prefix) + protected void validateSets(Set intervalSets, String prefix) { if (intervalSets != null && !intervalSets.isEmpty()) { @@ -635,6 +637,11 @@ public class SearchMapper { ParameterCheck.mandatory(prefix+" sets start", aSet.getStart()); ParameterCheck.mandatory(prefix+" sets end", aSet.getEnd()); + + if (aSet.getLabel() == null) + { + aSet.setLabel(aSet.toRange()); + } } } } diff --git a/source/test-java/org/alfresco/rest/api/search/SearchMapperTests.java b/source/test-java/org/alfresco/rest/api/search/SearchMapperTests.java index 9394658fb2..fc5fd7dc4c 100644 --- a/source/test-java/org/alfresco/rest/api/search/SearchMapperTests.java +++ b/source/test-java/org/alfresco/rest/api/search/SearchMapperTests.java @@ -69,7 +69,9 @@ import org.junit.Test; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashSet; import java.util.List; +import java.util.Set; /** * Tests the SearchMapper class @@ -830,7 +832,7 @@ public class SearchMapperTests assertNotNull(iae); } - List intervalSets = Arrays.asList(new IntervalSet(null,"1", null, null, null)); + Set intervalSets = new HashSet(Arrays.asList(new IntervalSet(null,"1", null, null, null))); List intervalList = Arrays.asList(new Interval(null, "bob", null)); intervalParameters = new IntervalParameters(intervalSets,intervalList); @@ -858,7 +860,7 @@ public class SearchMapperTests assertNotNull(iae); } - intervalSets = Arrays.asList(new IntervalSet("1",null, null, null, true)); + intervalSets = new HashSet(Arrays.asList(new IntervalSet("1",null, null, null, true))); intervalParameters = new IntervalParameters(intervalSets,intervalList); try @@ -872,10 +874,10 @@ public class SearchMapperTests assertNotNull(iae); } - intervalSets = new ArrayList<>(); + intervalSets = new HashSet<>(); intervalSets.add(new IntervalSet("0", "3", "bob", null, null)); intervalSets.add(new IntervalSet("30", "50", "bill", true,true)); - List anIntervalSet = new ArrayList<>(); + Set anIntervalSet = new HashSet<>(); anIntervalSet.add(new IntervalSet("1", "10", "bert", false, false)); intervalList = Arrays.asList(new Interval("cm:price", "Price", null), new Interval("cm:price", "Price", anIntervalSet)); intervalParameters = new IntervalParameters(intervalSets,intervalList); 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 d55060934d..fc020968a0 100644 --- a/source/test-java/org/alfresco/rest/api/search/SearchQuerySerializerTests.java +++ b/source/test-java/org/alfresco/rest/api/search/SearchQuerySerializerTests.java @@ -147,23 +147,15 @@ public class SearchQuerySerializerTests IntervalParameters ip = searchQuery.getFacetIntervals(); assertNotNull(ip); assertEquals(1,ip.getSets().size()); - IntervalSet is = ip.getSets().get(0); - assertEquals("king", is.getLabel()); - assertEquals("1", is.getStart()); - assertEquals("2", is.getEnd()); - assertEquals(true, is.isStartInclusive()); - assertEquals(false, is.isEndInclusive()); + IntervalSet expected = new IntervalSet("1","2","king",true, false ); + assertTrue(ip.getSets().contains(expected)); assertEquals(2,ip.getIntervals().size()); Interval interval = ip.getIntervals().get(0); assertEquals("creator", interval.getLabel()); assertEquals("cm:creator", interval.getField()); - is = interval.getSets().get(0); - assertEquals("last", is.getLabel()); - assertEquals("a", is.getStart()); - assertEquals("b", is.getEnd()); - assertEquals(false, is.isStartInclusive()); - assertEquals(true, is.isEndInclusive()); + expected = new IntervalSet("a","b","last",false, true ); + assertTrue(interval.getSets().contains(expected)); assertEquals(1,searchQuery.getPivots().size()); assertEquals("mylabel",searchQuery.getPivots().get(0).getKey());