[ 
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.

Reply via email to