From 2bbf9c822e9522edf4ef77b9fd373ea2f50b9397 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 14 Mar 2014 15:31:03 +0000 Subject: [PATCH] Merged HEAD-BUG-FIX (4.3/Cloud) to HEAD (4.3/Cloud) 63064: Merged V4.2-BUG-FIX (4.2.2) to HEAD-BUG-FIX (Cloud/4.3) 62673: Merged V4.1-BUG-FIX (4.1.8) to V4.2-BUG-FIX (4.2.2) 62610: MNT-9587: Workflows task properties values are not compliant with data-dictionary-property-definitions. Add default name as "Task" for bpm:workflowTasks and fix WorkflowModelBuilder to return default property values if no were set git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@64252 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../web/scripts/workflow/WorkflowModelBuilder.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/source/java/org/alfresco/repo/web/scripts/workflow/WorkflowModelBuilder.java b/source/java/org/alfresco/repo/web/scripts/workflow/WorkflowModelBuilder.java index a8e3ba4814..6b5c0697cc 100644 --- a/source/java/org/alfresco/repo/web/scripts/workflow/WorkflowModelBuilder.java +++ b/source/java/org/alfresco/repo/web/scripts/workflow/WorkflowModelBuilder.java @@ -422,7 +422,8 @@ public class WorkflowModelBuilder keys = buildQNameKeys(propertyFilters); } - Map result = buildQNameProperties(properties, keys); + Map result = buildQNameProperties(properties, keys, task); + // ALF-18092: Special handling for the "hiddenTransitions" property, as it can be an empty string if (keys.contains(WorkflowModel.PROP_HIDDEN_TRANSITIONS)) { @@ -434,7 +435,7 @@ public class WorkflowModelBuilder } return result; } - + private Map buildPropertyLabels(WorkflowTask task, Map properties) { TypeDefinition taskType = task.getDefinition().getMetadata(); @@ -465,13 +466,20 @@ public class WorkflowModelBuilder }); } - private Map buildQNameProperties(Map properties, Collection keys) + private Map buildQNameProperties(Map properties, Collection keys, + WorkflowTask task) { + Map propDefs = task.getDefinition().getMetadata().getProperties(); Map model = new HashMap(); for (QName key : keys) { Object value = convertValue(properties.get(key)); String strKey = qNameConverter.mapQNameToName(key); + PropertyDefinition propDef = propDefs.get(key); + if ((value == null) && (propDef != null)) + { + value = propDef.getDefaultValue(); + } model.put(strKey, value); } return model;