Merged searchrep (5.2.1) to 5.2.N (5.2.1)

136888 msuzuki: Search-340, align range response with interval response


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@137067 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Gethin James
2017-06-01 11:11:53 +00:00
parent 840eac1609
commit da5c6dd2cd
2 changed files with 36 additions and 13 deletions

View File

@@ -842,13 +842,19 @@ public class SolrQueryHTTPClient implements BeanFactoryAware, InitializingBean
url.append(String.format("&f.%s.facet.range.start=",fieldName)).append(encoder.encode(""+ facetRange.getStart(), "UTF-8"));
url.append(String.format("&f.%s.facet.range.end=",fieldName)).append(encoder.encode(""+ facetRange.getEnd(), "UTF-8"));
url.append(String.format("&f.%s.facet.range.gap=",fieldName)).append(encoder.encode(""+ facetRange.getGap(), "UTF-8"));
if(facetRange.getInclude() != null)
if(facetRange.getInclude() != null && !facetRange.getInclude().isEmpty())
{
url.append(String.format("&f.%s.facet.range.include=",fieldName)).append(encoder.encode("" + facetRange.getInclude(), "UTF-8"));
for(String include : facetRange.getInclude())
{
url.append(String.format("&f.%s.facet.range.include=",fieldName)).append(encoder.encode("" + include, "UTF-8"));
}
}
if(facetRange.getOther() != null)
if(facetRange.getOther() != null && !facetRange.getOther().isEmpty())
{
url.append(String.format("&f.%s.facet.range.other=",fieldName)).append(encoder.encode("" + facetRange.getOther(), "UTF-8"));
for(String other : facetRange.getOther())
{
url.append(String.format("&f.%s.facet.range.other=",fieldName)).append(encoder.encode("" + other, "UTF-8"));
}
}
url.append(String.format("&f.%s.facet.range.hardend=",fieldName)).append(encoder.encode("" + facetRange.isHardend(), "UTF-8"));
if(!facetRange.getExcludeFilters().isEmpty())

View File

@@ -429,7 +429,13 @@ public class SolrQueryHTTPClientTest
SearchParameters params = new SearchParameters();
params.setSearchTerm("A*");
List<RangeParameters> ranges = new ArrayList<RangeParameters>();
ranges.add(new RangeParameters("content.size", "0", "1000000", "10000", true, "before", "lower", null, null));
List<String>includes = new ArrayList<String>();
includes.add("upper");
includes.add("outer");
List<String> other = new ArrayList<String>();
other.add("before");
other.add("between");
ranges.add(new RangeParameters("content.size", "0", "1000000", "10000", true, other, includes, null, null));
params.setRanges(ranges);
StringBuilder urlBuilder = new StringBuilder();
client.buildRangeParameters(params, encoder, urlBuilder);
@@ -440,8 +446,10 @@ public class SolrQueryHTTPClientTest
assertTrue(url.contains("&f.content.size.facet.range.start=0"));
assertTrue(url.contains("&f.content.size.facet.range.end=1000000"));
assertTrue(url.contains("&f.content.size.facet.range.gap=10000"));
assertTrue(url.contains("&f.content.size.facet.range.include=lower"));
assertTrue(url.contains("&f.content.size.facet.range.include=upper"));
assertTrue(url.contains("&f.content.size.facet.range.include=outer"));
assertTrue(url.contains("&f.content.size.facet.range.other=before"));
assertTrue(url.contains("&f.content.size.facet.range.other=between"));
assertTrue(url.contains("&f.content.size.facet.range.hardend=true"));
List<String> filters = new ArrayList<String>();
@@ -450,8 +458,9 @@ public class SolrQueryHTTPClientTest
List<String> tags = new ArrayList<String>();
tags.add("dt");
tags.add("doc");
ranges.clear();
ranges.add(new RangeParameters("content.size", "0", "1000000", "10000", true, null, null, tags, filters));
ranges.add(new RangeParameters("content.size", "0", "1000000", "10000", true, Collections.emptyList(), Collections.emptyList(), tags, filters));
params.setRanges(ranges);
urlBuilder = new StringBuilder();
client.buildRangeParameters(params, encoder, urlBuilder);
@@ -461,7 +470,8 @@ public class SolrQueryHTTPClientTest
assertTrue(url2.contains("&f.content.size.facet.range.start=0"));
assertTrue(url2.contains("&f.content.size.facet.range.end=1000000"));
assertTrue(url2.contains("&f.content.size.facet.range.gap=10000"));
assertFalse(url2.contains("&f.content.size.facet.range.include=lower"));
assertFalse(url2.contains("&f.content.size.facet.range.include=upper"));
assertFalse(url2.contains("&f.content.size.facet.range.include=outer"));
assertFalse(url2.contains("&f.content.size.facet.range.other=before"));
assertTrue(url2.contains("&f.content.size.facet.range.hardend=true"));
assertTrue(url2.contains("&range.field={!ex=bart,homer}"));
@@ -474,8 +484,15 @@ public class SolrQueryHTTPClientTest
SearchParameters params = new SearchParameters();
params.setSearchTerm("A*");
List<RangeParameters> ranges = new ArrayList<RangeParameters>();
ranges.add(new RangeParameters("content.size", "0", "1000000", "10000", true, "before", "lower", null, null));
ranges.add(new RangeParameters("created", "2015-09-29T10:45:15.729Z", "2016-09-29T10:45:15.729Z", "+100DAY", true, "before", "lower", null, null));
List<String>includes = new ArrayList<String>();
includes.add("upper");
includes.add("outer");
List<String>includes2 = new ArrayList<String>();
includes2.add("lower");
List<String> other = new ArrayList<String>();
other.add("before");
ranges.add(new RangeParameters("content.size", "0", "1000000", "10000", true, other, includes, null, null));
ranges.add(new RangeParameters("created", "2015-09-29T10:45:15.729Z", "2016-09-29T10:45:15.729Z", "+100DAY", true, other, includes2, null, null));
params.setRanges(ranges);
StringBuilder urlBuilder = new StringBuilder();
client.buildRangeParameters(params, encoder, urlBuilder);
@@ -486,15 +503,15 @@ public class SolrQueryHTTPClientTest
assertTrue(url.contains("&f.content.size.facet.range.start=0"));
assertTrue(url.contains("&f.content.size.facet.range.end=1000000"));
assertTrue(url.contains("&f.content.size.facet.range.gap=10000"));
assertTrue(url.contains("&f.content.size.facet.range.include=lower"));
assertTrue(url.contains("&f.content.size.facet.range.other=before"));
assertTrue(url.contains("&f.content.size.facet.range.include=upper"));
assertTrue(url.contains("&f.content.size.facet.range.include=outer"));
assertTrue(url.contains("&f.content.size.facet.range.hardend=true"));
assertTrue(url.contains("&facet.range=created"));
assertTrue(url.contains("&f.created.facet.range.start=2015-09-29T10%3A45%3A15.729Z"));
assertTrue(url.contains("&f.created.facet.range.end=2016-09-29T10%3A45%3A15.729Z"));
assertTrue(url.contains("&f.created.facet.range.gap=%2B100DAY"));
assertTrue(url.contains("&f.created.facet.range.include=lower"));
assertTrue(url.contains("&f.created.facet.range.other=before"));
assertTrue(url.contains("&f.created.facet.range.include=lower"));
assertTrue(url.contains("&f.created.facet.range.hardend=true"));
}