ACE-2992: Added post processing logic to return the appropriate label keys for "_REPOSITORY_" & "_SHARED_FILES_" Site's facet values.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@87847 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Jamal Kaabi-Mofrad
2014-10-13 12:13:08 +00:00
parent 33da30e3b8
commit c8a6a9847c
2 changed files with 28 additions and 4 deletions

View File

@@ -21,6 +21,7 @@ package org.alfresco.repo.search.impl.solr.facet.handler;
import java.util.Collections;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import org.alfresco.service.cmr.site.SiteInfo;
@@ -36,12 +37,19 @@ import org.springframework.extensions.surf.util.ParameterCheck;
*/
public class SiteTitleDisplayHandler extends AbstractFacetLabelDisplayHandler
{
private final Map<String, String> nonSiteLocationsLabels;
public SiteTitleDisplayHandler(Set<String> supportedFieldFacets)
{
this(supportedFieldFacets, Collections.<String, String> emptyMap());
}
public SiteTitleDisplayHandler(Set<String> supportedFieldFacets, Map<String, String> nonSiteLocationsLabels)
{
ParameterCheck.mandatory("supportedFieldFacets", supportedFieldFacets);
this.supportedFieldFacets = Collections.unmodifiableSet(new HashSet<>(supportedFieldFacets));
this.nonSiteLocationsLabels = nonSiteLocationsLabels == null ? Collections.<String, String> emptyMap() : nonSiteLocationsLabels;
}
@Override
@@ -49,9 +57,19 @@ public class SiteTitleDisplayHandler extends AbstractFacetLabelDisplayHandler
{
// Solr returns the site short name encoded
value = ISO9075.decode(value);
SiteService siteService = serviceRegistry.getSiteService();
SiteInfo siteInfo = siteService.getSite(value);
String title = siteInfo != null ? siteInfo.getTitle() : value;
String title = null;
if (nonSiteLocationsLabels.containsKey(value))
{
title = nonSiteLocationsLabels.get(value);
}
else
{
SiteService siteService = serviceRegistry.getSiteService();
SiteInfo siteInfo = siteService.getSite(value);
title = siteInfo != null ? siteInfo.getTitle() : value;
}
return new FacetLabel(value, title, -1);
}
}