2010/9/20 Thiébault Benoît <[email protected]>: > Hi everyone, > > I would like to retrieve the transition target (if there is one) in my custom > action. > How can I do this? > > My need is more to know if there is a transition than to know what the target > is. <snip/>
I believe you mean a transition thats not a stay nor self transition, since the only way a custom action will ever execute is if some transiton is being followed (in order for SCXML executable content to execute). There isn't a direct way to access information about the transition target. I imagine your custom action is within a transition element. If so, you could walk up the SCXML object model and check whether the parent transition has a target attribute and whether it is the parent state id itself. It may also be possible to infer whether a (non-stay) transition is being followed and what the target is, by using a suitable SCXMLListener impl. For long computations, you should consider using the external communications module (either <send> or <invoke>) to send an event to (or invoke) some external process which manages the computation and fires a completion event on the state machine when done. -Rahul > I need this info to know if it is possible to launch a long computation in a > different thread: > - if there is a transition target, the state machine will go to the new state > and my computation will be started in one state and continue in another one, > which I want to avoid. > - if there is no transition target, it means that my computation is performed > within the original state (internal transition) and I can use my computation > without fearing an undetermined state machine. > > Kind regards, > > Ben --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
