ICEfaces
  1. ICEfaces
  2. ICE-1470

Seam: Conversation management using pages.xml not working

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.6DR#3
    • Fix Version/s: 1.6DR#5, 1.6
    • Component/s: QA
    • Labels:
      None
    • Environment:
      ICEfaces+Seam
    • Workaround Exists:
      Yes
    • Workaround Description:
      Hide
      A full example of a working navigation rule might be:

      <rule if-outcome="PageB">
        <end-conversation before-redirect="true"/>
        <redirect view-id="/PageB.xhtml"/>
      </rule>
      Show
      A full example of a working navigation rule might be: <rule if-outcome="PageB">   <end-conversation before-redirect="true"/>   <redirect view-id="/PageB.xhtml"/> </rule>

      Description

      The original Forum reference notes that it's not possible to end long running conversations using pages.xml unless the following workaround is applied:

      <end-conversation before-redirect="true" />

      I've built a testcase for this type of navigation, and this is the case.

        Issue Links

          Activity

          Greg Dick created issue -
          Greg Dick made changes -
          Field Original Value New Value
          Assignee Greg Dick [ greg.dick ]
          Hide
          Greg Dick added a comment -

          The SeamUtilities class was changed on December 4, 2006 to call beforeRedirect on the Seam Manager class. This was necessary to duplicate what the SeamRedirectionFilter was doing for Seam only applications.

          The api was changed in Seam 1.2.1, and JIRA-1412 comments on that fix

          In doing some testing for this case, it looks like calling this method is no longer necessary at all. I'm looking into what changed. The beforeRedirect method on the Manager class has a bistate side effect which breaks the application behaviour if called an odd number of times. It doesn't affect the example applications, which use Seam Link tags to navigate through the application, but it does affect the test project, which uses pages.xml to navigate through the application, and to manage the conversations.

          In my tests, any page navigation done with pages.xml appears to start a conversation that cannot be ended, without the workaround.

          Commenting out the call to beforeRedirect from the SeamUtilities class fixes the problem. I'm testing more applications to try to be sure.

          Show
          Greg Dick added a comment - The SeamUtilities class was changed on December 4, 2006 to call beforeRedirect on the Seam Manager class. This was necessary to duplicate what the SeamRedirectionFilter was doing for Seam only applications. The api was changed in Seam 1.2.1, and JIRA-1412 comments on that fix In doing some testing for this case, it looks like calling this method is no longer necessary at all. I'm looking into what changed. The beforeRedirect method on the Manager class has a bistate side effect which breaks the application behaviour if called an odd number of times. It doesn't affect the example applications, which use Seam Link tags to navigate through the application, but it does affect the test project, which uses pages.xml to navigate through the application, and to manage the conversations. In my tests, any page navigation done with pages.xml appears to start a conversation that cannot be ended, without the workaround. Commenting out the call to beforeRedirect from the SeamUtilities class fixes the problem. I'm testing more applications to try to be sure.
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #13640 Tue Apr 24 15:06:43 MDT 2007 greg.dick ICE-1470 removed call to beforeRedirect() as it appears no longer necessary, and causes never ending conversations
          Files Changed
          Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/util/SeamUtilities.java
          Hide
          Greg Dick added a comment -

          Checked in SeamUtilities.java in version 13640, removing the call to beforeRedirect.

          Oddly, the error doesn't show up in the example applications, and the workaround affects nothing. The workaround is necessary for my more complete test page however, and the behaviour now conforms perfectly to the non-icefaces application testcase.

          Show
          Greg Dick added a comment - Checked in SeamUtilities.java in version 13640, removing the call to beforeRedirect. Oddly, the error doesn't show up in the example applications, and the workaround affects nothing. The workaround is necessary for my more complete test page however, and the behaviour now conforms perfectly to the non-icefaces application testcase.
          Hide
          Greg Dick added a comment -

          This change has proven to be the right thing.

          Show
          Greg Dick added a comment - This change has proven to be the right thing.
          Greg Dick made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Fix Version/s 1.6DR#5 [ 10071 ]
          Resolution Fixed [ 1 ]
          Ken Fyten made changes -
          Fix Version/s 1.6 [ 10031 ]
          Ken Fyten made changes -
          Link This issue blocks ICE-1810 [ ICE-1810 ]
          Ken Fyten made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Assignee Greg Dick [ greg.dick ]

            People

            • Assignee:
              Unassigned
              Reporter:
              Greg Dick
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: