--- drools2_src/drools-process/drools-process-task/src/main/java/org/drools/process/workitem/wsht/WSHumanTaskHandler.java 2010-10-27 15:31:22.000000000 +0200 +++ drools_src/drools-process/drools-process-task/src/main/java/org/drools/process/workitem/wsht/WSHumanTaskHandler.java 2010-10-27 15:31:25.000000000 +0200 @@ -79,6 +79,9 @@ } public void executeWorkItem(WorkItem workItem, WorkItemManager manager) { + + long processInstanceId = workItem.getProcessInstanceId(); + if (this.manager == null) { this.manager = manager; } else { @@ -138,29 +141,27 @@ PeopleAssignments assignments = new PeopleAssignments(); List potentialOwners = new ArrayList(); - String actorId = (String) workItem.getParameter("ActorId"); + String actorId = (String) workItem.getParameter("ActorId"); if (actorId != null) { - String[] actorIds = actorId.split(","); for (String id: actorIds) { User user = new User(); user.setId(id.trim()); potentialOwners.add(user); } - //Set the first user as creator ID??? hmmm might be wrong - if (potentialOwners.size() > 0){ - taskData.setCreatedBy((User)potentialOwners.get(0)); - } - } + + //Set the first user as creator ID??? hmmm might be wrong + if (potentialOwners.size() > 0){ + taskData.setCreatedBy((User)potentialOwners.get(0)); + } + } String groupId = (String) workItem.getParameter("GroupId"); if (groupId != null) { - String[] groupIds = groupId.split(","); for (String id: groupIds) { potentialOwners.add(new Group(id)); } - } assignments.setPotentialOwners(potentialOwners); @@ -187,6 +188,7 @@ e.printStackTrace(); } } + task.setProcessInstanceId(processInstanceId); client.addTask(task, content, null); }