diff --git a/source/java/org/alfresco/repo/search/impl/solr/SolrQueryHTTPClient.java b/source/java/org/alfresco/repo/search/impl/solr/SolrQueryHTTPClient.java index edf9063565..c8620b2f7d 100644 --- a/source/java/org/alfresco/repo/search/impl/solr/SolrQueryHTTPClient.java +++ b/source/java/org/alfresco/repo/search/impl/solr/SolrQueryHTTPClient.java @@ -26,27 +26,6 @@ package org.alfresco.repo.search.impl.solr; import static org.alfresco.util.SearchDateConversion.parseDateInterval; -import static org.alfresco.util.SearchDateConversion.parseDateString; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.Reader; -import java.io.UnsupportedEncodingException; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Optional; -import java.util.Set; -import java.util.StringJoiner; - -import javax.servlet.http.HttpServletResponse; - import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.opencmis.dictionary.CMISStrictDictionaryService; import org.alfresco.repo.admin.RepositoryState; @@ -113,6 +92,23 @@ import org.springframework.beans.factory.BeanFactoryAware; import org.springframework.beans.factory.InitializingBean; import org.springframework.extensions.surf.util.I18NUtil; +import javax.servlet.http.HttpServletResponse; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.Reader; +import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Optional; +import java.util.Set; +import java.util.StringJoiner; + /** * @author Andy */ @@ -840,7 +836,7 @@ public class SolrQueryHTTPClient implements BeanFactoryAware, InitializingBean { for (RangeParameters aRange:searchParameters.getRanges()) { - Optional found = pivotKeys.stream().filter(aKey -> aRange.getTags().contains(aKey)).findFirst(); + Optional found = pivotKeys.stream().filter(aKey -> aKey.equals(aRange.getLabel())).findFirst(); if (found.isPresent()) { @@ -885,14 +881,10 @@ public class SolrQueryHTTPClient implements BeanFactoryAware, InitializingBean IntervalSet rangeSet = parseDateInterval(new IntervalSet(facetRange.getStart(), facetRange.getEnd(), facetRange.getGap(), startIncl, endInc), isDate); url.append("&facet.range="); - if(!facetRange.getTags().isEmpty()) + if(facetRange.getLabel()!= null && !facetRange.getLabel().isEmpty()) { url.append(encoder.encode("{!", "UTF-8")); - - for(String tag:facetRange.getTags()) - { - url.append(encoder.encode(String.format("tag=%s ",tag), "UTF-8")); - } + url.append(encoder.encode(String.format("tag=%s ",facetRange.getLabel()), "UTF-8")); url.append(encoder.encode("}", "UTF-8")); } diff --git a/source/test-java/org/alfresco/repo/search/impl/solr/SolrQueryHTTPClientTest.java b/source/test-java/org/alfresco/repo/search/impl/solr/SolrQueryHTTPClientTest.java index 55c0a6f590..7c2773e123 100644 --- a/source/test-java/org/alfresco/repo/search/impl/solr/SolrQueryHTTPClientTest.java +++ b/source/test-java/org/alfresco/repo/search/impl/solr/SolrQueryHTTPClientTest.java @@ -409,7 +409,7 @@ public class SolrQueryHTTPClientTest null, null, null, null,null, null, null) )); List ranges = new ArrayList(); - ranges.add(new RangeParameters("content.size", "0", "1000000", "10000", true, Collections.emptyList(), Collections.emptyList(), Arrays.asList("csize"), null)); + ranges.add(new RangeParameters("content.size", "0", "1000000", "10000", true, Collections.emptyList(), Collections.emptyList(), "csize", null)); params.setRanges(ranges); StringBuilder urlBuilder = new StringBuilder(); @@ -463,18 +463,15 @@ public class SolrQueryHTTPClientTest List filters = new ArrayList(); filters.add("bart"); filters.add("homer"); - List tags = new ArrayList(); - tags.add("dt"); - tags.add("doc"); - + ranges.clear(); - ranges.add(new RangeParameters("content.size", "0", "1000000", "10000", true, Collections.emptyList(), Collections.emptyList(), tags, filters)); + ranges.add(new RangeParameters("content.size", "0", "1000000", "10000", true, Collections.emptyList(), Collections.emptyList(), "doc", filters)); params.setRanges(ranges); urlBuilder = new StringBuilder(); client.buildRangeParameters(params, encoder, urlBuilder); String url2 = urlBuilder.toString(); assertTrue(url2.contains("&facet=true")); - assertTrue(url2.contains("&facet.range="+encoder.encode("{!tag=dt tag=doc }", "UTF-8")+"content.size")); + assertTrue(url2.contains("&facet.range="+encoder.encode("{!tag=doc }", "UTF-8")+"content.size")); 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"));