[
https://jira.jboss.org/browse/JBPM-2856?page=com.atlassian.jira.plugin.sy...
]
M M commented on JBPM-2856:
---------------------------
In reference to your comment that "it should delete itself before signal the super
process instance" - looking at the implementation for <sub-process>, the parent
execution needs access to the child process variables, in order to implement the
<parameter-out> feature. If you delete the child process instance before signalling
the parent execution, the parent would not be able to access the child process and its
variables. I think you would need to delete the child process instance after the parent is
signalled and has a chance to pull out the variables. Perhaps the solution would be to
delete the child process in the implementation of the <sub-process> activity, after
it has done all it needs to with the child process.
But besides all this, this jira is not for a bug in the PVM, but rather that the test
assertion has a bug. If there is any possibility that an execution could have a state of
"ended" but not yet be deleted, I think it would make sense to fix the assertion
also.
assertExecutionEnded should check for executions in STATE_ENDED
---------------------------------------------------------------
Key: JBPM-2856
URL:
https://jira.jboss.org/browse/JBPM-2856
Project: jBPM
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: jBPM 4.3
Reporter: M M
Assignee: Huisheng Xu
Attachments: JBPM-2856-2010-05-16.patch, JBPM-2856.patch
In the testing framework, the method assertExecutionEnded() seems to have a bug in it. It
only checks whether a process instance has been deleted from the database. It should also
check for the case where a process instance has not been deleted from the database, but
has a state of Execution.STATE_ENDED.
It would look something like this:
public void assertExecutionEnded( final String processInstanceId )
{
final ProcessInstance pi = executionService.findProcessInstanceById(
processInstanceId );
assertTrue( "Error: an active process instance with id " +
processInstanceId + " was found", pi == null ||
Execution.STATE_ENDED.equals( pi.getState() ) );
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira