From b64489e53a9dc156771d39c7d2dbadea7bb78330 Mon Sep 17 00:00:00 2001 From: Gavin Cornwell Date: Fri, 20 Mar 2009 13:42:28 +0000 Subject: [PATCH] - Added support for 'LIST' constraint type, now if a property that has this constraint is shown on a form a drop down list of the allowable values is rendered - Added new generic 'select' control which given a list of values renders a drop down menu git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13702 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../repo/forms/processor/NodeHandler.java | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/source/java/org/alfresco/repo/forms/processor/NodeHandler.java b/source/java/org/alfresco/repo/forms/processor/NodeHandler.java index 03d98acaf0..bff8b7a299 100644 --- a/source/java/org/alfresco/repo/forms/processor/NodeHandler.java +++ b/source/java/org/alfresco/repo/forms/processor/NodeHandler.java @@ -309,10 +309,30 @@ public class NodeHandler extends AbstractHandler Map constraintParams = constraint.getParameters(); if (constraintParams != null) { + // TODO: Just return the param value object, don't convert to String fieldConstraintParams = new HashMap(constraintParams.size()); for (String name : constraintParams.keySet()) { - fieldConstraintParams.put(name, constraintParams.get(name).toString()); + Object paramValue = constraintParams.get(name); + + if (paramValue instanceof List) + { + List paramList = (List)paramValue; + StringBuilder builder = new StringBuilder(); + for (int x = 0; x < paramList.size(); x++) + { + if (x > 0) + { + builder.append(","); + } + + builder.append(paramList.get(x)); + } + + paramValue = builder.toString(); + } + + fieldConstraintParams.put(name, paramValue.toString()); } } FieldConstraint fieldConstraint = fieldDef.new FieldConstraint(