We would like to add a new API for Trinidad, as discussed in
https://issues.apache.org/jira/browse/TRINIDAD-1432
Internal views are viewIds that may be requested by a client and are handled
internal to the web application, without necessarily dispatching to a resource
like a JSP. An internal view handler is implemented by extending the
org.apache.myfaces.trinidad.render.InternalView abstract class.
Certain controllers keep track of the viewId of the currently displayed view in
a window. When a request is received on the server the controller checks to see
if the requested viewId is different from the last known viewId for that
window. If the viewIds are different then the controller recognizes this
situation as a navigation and releases any state it had for the previous view.
The problem is internal views doesn't always result in display of a new view in
window, i.e. in navigation. Instead, they may just request some logic be
executed or that a new window be opened.
In order to prevent incorrectly triggering the controller's navigation
detection, the controller needs to be able to determine if the current View
Root is an internal view or not. The proposed API is thus:
RequestContext
{
/**
* Determines whether the current View Root is an internal view
* @param context Faces context
* @return true if the current View Root is an internal view, false otherwise
*/
public abstract boolean isInternalViewRequest(FacesContext context);
}
Are there objections or other suggestions on how to achieve this, or is the new
API acceptable?
Thanks, Maria
Maria Kaval
Software Development Director
ADF View Run Time
Oracle Corporation
tel: (650) 506 2045 cell: (650) 430 1888
mailto:[email protected] | web: HYPERLINK
"http://www.oracle.com/"www.oracle.com