mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-08 14:51:49 +00:00
Merged searchrep (5.2.1) to 5.2.N (5.2.1)
137016 gjames: SEARCH-340: Changing range tags to label git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@137088 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -26,27 +26,6 @@
|
|||||||
package org.alfresco.repo.search.impl.solr;
|
package org.alfresco.repo.search.impl.solr;
|
||||||
|
|
||||||
import static org.alfresco.util.SearchDateConversion.parseDateInterval;
|
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.error.AlfrescoRuntimeException;
|
||||||
import org.alfresco.opencmis.dictionary.CMISStrictDictionaryService;
|
import org.alfresco.opencmis.dictionary.CMISStrictDictionaryService;
|
||||||
import org.alfresco.repo.admin.RepositoryState;
|
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.beans.factory.InitializingBean;
|
||||||
import org.springframework.extensions.surf.util.I18NUtil;
|
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
|
* @author Andy
|
||||||
*/
|
*/
|
||||||
@@ -840,7 +836,7 @@ public class SolrQueryHTTPClient implements BeanFactoryAware, InitializingBean
|
|||||||
{
|
{
|
||||||
for (RangeParameters aRange:searchParameters.getRanges())
|
for (RangeParameters aRange:searchParameters.getRanges())
|
||||||
{
|
{
|
||||||
Optional<String> found = pivotKeys.stream().filter(aKey -> aRange.getTags().contains(aKey)).findFirst();
|
Optional<String> found = pivotKeys.stream().filter(aKey -> aKey.equals(aRange.getLabel())).findFirst();
|
||||||
|
|
||||||
if (found.isPresent())
|
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);
|
IntervalSet rangeSet = parseDateInterval(new IntervalSet(facetRange.getStart(), facetRange.getEnd(), facetRange.getGap(), startIncl, endInc), isDate);
|
||||||
url.append("&facet.range=");
|
url.append("&facet.range=");
|
||||||
|
|
||||||
if(!facetRange.getTags().isEmpty())
|
if(facetRange.getLabel()!= null && !facetRange.getLabel().isEmpty())
|
||||||
{
|
{
|
||||||
url.append(encoder.encode("{!", "UTF-8"));
|
url.append(encoder.encode("{!", "UTF-8"));
|
||||||
|
url.append(encoder.encode(String.format("tag=%s ",facetRange.getLabel()), "UTF-8"));
|
||||||
for(String tag:facetRange.getTags())
|
|
||||||
{
|
|
||||||
url.append(encoder.encode(String.format("tag=%s ",tag), "UTF-8"));
|
|
||||||
}
|
|
||||||
url.append(encoder.encode("}", "UTF-8"));
|
url.append(encoder.encode("}", "UTF-8"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -409,7 +409,7 @@ public class SolrQueryHTTPClientTest
|
|||||||
null, null, null, null,null, null, null)
|
null, null, null, null,null, null, null)
|
||||||
));
|
));
|
||||||
List<RangeParameters> ranges = new ArrayList<RangeParameters>();
|
List<RangeParameters> ranges = new ArrayList<RangeParameters>();
|
||||||
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);
|
params.setRanges(ranges);
|
||||||
|
|
||||||
StringBuilder urlBuilder = new StringBuilder();
|
StringBuilder urlBuilder = new StringBuilder();
|
||||||
@@ -463,18 +463,15 @@ public class SolrQueryHTTPClientTest
|
|||||||
List<String> filters = new ArrayList<String>();
|
List<String> filters = new ArrayList<String>();
|
||||||
filters.add("bart");
|
filters.add("bart");
|
||||||
filters.add("homer");
|
filters.add("homer");
|
||||||
List<String> tags = new ArrayList<String>();
|
|
||||||
tags.add("dt");
|
|
||||||
tags.add("doc");
|
|
||||||
|
|
||||||
ranges.clear();
|
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);
|
params.setRanges(ranges);
|
||||||
urlBuilder = new StringBuilder();
|
urlBuilder = new StringBuilder();
|
||||||
client.buildRangeParameters(params, encoder, urlBuilder);
|
client.buildRangeParameters(params, encoder, urlBuilder);
|
||||||
String url2 = urlBuilder.toString();
|
String url2 = urlBuilder.toString();
|
||||||
assertTrue(url2.contains("&facet=true"));
|
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.start=0"));
|
||||||
assertTrue(url2.contains("&f.content.size.facet.range.end=1000000"));
|
assertTrue(url2.contains("&f.content.size.facet.range.end=1000000"));
|
||||||
assertTrue(url2.contains("&f.content.size.facet.range.gap=10000"));
|
assertTrue(url2.contains("&f.content.size.facet.range.gap=10000"));
|
||||||
|
Reference in New Issue
Block a user