From ab12a9642984d1242f6e7c08a4f6a41a84159e12 Mon Sep 17 00:00:00 2001 From: Mark Hibbins Date: Wed, 12 Mar 2014 16:03:24 +0000 Subject: [PATCH] RM-1309, Made the configuration of the node property suggestion functionality easier by moving list of types/aspects to global properties file git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@64027 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../alfresco-global.properties | 2 ++ .../extended-repository-context.xml | 5 +---- .../NodeParameterSuggesterBootstrap.java | 21 ++++++++++++------- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/alfresco-global.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/alfresco-global.properties index 1082427533..4001c02d90 100644 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/alfresco-global.properties +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/alfresco-global.properties @@ -47,3 +47,5 @@ rm.autocompletesuggestion.maxsuggestions.path=5 rm.autocompletesuggestion.maxsuggestions.node=5 # The maximum number of date suggestions to supply rm.autocompletesuggestion.maxsuggestions.date=5 +# Comma separated list of types/aspects to be used by the node parameter autocomplete suggester +rm.autocompletesuggestion.nodeParameterSuggester.aspectsAndTypes=rma:record,cm:content diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/extended-repository-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/extended-repository-context.xml index b320013cc8..3ca1c3964e 100644 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/extended-repository-context.xml +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/extended-repository-context.xml @@ -203,10 +203,7 @@ - - rma:record - cm:content - + ${rm.autocompletesuggestion.nodeParameterSuggester.aspectsAndTypes} diff --git a/rm-server/source/java/org/alfresco/repo/action/parameter/NodeParameterSuggesterBootstrap.java b/rm-server/source/java/org/alfresco/repo/action/parameter/NodeParameterSuggesterBootstrap.java index a04106f041..1cdab3d121 100755 --- a/rm-server/source/java/org/alfresco/repo/action/parameter/NodeParameterSuggesterBootstrap.java +++ b/rm-server/source/java/org/alfresco/repo/action/parameter/NodeParameterSuggesterBootstrap.java @@ -18,6 +18,7 @@ */ package org.alfresco.repo.action.parameter; +import java.util.ArrayList; import java.util.List; import org.alfresco.service.namespace.NamespaceService; @@ -38,8 +39,8 @@ public class NodeParameterSuggesterBootstrap /** namespace service */ private NamespaceService namespaceService; - /** map of record metadata aspects against file plan type */ - private List nodeParameterProcessorAspectsNames; + /** configured node parameter processor aspect and type names, comma separated */ + private String nodeParameterProcessorAspectsNames; /** node parameter processor */ private NodeParameterProcessor nodeParameterProcessor; @@ -47,7 +48,7 @@ public class NodeParameterSuggesterBootstrap /** * @param recordMetadataAspects map of record metadata aspects against file plan types */ - public void setNodeParameterProcessorAspects(List nodeParameterProcessorAspectsNames) + public void setNodeParameterProcessorAspects(String nodeParameterProcessorAspectsNames) { this.nodeParameterProcessorAspectsNames = nodeParameterProcessorAspectsNames; } @@ -77,13 +78,17 @@ public class NodeParameterSuggesterBootstrap if (nodeParameterProcessorAspectsNames != null) { - for (String name : nodeParameterProcessorAspectsNames) + String[] aspectsNames = this.nodeParameterProcessorAspectsNames.split(","); + for (String name : aspectsNames) { - // convert to qname and save it - QName aspect = QName.createQName(name, namespaceService); + if((name != null) && !"".equals(name.trim())) + { + // convert to qname and save it + QName aspect = QName.createQName(name.trim(), namespaceService); - // register with node parameter processor - this.nodeParameterProcessor.addSuggestionDefinition(aspect); + // register with node parameter processor + this.nodeParameterProcessor.addSuggestionDefinition(aspect); + } } } }