Uploaded image for project: 'MyFaces Core'
  1. MyFaces Core
  2. MYFACES-3530

Implicit Navigation Does Not Work After ViewExpiredException

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.13
    • Fix Version/s: 2.0.14, 2.1.8
    • Component/s: JSR-314
    • Labels:
      None
    • Environment:
      MyFaces 2.0.13 running on WebSphere Application Server

      Description

      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 patch 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 )

        Attachments

        1. NavigationHandlerImpl.txt
          1 kB
          Paul Nicolucci
        2. NavigationHandlerImplTest.txt
          0.5 kB
          Paul Nicolucci
        3. ViewExpiredException.war
          7 kB
          Paul Nicolucci

          Activity

            People

            • Assignee:
              lu4242 Leonardo Uribe
              Reporter:
              paul.nicolucci Paul Nicolucci
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 4h
                4h
                Remaining:
                Remaining Estimate - 4h
                4h
                Logged:
                Time Spent - Not Specified
                Not Specified