diff --git a/source/java/org/alfresco/repo/search/impl/solr/facet/SolrFacetService.java b/source/java/org/alfresco/repo/search/impl/solr/facet/SolrFacetService.java index 02eb7ceb92..d739bf2496 100644 --- a/source/java/org/alfresco/repo/search/impl/solr/facet/SolrFacetService.java +++ b/source/java/org/alfresco/repo/search/impl/solr/facet/SolrFacetService.java @@ -123,7 +123,7 @@ public interface SolrFacetService public Set getFacetableProperties(QName contentClass); /** A simple POJO/DTO intended primarily for use in an FTL model and rendering in the JSON API. */ - public static class FacetablePropertyData + public static class FacetablePropertyData implements Comparable { private final PropertyDefinition propDef; private final String localisedTitle; @@ -180,6 +180,12 @@ public interface SolrFacetService return false; return true; } + + @Override public int compareTo(FacetablePropertyData that) + { + final int modelComparison = this.propDef.getModel().getName().compareTo(that.propDef.getModel().getName()); + return modelComparison != 0 ? modelComparison : + this.propDef.getName().compareTo(that.propDef.getName()); + } } - } diff --git a/source/java/org/alfresco/repo/search/impl/solr/facet/SolrFacetServiceImpl.java b/source/java/org/alfresco/repo/search/impl/solr/facet/SolrFacetServiceImpl.java index aa8d13abe6..2f1c574e7a 100644 --- a/source/java/org/alfresco/repo/search/impl/solr/facet/SolrFacetServiceImpl.java +++ b/source/java/org/alfresco/repo/search/impl/solr/facet/SolrFacetServiceImpl.java @@ -771,7 +771,7 @@ public class SolrFacetServiceImpl extends AbstractLifecycleBean implements SolrF @Override public Set getFacetableProperties() { - final Set result = new HashSet<>(); + final Set result = new TreeSet<>(); final List allContentClasses = CollectionUtils.flatten(dictionaryService.getAllAspects(), dictionaryService.getAllTypes()); @@ -785,7 +785,7 @@ public class SolrFacetServiceImpl extends AbstractLifecycleBean implements SolrF @Override public Set getFacetableProperties(QName contentClass) { - final Set result = new HashSet<>(); + final Set result = new TreeSet<>(); final Map propertyDefs = dictionaryService.getPropertyDefs(contentClass);