[jboss-jira] [JBoss JIRA] Created: (JBPM-980) superstate-enter not fired when taking a transition directly to the super state

Olivier Cuzacq (JIRA) jira-events at lists.jboss.org
Tue Jun 5 09:45:08 EDT 2007


superstate-enter not fired when taking a transition directly to the super state
-------------------------------------------------------------------------------

                 Key: JBPM-980
                 URL: http://jira.jboss.com/jira/browse/JBPM-980
             Project: JBoss jBPM
          Issue Type: Bug
          Components: Core Engine
    Affects Versions: jBPM jPDL 3.2
         Environment: JBpm 3.2GA
            Reporter: Olivier Cuzacq
         Assigned To: Tom Baeyens
            Priority: Minor


Let's consider a simple example using a super-state :

<start-state name="start">
        <transition to="buildPhase"/>
</start-state>

<super-state name="buildPhase">
        
   <event type="superstate-enter">
      <action class="com..." />
   </event>

...

   <state name="waitForValidation">
      <transition to="../deliveryPhase"/>
   </state>

   <event type="superstate-leave">
      <action class="com..." />
   </event>	

The superstate leave event is fired, but enter is not.

Looking at the code this seems 'normal' :

- Transition.take:

if ( destination.getSuperState()!=null ) {
    ... fire the event ... 	


- SuperState.execute :

Node startNode = (Node) nodes.get(0);
    startNode.enter(executionContext);	


Going from a node to a super-state taking an explicit transition wont cause the event to be fired as dest.getSuperState == null.

Then the super state will be executed and the first node will be entered without any kind of 'transient' transition being taken.

If we look at the doc : (http://docs.jboss.com/jbpm/v3/userguide/processmodelling.html#superstateevents )

9.6.2. Superstate events
...
These events will be fired no matter over which transitions the node is entered or left respectively	

-> I cant find anything more precise about the expected behaviour

AFAIAC I would expect the super-enter event being fired whatever the enter context (thru an innder node, or referencing the super-state itself).

Best regards

Olivier Cuzacq

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list