SEARCH-121: Facet fields need to return a List in the search context

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@130683 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Gethin James
2016-09-15 11:15:20 +00:00
parent 08eb4aa4dc
commit f1b0d77105
4 changed files with 13 additions and 11 deletions

View File

@@ -35,9 +35,9 @@ public class SearchContext
private final Consistency consistency;
private final List<FacetQueryContext> facetQueries;
private final SpellCheckContext spellCheck;
private final FacetFieldContext facetsFields;
private final List<FacetFieldContext> facetsFields;
public SearchContext(long lastTxId, List<FacetQueryContext> facetQueries, FacetFieldContext facetsFields, SpellCheckContext spellCheck)
public SearchContext(long lastTxId, List<FacetQueryContext> facetQueries, List<FacetFieldContext> facetsFields, SpellCheckContext spellCheck)
{
this.spellCheck = spellCheck;
if (lastTxId > 0)
@@ -67,7 +67,7 @@ public class SearchContext
return spellCheck;
}
public FacetFieldContext getFacetsFields()
public List<FacetFieldContext> getFacetsFields()
{
return facetsFields;
}

View File

@@ -141,7 +141,7 @@ public class ResultMapper
Map<String, Integer> facetQueries = solrResultSet.getFacetQueries();
List<FacetQueryContext> facetResults = null;
SpellCheckContext spellCheckContext = null;
FacetFieldContext ffc = null;
List<FacetFieldContext> ffcs = null;
//Facet queries
if(facetQueries!= null && !facetQueries.isEmpty())
@@ -157,6 +157,7 @@ public class ResultMapper
Map<String, List<Pair<String, Integer>>> facetFields = solrResultSet.getFieldFacets();
if (facetFields != null && !facetFields.isEmpty())
{
ffcs = new ArrayList<>(facetFields.size());
for (Entry<String, List<Pair<String, Integer>>> facet:facetFields.entrySet())
{
if (facet.getValue() != null && !facet.getValue().isEmpty())
@@ -166,7 +167,7 @@ public class ResultMapper
{
buckets.add(new Bucket(buck.getFirst(), buck.getSecond()));
}
ffc = new FacetFieldContext(facet.getKey(), buckets);
ffcs.add(new FacetFieldContext(facet.getKey(), buckets));
}
}
}
@@ -179,7 +180,7 @@ public class ResultMapper
}
//Put it all together
context = new SearchContext(solrResultSet.getLastIndexedTxId(), facetResults, ffc, spellCheckContext);
context = new SearchContext(solrResultSet.getLastIndexedTxId(), facetResults, ffcs, spellCheckContext);
return isNullContext(context)?null:context;
}