Implicit Navigation Does Not Work After ViewExpiredException
------------------------------------------------------------

                 Key: MYFACES-3530
                 URL: https://issues.apache.org/jira/browse/MYFACES-3530
             Project: MyFaces Core
          Issue Type: Bug
          Components: JSR-314
    Affects Versions: 2.0.13
         Environment: MyFaces 2.0.13 running on WebSphere Application Server
            Reporter: Paul Nicolucci


When implementing a Custom ExceptionHandler to deal with ViewExpiredExceptions 
as suggested here: 
http://weblogs.java.net/blog/edburns/archive/2009/09/03/dealing-gracefully-viewexpiredexception-jsf2

The implicit navigation to "viewExpired" does not work due to the fact that a 
"/" is not added to the "viewIdToTest" in 
NavigationHandlerImpl.getOutcomeNavigationCase.  The algorithm was correct 
until we pulled in MYFACES-3101 to avoid
a NullPointerException after a ViewExpiredException.

The exception we see without the path is the following:

[4/19/12 20:52:15:323 EDT] 00000028 webapp        E 
com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E: [Servlet 
Error]-[Faces Servlet]: org.apache.myfaces.lifecycle.ViewNotFoundException: A 
view is required to execute RENDER_RESPONSE(6)
        at 
org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:62)
        at 
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:239)

The view does exist but is no longer found since we don't add a "/" since the 
viewId is null.  

I've also added a couple of additional "null" checks that look to have been 
missed in MyFaces-3101.

A test Application will be provided as well as a diff showing my changes to 
NavigationHandlerImpl.java and NavigationHandlerImplTest.java ( the 
ViewExpiredException test needs to look for /viewExpired not viewExpired after 
the fix...which to me seems correct )
        

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to