diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/facet/solr-facet-config-admin.get.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/facet/solr-facet-config-admin.get.json.ftl index 71103c4aff..f3c58b9ca5 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/facet/solr-facet-config-admin.get.json.ftl +++ b/config/alfresco/templates/webscripts/org/alfresco/repository/facet/solr-facet-config-admin.get.json.ftl @@ -1,7 +1,8 @@ +<#macro stripEmptyNamespace qnameString>${qnameString?replace("{}", "")} <#macro facetJSON facet> <#escape x as jsonUtils.encodeJSONString(x)> "filterID" : "${facet.filterID}", - "facetQName" : "${facet.facetQName}", + "facetQName" : "<@stripEmptyNamespace qnameString=facet.facetQName?string/>", "displayName" : "${facet.displayName}", "displayControl" : "${facet.displayControl}", "maxFilters" : ${facet.maxFilters?c}, diff --git a/source/java/org/alfresco/repo/web/scripts/facet/SolrFacetConfigAdminPost.java b/source/java/org/alfresco/repo/web/scripts/facet/SolrFacetConfigAdminPost.java index 340639c331..490dca46a8 100644 --- a/source/java/org/alfresco/repo/web/scripts/facet/SolrFacetConfigAdminPost.java +++ b/source/java/org/alfresco/repo/web/scripts/facet/SolrFacetConfigAdminPost.java @@ -80,7 +80,7 @@ public class SolrFacetConfigAdminPost extends AbstractSolrFacetConfigAdminWebScr validateFilterID(filterID); final String facetQNameStr = json.getString(PARAM_FACET_QNAME); - final QName facetQName = QName.resolveToQName(namespaceService, facetQNameStr); + final QName facetQName = QName.createQName(facetQNameStr, namespaceService); final String displayName = json.getString(PARAM_DISPLAY_NAME); final String displayControl = json.getString(PARAM_DISPLAY_CONTROL); final int maxFilters = json.getInt(PARAM_MAX_FILTERS); diff --git a/source/java/org/alfresco/repo/web/scripts/facet/SolrFacetConfigAdminPut.java b/source/java/org/alfresco/repo/web/scripts/facet/SolrFacetConfigAdminPut.java index 3f2221acc9..6288b2311f 100644 --- a/source/java/org/alfresco/repo/web/scripts/facet/SolrFacetConfigAdminPut.java +++ b/source/java/org/alfresco/repo/web/scripts/facet/SolrFacetConfigAdminPut.java @@ -137,7 +137,11 @@ public class SolrFacetConfigAdminPut extends AbstractSolrFacetConfigAdminWebScri final String filterID = json.getString(PARAM_FILTER_ID); // Must exist final String facetQNameStr = getValue(String.class, json.opt(PARAM_FACET_QNAME), null); - final QName facetQName = (facetQNameStr == null) ? null : QName.resolveToQName(namespaceService, facetQNameStr); + + // Note that in resolving the QName string here, we expect there to be some facet QNames which are not + // really QNames. These are SOLR/SearchService 'specials', examples being "SITE" or "TAG". + // These will be resolved here to a QName with no namespace. + final QName facetQName = (facetQNameStr == null) ? null : QName.createQName(facetQNameStr, namespaceService); final String displayName = getValue(String.class, json.opt(PARAM_DISPLAY_NAME), null); final String displayControl = getValue(String.class, json.opt(PARAM_DISPLAY_CONTROL), null); final int maxFilters = getValue(Integer.class, json.opt(PARAM_MAX_FILTERS), -1);