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

NavigationHandlerImpl throws NullpointerException if view is expired

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.4
    • Fix Version/s: 2.0.6
    • Component/s: General
    • Labels:
      None

      Description

      I tried to use the NavigationHandler inside a Faces exception handler to deal with ViewExpiredException as mentioned here: http://www.nfjsone.com/blog/ed_burns/2009/09/dealing_gracefully_with_viewexpiredexception_in_jsf2.

      The example does not work with myfaces, because org.apache.myfaces.application.NavigationHandlerImpl throws a NullpointerException while handleNavigation() is called.
      The exception occurs in line 160: String viewId = facesContext.getViewRoot().getViewId();

      I think the cause is that the viewroot is not set anymore when the ViewExpiredException is thrown.

      The official API for NavigationHandler.handleNavigation tells, that the NullpointerException is thrown only if the given facescontext is null.
      NullPointerException - if context is null

        Attachments

        1. MYFACES-3101-v2.patch
          6 kB
          Martin Kočí
        2. MYFACES-3101.patch
          4 kB
          Martin Kočí

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                mstockhammer Martin Stockhammer
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: