[
https://issues.apache.org/jira/browse/TRINIDAD-1764?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Max Starets updated TRINIDAD-1764:
----------------------------------
Resolution: Fixed
Fix Version/s: 2.0.0.3-core
Status: Resolved (was: Patch Available)
> System event listener state saving
> ----------------------------------
>
> Key: TRINIDAD-1764
> URL: https://issues.apache.org/jira/browse/TRINIDAD-1764
> Project: MyFaces Trinidad
> Issue Type: Bug
> Components: Components
> Affects Versions: 2.0.0-alpha
> Reporter: Andy Schwartz
> Assignee: Max Starets
> Fix For: 2.0.0.3-core
>
> Attachments: trinidad-1764.patch
>
>
> The JSF specification requires that UIComponent provide implementations for
> the following new system event-related methods:
> - subscribeToEvent()
> - unsubscribeFromEvent()
> - getListenersForEventClass()
> Both Mojarra and MyFaces provide implementations of these methods in
> UIComponent.
> However, UIComponent itself does not provide any state saving implementation.
> This is provided by UIComponentBase - ie. UIComponentBase handles state
> saving for system event listeners stored on the UIComponent instance.
> This approach is flawed in that it only provides correct behavior for
> component implementations that extend UIComponentBase. Components that
> extend UIComponent directly will be subtly broken in that system event
> listeners can be registered, but will not be state saved. Furthermore, since
> the system event listener storage in UIComponent is package-private, there is
> no way for components that extend UIComponent directly to handle state saving
> for registered listeners.
> The only option is for components that extend UIComponent directly to
> implement their own (redundant) storage for system event listeners so that
> the component implementation can provide its own state saving implementation.
> Since all of the Trinidad components extend UIComponent (not
> UIComponentBase), we'll need to implement such a solution in UIXComponentBase.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.