ICEfaces
  1. ICEfaces
  2. ICE-4428

REGRESSION - navigation rule: redirect from forwarded page doesn't work

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.7.2-SP2, 1.8
    • Fix Version/s: 1.8.1
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      ICEfaces 1.7.2-SP1 - 1.8. Also doesn't work at all on Glassfish v2.1.

      Description

      The regression test case for ICE-3502 is failing with latest trunk, ICEfaces 1.7.2-SP1 release (since 1.7.2-SP1). This was fixed in 1.7.2 originally.

      -----------

      if navigate from page A to page B using forward and then redirect from page B back to page A, it stays on the same page. see attached test case

        Activity

        Hide
        Deryk Sinotte added a comment -

        Please review test case to ensure it's testing the correct behaviour. If so, proceed to investigate the issue.

        Show
        Deryk Sinotte added a comment - Please review test case to ensure it's testing the correct behaviour. If so, proceed to investigate the issue.
        Hide
        Mircea Toma added a comment -

        The test case for ICE-3502 is executing in effect a forward and then a page reload because the forward won't change the URL of the rendered page. Issues ICE-3886, ICE-3691, and ICE-3886 covered exactly this use case.

        Show
        Mircea Toma added a comment - The test case for ICE-3502 is executing in effect a forward and then a page reload because the forward won't change the URL of the rendered page. Issues ICE-3886 , ICE-3691 , and ICE-3886 covered exactly this use case.
        Hide
        Mircea Toma added a comment -

        In ICE-3691 is mentioned that the fixes are to be back-ported to 1.7 branch thus explaining why 1.7.2 has the same behavior as 1.8.

        Show
        Mircea Toma added a comment - In ICE-3691 is mentioned that the fixes are to be back-ported to 1.7 branch thus explaining why 1.7.2 has the same behavior as 1.8.
        Hide
        Mircea Toma added a comment - - edited

        The fixes for ICE-3886, ICE-3691, and ICE-3886 changed somewhat the behavior of page reload we had in 1.7. But as it was explained also in ICE-3907 the behavior of page reload is different if concurrentDOMViews=true, the views are not re-used on page reload. By enabling concurrentDOMViews in ICE-3502 test case it will make it run successfully.

        Show
        Mircea Toma added a comment - - edited The fixes for ICE-3886 , ICE-3691 , and ICE-3886 changed somewhat the behavior of page reload we had in 1.7. But as it was explained also in ICE-3907 the behavior of page reload is different if concurrentDOMViews=true, the views are not re-used on page reload. By enabling concurrentDOMViews in ICE-3502 test case it will make it run successfully.
        Hide
        Mircea Toma added a comment -

        Reset the last viewId on redirect. The fix makes ICEfaces in single-view mode behave like SUN-RI now.

        Show
        Mircea Toma added a comment - Reset the last viewId on redirect. The fix makes ICEfaces in single-view mode behave like SUN-RI now.
        Hide
        Joanne Bai added a comment -

        Fix verified on ICEfaces trunk revision 18832

        Show
        Joanne Bai added a comment - Fix verified on ICEfaces trunk revision 18832
        Hide
        Ken Fyten added a comment -

        QA is reporting that this test is passing as expected for JSF 1.2, but is failing on Tomcat 5.5 with JSF 1.1. Please investigate.

        Show
        Ken Fyten added a comment - QA is reporting that this test is passing as expected for JSF 1.2, but is failing on Tomcat 5.5 with JSF 1.1. Please investigate.
        Hide
        Mircea Toma added a comment -

        In JSF 1.2 the ViewRoot is reset at the end of lifecycle and restored if necessary with the help of state management. When we introduced our own state management implementation it was decided keep around the ViewRoot in JSF 1.1 because there wasn't any state management available. The decision to not reset the ViewRoot in JSF 1.1 was introduced in ICE-3980.

        So now the ViewRoot is reset only on redirect so that RestoreViewPhase will create a new view based on the GET request path.

        Show
        Mircea Toma added a comment - In JSF 1.2 the ViewRoot is reset at the end of lifecycle and restored if necessary with the help of state management. When we introduced our own state management implementation it was decided keep around the ViewRoot in JSF 1.1 because there wasn't any state management available. The decision to not reset the ViewRoot in JSF 1.1 was introduced in ICE-3980 . So now the ViewRoot is reset only on redirect so that RestoreViewPhase will create a new view based on the GET request path.
        Hide
        Mircea Toma added a comment -

        ICE-4428 Reset viewRoot only when running with JSF1.1.

        Show
        Mircea Toma added a comment - ICE-4428 Reset viewRoot only when running with JSF1.1.

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Sam Xiao
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: