[
http://www.stripesframework.org/jira/browse/STS-565?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ben Gunter resolved STS-565.
----------------------------
Resolution: Fixed
Fix Version/s: Release 1.5
ActionBeans that were flashed and were intended to handle the ensuing request
were not receiving the correct ActionBeanContext. That is fixed now.
> ActionBeanContext getEventName() does not return the right event when using
> redirection and bean flash
> ------------------------------------------------------------------------------------------------------
>
> Key: STS-565
> URL: http://www.stripesframework.org/jira/browse/STS-565
> Project: Stripes
> Issue Type: Bug
> Affects Versions: Release 1.5
> Environment: Affects Stripes revision 905
> Reporter: Christian Poitras
> Assignee: Ben Gunter
> Fix For: Release 1.5
>
> Attachments: DispatcherHelper.java
>
>
> If I return a RedirectResolution calling a method from current action bean
> and I flash the action bean, the event in action bean's context is not
> correct.
> Let's say I have 2 handler.
> public Resolution update() {
> return new RedirectResolution(this.getClass(), "done").flash(this);
> }
> public Resolution done() {
> System.out.println(context.getEventName());
> return new ForwardResolution("/index.jsp");
> }
> The output will be "update" instead of "done".
> The problem is described in this email I've sent to the list.
> I narrowed down the problem to a combination of what
> AnnotatedClassActionResolver and DispathHelper do.
> In AnnotatedClassActionResolver method ActionBean
> getActionBean(ActionBeanContext context, String path):
> The bean returned is the bean from previous request and the ActionBeanContext
> is not updated except for request property.
> Then DispatchHelper sets the bean as ActionBean in ExecutionContext, but does
> not update ExecutionContext's ActionBeanContext.
> When DispatchHelper sets the event name, it sets in in ExecutionContext's
> ActionBeanContext, but not in ActionBean's ActionBeanContext.
> So we have 2 different events. One in ExecutionContext and one in the
> ActionBean.
> The Wizard throws an exception because it checks startEvents againts
> ActionBean's context which is not the event that will be called.
> A possible patch is to update eventName in ActionBean's ActionBeanContext in
> DispatchHelper's resolveHandler method.
> Path is included in email.
> Christian
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://www.stripesframework.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Stripes-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-development