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

@@ -69,11 +69,17 @@
</bean>
<bean id="facet.siteTitleDisplayHandler" class="org.alfresco.repo.search.impl.solr.facet.handler.SiteTitleDisplayHandler" parent="baseFacetLabelDisplayHandler" >
<constructor-arg>
<constructor-arg index="0">
<set>
<value>SITE</value>
</set>
</constructor-arg>
<constructor-arg index="1">
<map>
<entry key="_REPOSITORY_" value="location.path.repository" />
<entry key="_SHARED_FILES_" value="location.path.shared" />
</map>
</constructor-arg>
</bean>
<bean id="facet.contentSizeBucketsDisplayHandler" class="org.alfresco.repo.search.impl.solr.facet.handler.ContentSizeBucketsDisplayHandler" parent="baseFacetLabelDisplayHandler" >

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);
}
}