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;