diff --git a/config/alfresco/solr-facets-context.xml b/config/alfresco/solr-facets-context.xml
index 742181f2aa..f212d55efd 100644
--- a/config/alfresco/solr-facets-context.xml
+++ b/config/alfresco/solr-facets-context.xml
@@ -69,11 +69,17 @@
-
+
SITE
+
+
+
diff --git a/source/java/org/alfresco/repo/search/impl/solr/facet/handler/SiteTitleDisplayHandler.java b/source/java/org/alfresco/repo/search/impl/solr/facet/handler/SiteTitleDisplayHandler.java
index eb8bc89f4d..37f27dbd53 100644
--- a/source/java/org/alfresco/repo/search/impl/solr/facet/handler/SiteTitleDisplayHandler.java
+++ b/source/java/org/alfresco/repo/search/impl/solr/facet/handler/SiteTitleDisplayHandler.java
@@ -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 nonSiteLocationsLabels;
public SiteTitleDisplayHandler(Set supportedFieldFacets)
+ {
+ this(supportedFieldFacets, Collections. emptyMap());
+ }
+
+ public SiteTitleDisplayHandler(Set supportedFieldFacets, Map nonSiteLocationsLabels)
{
ParameterCheck.mandatory("supportedFieldFacets", supportedFieldFacets);
this.supportedFieldFacets = Collections.unmodifiableSet(new HashSet<>(supportedFieldFacets));
+ this.nonSiteLocationsLabels = nonSiteLocationsLabels == null ? Collections. 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);
}
}