Hi
2010/10/28 Ed Burns <edward.burns(a)oracle.com>
EB> Leonardo, In your opinion, do we need to make any changes to
EB> NavigationHandler so that the new ViewDeclarationLanguage.viewExists()
EB> method is consulted? I would expect this might need to be done.
In jsf 2.0, ViewHandler.deriveViewId check if the viewId exists or not to
allow
ConfigurableNavigationHandler to work as expected. The difference between
ViewHandler.deriveViewId and the new ViewHandler.deriveLogicalViewId is that
the second one does not do that change. Looks this code committed on
MultiViewHandler:
@Override
public String deriveViewId(FacesContext context, String rawViewId) {
return derivePhysicalViewId(context, rawViewId, true);
}
@Override
public String deriveLogicalViewId(FacesContext context, String
rawViewId) {
return derivePhysicalViewId(context, rawViewId, false);
}
If ConfigurableNavigationHandler uses deriveLogicalViewId, my answer is yes,
in my opinion VDL.viewExists() should be called from
ConfigurableNavigationHandler.
There is no call for ExternalContext.getResource() from instances of
ConfigurableNavigationHandler.
regards,
Leonardo Uribe
AS> Oh, woops - yep. ConfigurableNavigationHandler
implementations
AS> should use VDL.viewExists() instead of ExternalContext.getResource()
AS> to test for view existence when determining whether implicit
AS> navigation is possible. Actually, any place where we were using
AS> ExternalContext.getResource() to check for a physical view needs to
AS> go through VDL.viewExists() now. I believe that
AS> ViewHandler.deriveViewId() and implicit navigation are the only 2
AS> places where this comes up, though I will double check that later
AS> today.
OK, I have reopened the issue and will assign it to you. Please attach
a patch to the issue and send it to dev(a)javaserverfaces.dev.java.net for
review. When I review the patch, I'll make the necessary changes to the
spec PDF document.
Ed
--
| edward.burns(a)oracle.com | office: +1 407 458 0017
| homepage: |
http://ridingthecrest.com/
| 9 work days until German Oracle User's Group Conference