diff --git a/config/alfresco/solr-facets-context.xml b/config/alfresco/solr-facets-context.xml index f212d55efd..153b6e5585 100644 --- a/config/alfresco/solr-facets-context.xml +++ b/config/alfresco/solr-facets-context.xml @@ -107,13 +107,19 @@ - - + + @{http://www.alfresco.org/model/content/1.0}created @{http://www.alfresco.org/model/content/1.0}modified + + + + + + diff --git a/source/java/org/alfresco/repo/search/impl/solr/facet/FacetFieldBean.java b/source/java/org/alfresco/repo/search/impl/solr/facet/FacetFieldBean.java new file mode 100644 index 0000000000..9694fb310f --- /dev/null +++ b/source/java/org/alfresco/repo/search/impl/solr/facet/FacetFieldBean.java @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2005-2014 Alfresco Software Limited. + * + * This file is part of Alfresco + * + * Alfresco is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Alfresco is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Alfresco. If not, see . + */ + +package org.alfresco.repo.search.impl.solr.facet; + +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; + +import org.springframework.extensions.surf.util.ParameterCheck; + +/** + * A simple bean class to provide facet fields. + * + * @author Jamal Kaabi-Mofrad + * @since 5.0 + */ +public class FacetFieldBean +{ + private final Set fields; + + public FacetFieldBean(Set fields) + { + ParameterCheck.mandatory("fields", fields); + this.fields = new HashSet<>(fields); + } + + public Set getFields() + { + return Collections.unmodifiableSet(this.fields); + } +} diff --git a/source/java/org/alfresco/repo/search/impl/solr/facet/SolrFacetHelper.java b/source/java/org/alfresco/repo/search/impl/solr/facet/SolrFacetHelper.java index c63b9666dc..ee02462781 100644 --- a/source/java/org/alfresco/repo/search/impl/solr/facet/SolrFacetHelper.java +++ b/source/java/org/alfresco/repo/search/impl/solr/facet/SolrFacetHelper.java @@ -51,7 +51,7 @@ public class SolrFacetHelper /** * Constructor * - * @param serviceRegistry + * @param facetQueryProviders */ public SolrFacetHelper(List facetQueryProviders) { diff --git a/source/java/org/alfresco/repo/search/impl/solr/facet/handler/AbstractFacetLabelDisplayHandler.java b/source/java/org/alfresco/repo/search/impl/solr/facet/handler/AbstractFacetLabelDisplayHandler.java index 5fdae7ad9b..8169516a2f 100644 --- a/source/java/org/alfresco/repo/search/impl/solr/facet/handler/AbstractFacetLabelDisplayHandler.java +++ b/source/java/org/alfresco/repo/search/impl/solr/facet/handler/AbstractFacetLabelDisplayHandler.java @@ -80,7 +80,7 @@ public abstract class AbstractFacetLabelDisplayHandler implements FacetLabelDisp /** * Set the registry to register with * - * @param registry a metadata extracter registry + * @param registry a facet label display handler registry */ public void setRegistry(FacetLabelDisplayHandlerRegistry registry) { diff --git a/source/java/org/alfresco/repo/search/impl/solr/facet/handler/DateBucketsDisplayHandler.java b/source/java/org/alfresco/repo/search/impl/solr/facet/handler/DateBucketsDisplayHandler.java index 8bb894f6fb..2dfcb2b796 100644 --- a/source/java/org/alfresco/repo/search/impl/solr/facet/handler/DateBucketsDisplayHandler.java +++ b/source/java/org/alfresco/repo/search/impl/solr/facet/handler/DateBucketsDisplayHandler.java @@ -30,6 +30,7 @@ import java.util.Map.Entry; import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.alfresco.repo.search.impl.solr.facet.FacetFieldBean; import org.alfresco.repo.search.impl.solr.facet.FacetQueryProvider; import org.alfresco.repo.search.impl.solr.facet.SolrFacetConfigException; import org.springframework.extensions.surf.util.ParameterCheck; @@ -52,7 +53,7 @@ public class DateBucketsDisplayHandler extends AbstractFacetLabelDisplayHandler ParameterCheck.mandatory("facetQueryFields", facetQueryFields); ParameterCheck.mandatory("dateBucketsMap", dateBucketsMap); - this.supportedFieldFacets = Collections.unmodifiableSet(facetQueryFields); + this.supportedFieldFacets = facetQueryFields; facetLabelMap = new HashMap<>(dateBucketsMap.size()); Map> facetQueries = new LinkedHashMap<>(facetQueryFields.size()); @@ -84,6 +85,11 @@ public class DateBucketsDisplayHandler extends AbstractFacetLabelDisplayHandler this.facetQueriesMap = Collections.unmodifiableMap(facetQueries); } + public DateBucketsDisplayHandler(FacetFieldBean dateFacetField, LinkedHashMap dateBucketsMap) + { + this(dateFacetField.getFields(), dateBucketsMap); + } + @Override public FacetLabel getDisplayLabel(String value) { @@ -96,5 +102,4 @@ public class DateBucketsDisplayHandler extends AbstractFacetLabelDisplayHandler { return this.facetQueriesMap; } - }