ICEfaces
  1. ICEfaces
  2. ICE-10729

PropertyNotFoundException when dispose-window request issued before redirect

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-3.3.0.GA_P03
    • Fix Version/s: 4.1, EE-3.3.0.GA_P04
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      jsf2.x ICEfaces3.3 ICEfaces4

      Description

      Customer has a regression (from P02 where this worked). The backing bean is ViewScoped and the @WindowsDisposed annotation is used. They have a NavigationHandler as well as a list of Messages in the view that is controlled by this backing bean. (bean is attached to the support case). Once the navigation is handled, the List of messages is no longer found (PropertyNotFoundException). Changing the backing bean to WindowsScoped works in this case. In P01 and P02 this worked with no changes to the backing bean and leaving it in @ViewScoped with the @WindowsDisposed annotation.

      000 3 00 0000 2015-06-11 11:32:40.529 (JSFExceptionHandler:78) Error code: e3406fd1; Exception: javax.el.PropertyNotFoundException: /xhtml/messageTable.xhtml @15,69 value="#{messageQueuesBean.messageList}": The class 'org.icefaces.impl.application.WindowScopeManager$NOOPBean' does not have the property 'messageList'.

      ....
      same application code was in the Fedex patch for P02, but just changing jars to P03 and this exception is thrown. It appears to only be a problem with ViewScoped beans using @WindowsDisposed. If the customer changes the bean to WindowScoped, then it works fine (survives the redirect).
       
      Please also see the forum reference as a user has the same issue.

        Activity

        Judy Guglielmin created issue -
        Judy Guglielmin made changes -
        Field Original Value New Value
        Assignee Mircea Toma [ mircea.toma ]
        Judy Guglielmin made changes -
        Fix Version/s 4.1 [ 11375 ]
        Fix Version/s EE-3.3.0.GA_P04 [ 12270 ]
        Ken Fyten made changes -
        Assignee Priority P2 [ 10011 ]
        Judy Guglielmin made changes -
        Description 000 3 00 0000 2015-06-11 11:32:40.529 (JSFExceptionHandler:78) Error code: e3406fd1; Exception: javax.el.PropertyNotFoundException: /xhtml/messageTable.xhtml @15,69 value="#{messageQueuesBean.messageList}": The class 'org.icefaces.impl.application.WindowScopeManager$NOOPBean' does not have the property 'messageList'.

        ....
        same application code was in the Fedex patch for P02, but just changing jars to P03 and this exception is thrown. It appears to only be a problem with ViewScoped beans using @WindowsDisposed. If the customer changes the bean to WindowScoped, then it works fine (survives the redirect).
        Customer has a regression (from P02 where this worked). The backing bean is ViewScoped and the @WindowsDisposed annotation is used. They have a NavigationHandler as well as a list of Messages in the view that is controlled by this backing bean. (bean is attached to the support case). Once the navigation is handled, the List of messages is no longer found (PropertyNotFoundException). Changing the backing bean to WindowsScoped works in this case. In P01 and P02 this worked with no changes to the backing bean and leaving it in @ViewScoped with the @WindowsDisposed annotation.

        000 3 00 0000 2015-06-11 11:32:40.529 (JSFExceptionHandler:78) Error code: e3406fd1; Exception: javax.el.PropertyNotFoundException: /xhtml/messageTable.xhtml @15,69 value="#{messageQueuesBean.messageList}": The class 'org.icefaces.impl.application.WindowScopeManager$NOOPBean' does not have the property 'messageList'.

        ....
        same application code was in the Fedex patch for P02, but just changing jars to P03 and this exception is thrown. It appears to only be a problem with ViewScoped beans using @WindowsDisposed. If the customer changes the bean to WindowScoped, then it works fine (survives the redirect).
        Ken Fyten made changes -
        Assignee Priority P2 [ 10011 ] P1 [ 10010 ]
        Hide
        Mircea Toma added a comment -

        I tried without success to create a test case that would reproduce this issue. Most probably this is a regression introduced by the fixes for ICE-10257 which also had a data table component in the mix.

        Show
        Mircea Toma added a comment - I tried without success to create a test case that would reproduce this issue. Most probably this is a regression introduced by the fixes for ICE-10257 which also had a data table component in the mix.
        Hide
        Ken Fyten added a comment -

        Assigned to Judy for Test Case.

        Show
        Ken Fyten added a comment - Assigned to Judy for Test Case.
        Ken Fyten made changes -
        Assignee Mircea Toma [ mircea.toma ] Judy Guglielmin [ judy.guglielmin ]
        Judy Guglielmin made changes -
        Description Customer has a regression (from P02 where this worked). The backing bean is ViewScoped and the @WindowsDisposed annotation is used. They have a NavigationHandler as well as a list of Messages in the view that is controlled by this backing bean. (bean is attached to the support case). Once the navigation is handled, the List of messages is no longer found (PropertyNotFoundException). Changing the backing bean to WindowsScoped works in this case. In P01 and P02 this worked with no changes to the backing bean and leaving it in @ViewScoped with the @WindowsDisposed annotation.

        000 3 00 0000 2015-06-11 11:32:40.529 (JSFExceptionHandler:78) Error code: e3406fd1; Exception: javax.el.PropertyNotFoundException: /xhtml/messageTable.xhtml @15,69 value="#{messageQueuesBean.messageList}": The class 'org.icefaces.impl.application.WindowScopeManager$NOOPBean' does not have the property 'messageList'.

        ....
        same application code was in the Fedex patch for P02, but just changing jars to P03 and this exception is thrown. It appears to only be a problem with ViewScoped beans using @WindowsDisposed. If the customer changes the bean to WindowScoped, then it works fine (survives the redirect).
        Customer has a regression (from P02 where this worked). The backing bean is ViewScoped and the @WindowsDisposed annotation is used. They have a NavigationHandler as well as a list of Messages in the view that is controlled by this backing bean. (bean is attached to the support case). Once the navigation is handled, the List of messages is no longer found (PropertyNotFoundException). Changing the backing bean to WindowsScoped works in this case. In P01 and P02 this worked with no changes to the backing bean and leaving it in @ViewScoped with the @WindowsDisposed annotation.

        000 3 00 0000 2015-06-11 11:32:40.529 (JSFExceptionHandler:78) Error code: e3406fd1; Exception: javax.el.PropertyNotFoundException: /xhtml/messageTable.xhtml @15,69 value="#{messageQueuesBean.messageList}": The class 'org.icefaces.impl.application.WindowScopeManager$NOOPBean' does not have the property 'messageList'.

        ....
        same application code was in the Fedex patch for P02, but just changing jars to P03 and this exception is thrown. It appears to only be a problem with ViewScoped beans using @WindowsDisposed. If the customer changes the bean to WindowScoped, then it works fine (survives the redirect).
         
        Please also see the forum reference as a user has the same issue.
        ICEsoft Forum Reference http://jira.icesoft.org/browse/PDF-870?jql=project%20%3D%20PDF%20AND%20text%20~%20black
        Hide
        Judy Guglielmin added a comment -

        Adding the following to this simple test app reproduces the problem.
        first go to lftest2.jsf and then click the button on the bottom that says "lftest redirect". The PropertyNotFoundException will be thrown.
        NOte that without the context-param of org.icefaces.lazyWindowScope set to false, this works fine. Also it works fine either way in P02. Some regression for lazyWindowScope in P03 perhaps.

        Show
        Judy Guglielmin added a comment - Adding the following to this simple test app reproduces the problem. first go to lftest2.jsf and then click the button on the bottom that says "lftest redirect". The PropertyNotFoundException will be thrown. NOte that without the context-param of org.icefaces.lazyWindowScope set to false, this works fine. Also it works fine either way in P02. Some regression for lazyWindowScope in P03 perhaps.
        Judy Guglielmin made changes -
        Attachment 13445.zip [ 20282 ]
        Judy Guglielmin made changes -
        Assignee Judy Guglielmin [ judy.guglielmin ] Mircea Toma [ mircea.toma ]
        Hide
        Mircea Toma added a comment -

        Modified WindowScopeManager to discard view scoped beans before restore phase to avoid giving a chance to EL resolver to find them after the navigation was executed.
        This change reverts the change made for http://jira.icesoft.org/browse/ICE-9817?focusedCommentId=53534&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-53534 problem. Re-tested successfully ICE-9817 with Wildly 8 to ensure no regression was introduced (the subsequent ICE-9817 changes were the relevant ones).

        Show
        Mircea Toma added a comment - Modified WindowScopeManager to discard view scoped beans before restore phase to avoid giving a chance to EL resolver to find them after the navigation was executed. This change reverts the change made for http://jira.icesoft.org/browse/ICE-9817?focusedCommentId=53534&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-53534 problem. Re-tested successfully ICE-9817 with Wildly 8 to ensure no regression was introduced (the subsequent ICE-9817 changes were the relevant ones).
        Mircea Toma made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Judy Guglielmin made changes -
        Attachment 13445.zip [ 20282 ]
        Hide
        Judy Guglielmin added a comment -

        updated test case

        Show
        Judy Guglielmin added a comment - updated test case
        Judy Guglielmin made changes -
        Attachment 13456.zip [ 20481 ]
        Judy Guglielmin made changes -
        Attachment 13456.zip [ 20481 ]
        Hide
        Liana Munroe added a comment -

        Tested with ICEfaces EE-3.3.0 maintenance branch and ICEfaces 4 trunk r45751 on Tomcat 7.
        QA Scopes View Scope disposed test fails manually. Reloading the page should keep the instance counter at 1 but instead it increments by 1. This occurred whether or not the following was included within the web.xml file:
        <context-param>
        <param-name>org.icefaces.lazyWindowScope</param-name>
        <param-value>false</param-value>
        </context-param>

        Show
        Liana Munroe added a comment - Tested with ICEfaces EE-3.3.0 maintenance branch and ICEfaces 4 trunk r45751 on Tomcat 7. QA Scopes View Scope disposed test fails manually. Reloading the page should keep the instance counter at 1 but instead it increments by 1. This occurred whether or not the following was included within the web.xml file: <context-param> <param-name>org.icefaces.lazyWindowScope</param-name> <param-value>false</param-value> </context-param>
        Liana Munroe made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Judy Guglielmin made changes -
        Comment [ war to test this Jira with 3.3.0 mtce branch is located at:-
        smb://iceads1.icesoft.domain/Public/Users/jag/13456/13456.war
        an eclipse project is located in the same directory. ]
        Hide
        Judy Guglielmin added a comment -

        test for support case 13455

        Show
        Judy Guglielmin added a comment - test for support case 13455
        Judy Guglielmin made changes -
        Attachment 13455.zip [ 20482 ]
        Hide
        Mircea Toma added a comment -

        Need to verify ICE-10257's attached test case to make sure no regressions were created.

        Show
        Mircea Toma added a comment - Need to verify ICE-10257 's attached test case to make sure no regressions were created.
        Hide
        Carmen Cristurean added a comment -

        Verified ICE-10257 attached test case on EE-3.3.0-maintenance r. 45754/ ICEfaces4 trunk r.45755 / Chrome43, IE11/ Mojarra && MyFaces JSF, and it passes.

        Show
        Carmen Cristurean added a comment - Verified ICE-10257 attached test case on EE-3.3.0-maintenance r. 45754/ ICEfaces4 trunk r.45755 / Chrome43, IE11/ Mojarra && MyFaces JSF, and it passes.
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #45758 Wed Jul 15 12:20:30 MDT 2015 mircea.toma ICE-10729 Propagate view scoped beans through navigation to avoid having them re-instantiated during the next lifecycle and also have the defined bean methods available. The beans are eventually discarded together with the view root.
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/core/src/main/java/org/icefaces/impl/application/WindowScopeManager.java
        Hide
        Mircea Toma added a comment -

        Propagate view scoped beans through navigation to avoid having them re-instantiated during the next lifecycle and also have the defined bean methods available. The beans are eventually discarded together with the view root.

        Show
        Mircea Toma added a comment - Propagate view scoped beans through navigation to avoid having them re-instantiated during the next lifecycle and also have the defined bean methods available. The beans are eventually discarded together with the view root.
        Mircea Toma made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Ken Fyten added a comment -

        Re-opened for multiple expiry issue as reported by QA on IF 4 trunk.

        Show
        Ken Fyten added a comment - Re-opened for multiple expiry issue as reported by QA on IF 4 trunk.
        Ken Fyten made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Hide
        Mircea Toma added a comment -

        Previous comment was misplaced, the issue was re-open to fix double disposing of the view scoped beans observed in ICEfaces 4 trunk.

        Show
        Mircea Toma added a comment - Previous comment was misplaced, the issue was re-open to fix double disposing of the view scoped beans observed in ICEfaces 4 trunk.
        Hide
        Mircea Toma added a comment -

        Ported forward ICE-10257 changes to fix view scoped bean's double disposal.

        Show
        Mircea Toma added a comment - Ported forward ICE-10257 changes to fix view scoped bean's double disposal.
        Mircea Toma made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Judy Guglielmin made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Judy Guglielmin
          • Votes:
            1 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: