From 84ea1a84604de60de05dd921031a5f04c68cd6c2 Mon Sep 17 00:00:00 2001 From: Michael Suzuki Date: Thu, 25 May 2017 13:21:17 +0100 Subject: [PATCH] Search-340, move logic into RangeParm class --- .../service/cmr/search/RangeParameters.java | 62 +++++++++++++++++++ .../cmr/search/RangeParametersTest.java | 47 ++++++++++++++ 2 files changed, 109 insertions(+) create mode 100644 src/test/java/org/alfresco/repo/search/cmr/search/RangeParametersTest.java diff --git a/src/main/java/org/alfresco/service/cmr/search/RangeParameters.java b/src/main/java/org/alfresco/service/cmr/search/RangeParameters.java index 81c2909053..da84a2f7ca 100644 --- a/src/main/java/org/alfresco/service/cmr/search/RangeParameters.java +++ b/src/main/java/org/alfresco/service/cmr/search/RangeParameters.java @@ -25,6 +25,7 @@ */ package org.alfresco.service.cmr.search; +import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -121,4 +122,65 @@ public class RangeParameters { return excludeFilters; } + + public boolean isRangeStartInclusive() + { + List options = new ArrayList(); + if(include != null && !include.isEmpty()) + { + options.addAll(include); + } + if(other != null && !other.isEmpty()) + { + options.addAll(other); + } + if(!options.isEmpty()) + { + for(String startInc : options) + { + switch (startInc) + { + case "before": + return false; + case "outer": + return false; + default: + break; + } + } + } + return true; + } + public boolean isRangeEndInclusive() + { + List options = new ArrayList(); + if(include != null && !include.isEmpty()) + { + options.addAll(include); + } + if(other != null && !other.isEmpty()) + { + options.addAll(other); + } + if(!options.isEmpty()) + { + for(String endInc : options) + { + switch (endInc) + { + case "upper": + return true; + case "edge": + return true; + case "outer": + return true; + case "all": + return true; + default: + break; + } + } + } + return false; + } } diff --git a/src/test/java/org/alfresco/repo/search/cmr/search/RangeParametersTest.java b/src/test/java/org/alfresco/repo/search/cmr/search/RangeParametersTest.java new file mode 100644 index 0000000000..d8ca8332f0 --- /dev/null +++ b/src/test/java/org/alfresco/repo/search/cmr/search/RangeParametersTest.java @@ -0,0 +1,47 @@ +package org.alfresco.repo.search.cmr.search; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import org.alfresco.service.cmr.search.RangeParameters; +import org.junit.Assert; +import org.junit.Test; + +public class RangeParametersTest +{ + @Test + public void startInclusiveTest() + { + RangeParameters p = new RangeParameters("test", "0", "10", "1", true, null, null, null, null); + Assert.assertTrue(p.isRangeStartInclusive()); + p = new RangeParameters("test", "0", "10", "1", true, Collections.emptyList(), Collections.emptyList(), null, null); + Assert.assertTrue(p.isRangeStartInclusive()); + List includes = new ArrayList(); + List other = new ArrayList(); + includes.add("upper"); + p = new RangeParameters("test", "0", "10", "1", true, Collections.emptyList(), includes, null, null); + Assert.assertTrue(p.isRangeStartInclusive()); + other.add("before"); + p = new RangeParameters("test", "0", "10", "1", true, other, null, null, null); + Assert.assertFalse(p.isRangeStartInclusive()); + p = new RangeParameters("test", "0", "10", "1", true, other, includes, null, null); + Assert.assertFalse(p.isRangeStartInclusive()); + } + @Test + public void endInclusiveTest() + { + RangeParameters p = new RangeParameters("test", "0", "10", "1", true, null, null, null, null); + Assert.assertFalse(p.isRangeEndInclusive()); + p = new RangeParameters("test", "0", "10", "1", true, Collections.emptyList(), Collections.emptyList(), null, null); + Assert.assertFalse(p.isRangeEndInclusive()); + List includes = new ArrayList(); + List other = new ArrayList(); + includes.add("upper"); + p = new RangeParameters("test", "0", "10", "1", true, Collections.emptyList(), includes, null, null); + Assert.assertTrue(p.isRangeEndInclusive()); + other.add("before"); + p = new RangeParameters("test", "0", "10", "1", true, other, null, null, null); + Assert.assertFalse(p.isRangeEndInclusive()); + } +}