diff --git a/source/java/org/alfresco/repo/workflow/WorkflowObjectFactory.java b/source/java/org/alfresco/repo/workflow/WorkflowObjectFactory.java index 779388029f..8685249745 100644 --- a/source/java/org/alfresco/repo/workflow/WorkflowObjectFactory.java +++ b/source/java/org/alfresco/repo/workflow/WorkflowObjectFactory.java @@ -195,6 +195,15 @@ public class WorkflowObjectFactory isTaskNode, transitions); } + public WorkflowTransition createTransition(String id, + String defaultTitle, String defaultDescription, + boolean isDefault, String... baseLabelKeys) + { + String title = getLabel(baseLabelKeys, TITLE_LABEL, defaultTitle); + String description = getLabel(baseLabelKeys, TITLE_LABEL, defaultDescription); + return new WorkflowTransition(id, title, description, isDefault); + } + public WorkflowTaskDefinition createTaskDefinition(String id, WorkflowNode node, String typeName, boolean isStart) { TypeDefinition metaData = getTaskTypeDefinition(typeName, isStart); @@ -276,6 +285,28 @@ public class WorkflowObjectFactory String keyBase = displayId.replace(":", "_"); String key = keyBase+ "." + labelKey; String label = messageService.getMessage(key); + return getDefaultLabel(label, defaults); + } + + private String getLabel(String[] locations, String labelKey, String... defaults) + { + String label = null; + int i = 0; + while(label == null && i taskActivities = findUserTasks(startEvent); for(PvmActivity act : taskActivities) { String formKey = getFormKey(act); - defs.add(typeConverter.getTaskDefinition(act, formKey, processDefinition.getId())); + defs.add(typeConverter.getTaskDefinition(act, formKey, processDefinition.getId(), false)); } return defs;