You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Paul Nicolucci (Created) (JIRA)" <de...@myfaces.apache.org> on 2012/04/20 06:41:36 UTC

[jira] [Created] (MYFACES-3530) Implicit Navigation Does Not Work After ViewExpiredException

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

        

[jira] [Commented] (MYFACES-3530) Implicit Navigation Does Not Work After ViewExpiredException

Posted by "Paul Nicolucci (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/MYFACES-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13262333#comment-13262333 ] 

Paul Nicolucci commented on MYFACES-3530:
-----------------------------------------

I've added the NavigationHandlerImpl and NavigationhandlerImplTest diff files in the unified diff format.
                
> 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
>         Attachments: NavigationHandlerImpl.txt, NavigationHandlerImplTest.txt, ViewExpiredException.war
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> 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 )
> 	

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

        

[jira] [Updated] (MYFACES-3530) Implicit Navigation Does Not Work After ViewExpiredException

Posted by "Paul Nicolucci (JIRA)" <de...@myfaces.apache.org>.
     [ https://issues.apache.org/jira/browse/MYFACES-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paul Nicolucci updated MYFACES-3530:
------------------------------------

    Status: Patch Available  (was: Open)
    
> 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
>         Attachments: NavigationHandlerImpl.diff, NavigationHandlerImpl.txt, NavigationHandlerImplTest.diff, NavigationHandlerImplTest.txt, ViewExpiredException.war
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> 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 )
> 	

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

        

[jira] [Commented] (MYFACES-3530) Implicit Navigation Does Not Work After ViewExpiredException

Posted by "Paul Nicolucci (Commented) (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/MYFACES-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13258016#comment-13258016 ] 

Paul Nicolucci commented on MYFACES-3530:
-----------------------------------------

I've tested the fix locally and everything looks to be working as expected now.  I'm just looking for input and for someone to take a look over my patch.  
                
> 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
>         Attachments: NavigationHandlerImpl.txt, NavigationHandlerImplTest.txt, ViewExpiredException.war
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> 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 )
> 	

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

        

[jira] [Updated] (MYFACES-3530) Implicit Navigation Does Not Work After ViewExpiredException

Posted by "Leonardo Uribe (JIRA)" <de...@myfaces.apache.org>.
     [ https://issues.apache.org/jira/browse/MYFACES-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Leonardo Uribe updated MYFACES-3530:
------------------------------------

       Resolution: Fixed
    Fix Version/s: 2.1.8
                   2.0.14
         Assignee: Leonardo Uribe
           Status: Resolved  (was: Patch Available)

Thanks to Paul Nicolucci for provide this patch
                
> 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
>            Assignee: Leonardo Uribe
>             Fix For: 2.0.14, 2.1.8
>
>         Attachments: NavigationHandlerImpl.txt, NavigationHandlerImplTest.txt, ViewExpiredException.war
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> 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 )
> 	

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