Additional handling for "special" facet IDs (SITE, TAG etc). Part of ACE-2639.

This check-in ensures that those facet IDs are not prefixed with the '@' char like all other facet IDs.
The list is currently injected from solr-facets-context.xml, which required a slight refactoring of spring beans to make SolrFacetHelper a bean.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@85711 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Neil McErlean
2014-09-25 11:29:05 +00:00
parent c0da5f58ac
commit e52aede98f
4 changed files with 57 additions and 2 deletions

View File

@@ -104,6 +104,12 @@ public class Search extends BaseScopableProcessorExtension implements Initializi
this.solrFacetHelper = new SolrFacetHelper(services);
}
public void setSolrFacetHelper(SolrFacetHelper solrFacetHelper)
{
this.solrFacetHelper = solrFacetHelper;
}
/**
* Set the default store reference
*
@@ -717,8 +723,18 @@ public class Search extends BaseScopableProcessorExtension implements Initializi
{
for (String field: facets)
{
sp.addFieldFacet(new FieldFacet("@" + field));
final FieldFacet fieldFacet;
if (solrFacetHelper.isSpecialFacetId(field))
{
fieldFacet = new FieldFacet(field);
}
else
{
fieldFacet = new FieldFacet("@" + field);
}
sp.addFieldFacet(fieldFacet);
}
List<String> facetQueries = null;
// Workaround for ACE-1605
if (query.indexOf("created:") < 0 && query.indexOf("modified:") < 0)