This commit is contained in:
Keith Donald
2009-03-13 19:30:43 +00:00
parent caa02fb9fb
commit 7b9046cdf4

View File

@@ -28,9 +28,9 @@ Bug Fixes
* Fixed bug where Hibernate and JPA flow execution listeners performed their commits against the flow-managed PersistenceContext after the flow had ended (SWF-1010).
This prevented exceptions such as optimistic locking failures from being handled by the flow.
Commit processing is now performed in the sessionEnding listener callback now, which is called before the flow actually terminates.
* Fixed bug where calling active FlowSession context accessors such as RequestContext.getCurrentState() threw IllegalStateExceptions when the flow execution was starting but the root session was yet not activated.
This caused problems when handling AccessDeniedExceptions thrown by the SecurityFlowExecutionListener, which uses the sessionCreated FlowExecutionListener callback to perform a flow security check (SWF-1004)
The accessors now return null for active FlowSession context until the root session is activated. They only throw IllegalStateExceptions if the flow execution has not been started at all or has ended.
* Fixed bug where root flow FlowExecutionExceptionHandlers were queried even when a FlowExecution was not active (SWF-1004). This could occur during FlowExecution startup before the root session had been activated.
Specifically, this caused problems when handling AccessDeniedExceptions thrown by the SecurityFlowExecutionListener, which uses the sessionCreated FlowExecutionListener callback to perform a flow startup security check.
Before root session activation, a FlowExecution is NOT active, and any exceptions thrown at this time should propagate; root flow execution handlers should not be allowed to handle these exceptions.
Improvements
* Improved FlowExecution test documentation