From eb0a69770d033bb18efd95bc9b144488236cb86b Mon Sep 17 00:00:00 2001 From: Ahmed Owian Date: Thu, 16 Oct 2014 18:24:25 +0000 Subject: [PATCH] ACE-3121: Workflow Admin Console: Cannot change priority for activiti - Handled priority property for Task - Determine if DelegateTask also needs similar handling git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@88373 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../ActivitiPriorityPropertyHandler.java | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/source/java/org/alfresco/repo/workflow/activiti/properties/ActivitiPriorityPropertyHandler.java b/source/java/org/alfresco/repo/workflow/activiti/properties/ActivitiPriorityPropertyHandler.java index 90aa2e4a0e..d60740d16f 100644 --- a/source/java/org/alfresco/repo/workflow/activiti/properties/ActivitiPriorityPropertyHandler.java +++ b/source/java/org/alfresco/repo/workflow/activiti/properties/ActivitiPriorityPropertyHandler.java @@ -41,8 +41,31 @@ public class ActivitiPriorityPropertyHandler extends ActivitiTaskPropertyHandler @Override protected Object handleTaskProperty(Task task, TypeDefinition type, QName key, Serializable value) { - checkType(key, value, Integer.class); - task.setPriority((Integer) value); + int priority = -1; + // ACE-3121: According to bpmModel.xml, priority should be an int with allowed values {1,2,3} + // It could be a String that converts to an int, like when coming from WorkflowInterpreter.java + if (value instanceof String) + { + try + { + priority = Integer.parseInt((String) value); + } + catch (NumberFormatException e) + { + return DO_NOT_ADD; + } + } + else + { + checkType(key, value, Integer.class); + priority = (Integer) value; + } + + if (1 <= priority && priority <= 3) + { + task.setPriority(priority); + } + return DO_NOT_ADD; }