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