11 Replies Latest reply on Jul 13, 2007 10:52 AM by Ronald van Kuijk

    Problem with multiple end-states

    Stefan Unterhofer Newbie

      Hi,

      I've got a problem with the following test- workflow:

      <process-definition xmlns="" name="test">
       <start-state name="start">
       <transition name="" to="FooBar"></transition>
       </start-state>
       <state name="FooBar">
       <event type="before-signal">
       <action name="check foo bar" class="TestActionHandler"></action>
       </event>
       <transition name="foo" to="EndFoo"></transition>
       <transition name="bar" to="EndBar"></transition>
       </state>
       <end-state name="EndFoo"></end-state>
       <end-state name="EndBar"></end-state>
      </process-definition>
      


      I set a variable, and based on it's value the TestActionHandler calls leaveNode for either the transition "foo" or the transition "bar", which lead to differend end-states. However, the execution ends in the state "EndFoo" every time.
      After the decision the correct transitions are taken, but after entering the EndXX State, the execution doesn't stop, instead another (non-existent)transition to the state EndFoo is taken.

      Here's some of my debug output:
      Token: Token(/)
      Start Time: Tue Jul 10 14:36:40 CEST 2007
      String: action[action[check foo bar]]
      Log Entry: 21
      Token: Token(/)
      Start Time: Tue Jul 10 14:36:40 CEST 2007
      String: node[FooBar]
      Log Entry: 22
      Token: Token(/)
      Start Time: Tue Jul 10 14:36:40 CEST 2007
      String: transition[FooBar-->EndBar]
      Log Entry: 23
      Token: Token(/)
      Start Time: Tue Jul 10 14:36:40 CEST 2007
      String: processinstance[end]
      Log Entry: 24
      Token: Token(/)
      Start Time: Tue Jul 10 14:36:40 CEST 2007
      String: node[EndBar]
      Log Entry: 25
      Token: Token(/)
      Start Time: Tue Jul 10 14:36:40 CEST 2007
      String: transition[EndBar-->EndFoo]
      


      Has someone already experienced this problem, or is it a normal behaviour?