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>
<bean id="facet.siteTitleDisplayHandler" class="org.alfresco.repo.search.impl.solr.facet.handler.SiteTitleDisplayHandler" parent="baseFacetLabelDisplayHandler" > <bean id="facet.siteTitleDisplayHandler" class="org.alfresco.repo.search.impl.solr.facet.handler.SiteTitleDisplayHandler" parent="baseFacetLabelDisplayHandler" >
<constructor-arg> <constructor-arg index="0">
<set> <set>
<value>SITE</value> <value>SITE</value>
</set> </set>
</constructor-arg> </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>
<bean id="facet.contentSizeBucketsDisplayHandler" class="org.alfresco.repo.search.impl.solr.facet.handler.ContentSizeBucketsDisplayHandler" parent="baseFacetLabelDisplayHandler" > <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.Collections;
import java.util.HashSet; import java.util.HashSet;
import java.util.Map;
import java.util.Set; import java.util.Set;
import org.alfresco.service.cmr.site.SiteInfo; import org.alfresco.service.cmr.site.SiteInfo;
@@ -36,12 +37,19 @@ import org.springframework.extensions.surf.util.ParameterCheck;
*/ */
public class SiteTitleDisplayHandler extends AbstractFacetLabelDisplayHandler public class SiteTitleDisplayHandler extends AbstractFacetLabelDisplayHandler
{ {
private final Map<String, String> nonSiteLocationsLabels;
public SiteTitleDisplayHandler(Set<String> supportedFieldFacets) public SiteTitleDisplayHandler(Set<String> supportedFieldFacets)
{
this(supportedFieldFacets, Collections.<String, String> emptyMap());
}
public SiteTitleDisplayHandler(Set<String> supportedFieldFacets, Map<String, String> nonSiteLocationsLabels)
{ {
ParameterCheck.mandatory("supportedFieldFacets", supportedFieldFacets); ParameterCheck.mandatory("supportedFieldFacets", supportedFieldFacets);
this.supportedFieldFacets = Collections.unmodifiableSet(new HashSet<>(supportedFieldFacets)); this.supportedFieldFacets = Collections.unmodifiableSet(new HashSet<>(supportedFieldFacets));
this.nonSiteLocationsLabels = nonSiteLocationsLabels == null ? Collections.<String, String> emptyMap() : nonSiteLocationsLabels;
} }
@Override @Override
@@ -49,9 +57,19 @@ public class SiteTitleDisplayHandler extends AbstractFacetLabelDisplayHandler
{ {
// Solr returns the site short name encoded // Solr returns the site short name encoded
value = ISO9075.decode(value); value = ISO9075.decode(value);
SiteService siteService = serviceRegistry.getSiteService(); String title = null;
SiteInfo siteInfo = siteService.getSite(value);
String title = siteInfo != null ? siteInfo.getTitle() : value; 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); return new FacetLabel(value, title, -1);
} }
} }