You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@beehive.apache.org by "Carlin Rogers (JIRA)" <ji...@apache.org> on 2008/01/11 23:19:33 UTC

[jira] Resolved: (BEEHIVE-1214) PageFlowController @Context in controls are not initialized correctly in nested page flows

     [ https://issues.apache.org/jira/browse/BEEHIVE-1214?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Carlin Rogers resolved BEEHIVE-1214.
------------------------------------

       Resolution: Fixed
    Fix Version/s: V.Next
         Assignee: Carlin Rogers

This is fixed with svn revision 611318. I changed the nested page flow creation to persist the page flow in the session and then initialize it (including the controls, so that the PageFlowController @Context member fields in controls are initialized correctly).

> PageFlowController @Context in controls are not initialized correctly in nested page flows
> ------------------------------------------------------------------------------------------
>
>                 Key: BEEHIVE-1214
>                 URL: https://issues.apache.org/jira/browse/BEEHIVE-1214
>             Project: Beehive
>          Issue Type: Bug
>          Components: NetUI
>    Affects Versions: 1.0, 1.0.1, 1.0.2
>            Reporter: Carlin Rogers
>            Assignee: Carlin Rogers
>             Fix For: V.Next
>
>         Attachments: j1214test.zip
>
>
> The PageFlowController @Context in controls are not initialized correctly in nested page flows. The context is set to the parent page flow rather than the nested page flow instance. I think the issue occurs where we create the nested page flow instance.
> The usual steps for handling a request to a new page flow are to persist the new page flow as the "current" page flow, then do the page flow initialization which includes initializing the controls. When the controls are initialized, the new control has already set as the "current" page flow so the controls context for the "current" page flow controller is correct.
> However, in FlowControllerFactory.createPageFlow() when the new page flow instance is nestable, we first go through the initialization before calling persistInSession(). That means the "current" page flow controller is the parent controller and not the new instance.
> There is a workaround. Rather than use the actual context member in the control, the control implementor could get the PageFlowController from the contextual services...
>     @Context
>     private ControlBeanContext _context;
>     ...
>         _context.getService(PageFlowController.class, null)
> I'll add some files that can be used to dump state during the control and page flow life cycle when changing from parent to a nested page flow controller. Will help to debug and test.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.