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);
+ }
}
}
}