[
https://issues.apache.org/jira/browse/PORTLETBRIDGE-151?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael Freedman resolved PORTLETBRIDGE-151.
--------------------------------------------
Fix Version/s: 1.0.1
2.0.0-beta
Resolution: Fixed
All ViewHandler overrides now merely delegate if a non-portlet request.
> Bridge ViewHandler incompatible with Trinidad: if access as servlet
> restoreView fails to restore proper instance
> -----------------------------------------------------------------------------------------------------------------
>
> Key: PORTLETBRIDGE-151
> URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-151
> Project: MyFaces Portlet Bridge
> Issue Type: Bug
> Components: Impl
> Affects Versions: 1.0.0, 2.0.0-alpha
> Reporter: Michael Freedman
> Assignee: Michael Freedman
> Fix For: 1.0.1, 2.0.0-beta
>
>
> Though the bridge should merely delegate all non-portlet calls in its
> ViewHandler Impl, it doesn't. This causes the following peculiar problem.
> The bridge's createView() method causes a PortletNamingContainerUIViewRoot to
> be created/returned when accessed from a servlet using the code block that
> temporarily substitutes the component (type) with this class. Trinidad's
> restore keeps cached versions of the UIViewRoot -- but rather than use it it
> -- it claims its worried about message/events still on the object. It
> duplicates it and restores the state into the duplicate. Unfortunately the
> way it duplicates is is to merely call createComponent (using the component
> type). As we only temporarily set the component type (class) they
> duplicate/create the wrong class -- and then restore into it. We have seen
> situations when Trinidad runs under a rich client layer that PPRs don't
> render (in the servlet case) because of this -- the UIViewRoots rendered flag
> is incorrectly set to true because of the bad restore.
> Note: Though we haven't seen anolmolies when running just with Trinidad
> (nonPPR) we expect folks will encounter some problems and hence anyone
> running the bridge with Trinidad (bridge 1.0 or 2.0) should pick up this fix.
> Simple/basic fix is to have the bridge's ViewHandler, always and only
> delegate when not a portlet request. This effectively works around the
> problem.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.