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

Michael Freedman resolved PORTLETBRIDGE-179.
--------------------------------------------

       Resolution: Fixed
    Fix Version/s: 3.0.0-alpha

Modfied code so you can configure the portlet via an init parameter with a 
specific set of FacesContext attributes that should be carried from the action 
to the render.  For these samples I configure with the two attributes needed to 
get the Facelets (render) restore to work properly.

> Portlet Bridge 3.0.0 -- Mojarra 2.0 contains some FacesContext attributed 
> that expect to be held for a full lifecycle
> ---------------------------------------------------------------------------------------------------------------------
>
>                 Key: PORTLETBRIDGE-179
>                 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-179
>             Project: MyFaces Portlet Bridge
>          Issue Type: Bug
>          Components: Impl
>    Affects Versions: 3.0.0-alpha
>            Reporter: Michael Freedman
>            Assignee: Michael Freedman
>             Fix For: 3.0.0-alpha
>
>
> In the situation that a ViewRoot isn't being restored by Faces (i.e. the 
> client/bridge pushes an existing ViewRoot into the FacesContext prior to 
> calling restore), and the application has composite components (and hence 
> using Facelets), the restore/subsequent save gets all screwed up because to 
> work properly Faces expects a couple of FacesContext attributes to also be 
> set at this time.  
> I.e. in the bridge at the end of the action phase we release the FacesContext 
> -- this causes attrs to be lost.  However we hold onto the ViewRoot (because 
> we can't Faces save it) in a in-memory cache.  In the subsequent render we 
> push this viewRoot back into the facesContext before we call restoreView.  
> When the Faces view contains composite components things go off the rails 
> (because it expects the FacesContext to contain two attributes (one keyed 
> with the viewRoot object of the current view (value -- boolean = true) and 
> another keyed with "com.sun.faces.FACELET_FACTORY").
> FYI ... I have contacted the Mojarra team to determine whether they will 
> consider this a bug on their side or not.  However to workaround in existing 
> versions I should add a new portlet initParam (maybe something that can be 
> added to the faces-config as well -- but we will wait on the Mojarra guys 
> first) that allows you to name a list of attributes that should be preserved. 
>  Then change the code to preserve and restore only those attributes that are 
> requested in this config.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to