Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Invalid
-
1.0.1-incubating-core-SNAPSHOT
-
None
-
None
Description
In previous versions of ADF Faces, XMLMenuModel.getFocusRowKey() was only called during the RenderResponse phase of the request lifecycle, AFTER navigation had occurred. It was called 5 or more times to render the new page, each time returning the same value. As an optimization, a static variable was used to prevent the logic from executing after the first time getFocusRowKey() was called. Instead, the previous focus path was returned. Since the menu model's scope is request, everything reset after the request finished. In the new re-architected version of ADF Faces, getFocusRowKey() is called in other phases, before the RenderResponse phase. This incorrectly set the static variable so that when getFocusRowKey() is called during the RenderResponse phase – even the first time – the incorrect focus path is returned.
The solution (for now) is to remove the optimization. I have an optimization but it needs to be fully tested.
Attachments
Issue Links
- is a clone of
-
TRINIDAD-307 Performance optimization in XMLMenuModel.getFocusRowKey() breaks menu model when called before the RenderResponse Phase of the request lifecycle.
- Closed