[jboss-jira] [JBoss JIRA] Updated: (JBPM-1032) task-assign-events are sometimes fired when group assignment is performed
Tom Baeyens (JIRA)
jira-events at lists.jboss.org
Mon Sep 3 10:13:18 EDT 2007
[ http://jira.jboss.com/jira/browse/JBPM-1032?page=all ]
Tom Baeyens updated JBPM-1032:
------------------------------
Fix Version/s: jBPM jPDL 3.2.2
> task-assign-events are sometimes fired when group assignment is performed
> -------------------------------------------------------------------------
>
> Key: JBPM-1032
> URL: http://jira.jboss.com/jira/browse/JBPM-1032
> Project: JBoss jBPM
> Issue Type: Bug
> Components: Core Engine
> Affects Versions: jBPM jPDL 3.2.1
> Reporter: Karsten Dello
> Assigned To: Tom Baeyens
> Fix For: jBPM jPDL 3.2.2
>
>
> A "task-assingn"-event is sometimes fired, if only group assignment (setting pooledActors) is performed. This always happens when a swimlane is in use which specifies pooled-actors (junit test 1).
> On the other hand, when the pooled-actors are expressed via an assignment-element as an child element of a task (junit test 2), the event is not fired.
> From my point of view the engine should either:
> a) not fire an task-assign-event in case of group assignments at all
> b) fire it consequently at all group assignments events
> c) fire a different event
> Ronald suggested in the forum thread (link above) to introduce a seperate event "task-group-assign" in case a task gets assigned to a group. In my opinion this would be the best solution to this problem.
> public void testTaskAssignIsFiredWithSwimlaneGroupAssignment() {
> ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
> "<process-definition name=\"someprocessxyz\">" +
>
> " <event type=\"task-assign\">" +
> " <script>System.out.println(\"task-assign-event fired!\");" +
> " executionContext.setVariable(\"task-assign-event-has-fired\",Boolean.TRUE);</script>"+
> " </event>"+
> " <start-state>" +
> " <transition to='a' />" +
> " </start-state>" +
>
> " <swimlane name='swimlane22'>"+
> " <assignment pooled-actors='jan,nina'/>"+
> " </swimlane>"+
> " <task-node name='a'>" +
> " <task name='sometask' swimlane='swimlane22'/>" +
> " <transition to='end'/>"+
> " </task-node>"+
>
> " <end-state name='end' />" +
>
> "</process-definition>"
> );
> ProcessInstance processInstance = new ProcessInstance(processDefinition);
> Token token = processInstance.getRootToken();
>
> processInstance.signal();
> Object o=processInstance.getContextInstance().getVariable("task-assign-event-has-fired");
> assertEquals(Boolean.TRUE, o);
>
> }
> public void testTaskAssignIsNOTFiredWithSwimlaneGroupAssignment() {
> ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
> "<process-definition name=\"someprocessxyz\">" +
>
> " <event type=\"task-assign\">" +
> " <script>System.out.println(\"task-assign-event fired!\")"+
> " executionContext.setVariable(\"task-assign-event-has-fired\",Boolean.TRUE);</script>"+
> " </event>"+
> " <start-state>" +
> " <transition to='a' />" +
> " </start-state>" +
>
> " <task-node name='a'>" +
> " <task name='sometask'>" +
> " <assignment pooled-actors='jan,nina'/>"+
> " </task>"+
> " <transition to='end'/>"+
> " </task-node>"+
>
> " <end-state name='end' />" +
>
> "</process-definition>"
> );
> ProcessInstance processInstance = new ProcessInstance(processDefinition);
> Token token = processInstance.getRootToken();
> processInstance.signal();
>
> Object o=processInstance.getContextInstance().getVariable("task-assign-event-has-fired");
> assertEquals(Boolean.TRUE, o);
> }
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list