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
This commit is contained in:
Gethin James
2017-06-01 11:09:32 +00:00
parent 1825696096
commit f03fe21099
3 changed files with 19 additions and 18 deletions

View File

@@ -76,6 +76,8 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.ListIterator; import java.util.ListIterator;
import java.util.Optional; import java.util.Optional;
import java.util.Set;
import java.util.TimeZone;
import java.util.regex.Matcher; import java.util.regex.Matcher;
/** /**
@@ -499,7 +501,7 @@ public class SearchMapper
{ {
ParameterCheck.mandatory("facetIntervals intervals", facetIntervals.getIntervals()); ParameterCheck.mandatory("facetIntervals intervals", facetIntervals.getIntervals());
List<IntervalSet> globalSets = facetIntervals.getSets(); Set<IntervalSet> globalSets = facetIntervals.getSets();
validateSets(globalSets, "facetIntervals"); validateSets(globalSets, "facetIntervals");
if (facetIntervals.getIntervals() != null && !facetIntervals.getIntervals().isEmpty()) if (facetIntervals.getIntervals() != null && !facetIntervals.getIntervals().isEmpty())
@@ -627,7 +629,7 @@ public class SearchMapper
} }
protected void validateSets(List<IntervalSet> intervalSets, String prefix) protected void validateSets(Set<IntervalSet> intervalSets, String prefix)
{ {
if (intervalSets != null && !intervalSets.isEmpty()) if (intervalSets != null && !intervalSets.isEmpty())
{ {
@@ -635,6 +637,11 @@ public class SearchMapper
{ {
ParameterCheck.mandatory(prefix+" sets start", aSet.getStart()); ParameterCheck.mandatory(prefix+" sets start", aSet.getStart());
ParameterCheck.mandatory(prefix+" sets end", aSet.getEnd()); ParameterCheck.mandatory(prefix+" sets end", aSet.getEnd());
if (aSet.getLabel() == null)
{
aSet.setLabel(aSet.toRange());
}
} }
} }
} }

View File

@@ -69,7 +69,9 @@ import org.junit.Test;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set;
/** /**
* Tests the SearchMapper class * Tests the SearchMapper class
@@ -830,7 +832,7 @@ public class SearchMapperTests
assertNotNull(iae); assertNotNull(iae);
} }
List<IntervalSet> intervalSets = Arrays.asList(new IntervalSet(null,"1", null, null, null)); Set<IntervalSet> intervalSets = new HashSet(Arrays.asList(new IntervalSet(null,"1", null, null, null)));
List<Interval> intervalList = Arrays.asList(new Interval(null, "bob", null)); List<Interval> intervalList = Arrays.asList(new Interval(null, "bob", null));
intervalParameters = new IntervalParameters(intervalSets,intervalList); intervalParameters = new IntervalParameters(intervalSets,intervalList);
@@ -858,7 +860,7 @@ public class SearchMapperTests
assertNotNull(iae); 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); intervalParameters = new IntervalParameters(intervalSets,intervalList);
try try
@@ -872,10 +874,10 @@ public class SearchMapperTests
assertNotNull(iae); assertNotNull(iae);
} }
intervalSets = new ArrayList<>(); intervalSets = new HashSet<>();
intervalSets.add(new IntervalSet("0", "3", "bob", null, null)); intervalSets.add(new IntervalSet("0", "3", "bob", null, null));
intervalSets.add(new IntervalSet("30", "50", "bill", true,true)); intervalSets.add(new IntervalSet("30", "50", "bill", true,true));
List<IntervalSet> anIntervalSet = new ArrayList<>(); Set<IntervalSet> anIntervalSet = new HashSet<>();
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);

View File

@@ -147,23 +147,15 @@ public class SearchQuerySerializerTests
IntervalParameters ip = searchQuery.getFacetIntervals(); IntervalParameters ip = searchQuery.getFacetIntervals();
assertNotNull(ip); assertNotNull(ip);
assertEquals(1,ip.getSets().size()); assertEquals(1,ip.getSets().size());
IntervalSet is = ip.getSets().get(0); IntervalSet expected = new IntervalSet("1","2","king",true, false );
assertEquals("king", is.getLabel()); assertTrue(ip.getSets().contains(expected));
assertEquals("1", is.getStart());
assertEquals("2", is.getEnd());
assertEquals(true, is.isStartInclusive());
assertEquals(false, is.isEndInclusive());
assertEquals(2,ip.getIntervals().size()); assertEquals(2,ip.getIntervals().size());
Interval interval = ip.getIntervals().get(0); Interval interval = ip.getIntervals().get(0);
assertEquals("creator", interval.getLabel()); assertEquals("creator", interval.getLabel());
assertEquals("cm:creator", interval.getField()); assertEquals("cm:creator", interval.getField());
is = interval.getSets().get(0); expected = new IntervalSet("a","b","last",false, true );
assertEquals("last", is.getLabel()); assertTrue(interval.getSets().contains(expected));
assertEquals("a", is.getStart());
assertEquals("b", is.getEnd());
assertEquals(false, is.isStartInclusive());
assertEquals(true, is.isEndInclusive());
assertEquals(1,searchQuery.getPivots().size()); assertEquals(1,searchQuery.getPivots().size());
assertEquals("mylabel",searchQuery.getPivots().get(0).getKey()); assertEquals("mylabel",searchQuery.getPivots().get(0).getKey());