[
https://jira.jboss.org/jira/browse/JBPM-2487?page=com.atlassian.jira.plug...
]
Scott Peterson commented on JBPM-2487:
--------------------------------------
I got this working by adding start/end tags to the group. I suspect the real problem was
that I didn't understand how groups work -- without a <start> tag inside a
group, all states without an incoming transition become active at once.
Working jpdl:
<?xml version="1.0" encoding="UTF-8"?>
<process name="GroupReverse"
xmlns="http://jbpm.org/4.0/jpdl">
<start>
<transition to="first"/>
</start>
<state name="first">
<transition to="second-group"/>
</state>
<group name="second-group">
<start>
<transition to="second"/>
</start>
<state name="second">
<transition name="end" to="second-group-end"/>
<transition name="third" to="third"/>
</state>
<state name="third">
<transition name="end" to="second-group-end"/>
<transition name="second" to="second"/>
</state>
<end name="second-group-end">
<transition to="end"/>
</end>
</group>
<end name="end"/>
</process>
Bug in GroupActivity.execute(ExecutionImpl execution)
-----------------------------------------------------
Key: JBPM-2487
URL:
https://jira.jboss.org/jira/browse/JBPM-2487
Project: jBPM
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Runtime Engine
Affects Versions: jBPM 4.0
Reporter: Michael Wohlfart
Assignee: Tom Baeyens
Priority: Minor
Fix For: jBPM 4.2
Attachments: ForkGroupReverseTest.java, process.jpdl.xml
Original Estimate: 4 hours
Remaining Estimate: 4 hours
just browsing through the codebase and trying to understand the magic,
I came across this in line 56 of GroupActivity.java:
ExecutionImpl concurrentRoot = null;
if (Execution.STATE_ACTIVE_ROOT.equals(execution.getState())) {
concurrentRoot = execution;
} else if (Execution.STATE_ACTIVE_ROOT.equals(execution.getState())) {
concurrentRoot = execution.getParent();
} else {
throw new JbpmException("illegal state");
}
I assume getState() doesn't have any side effects, so I guess this is a bug
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira