Performance optimization in XMLMenuModel.getFocusRowKey() breaks menu model
when called before the RenderResponse Phase of the request lifecycle.
-------------------------------------------------------------------------------------------------------------------------------------------------
Key: ADFFACES-189
URL: http://issues.apache.org/jira/browse/ADFFACES-189
Project: MyFaces ADF-Faces
Issue Type: Bug
Reporter: Gary Kind
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.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira