commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thiébault Benoît <...@artenum.com>
Subject Re: [scxml] How to retrieve the transition target in a custom action
Date Tue, 21 Sep 2010 05:06:18 GMT

Le 21 sept. 2010 à 00:12, Rahul Akolkar a écrit :

> <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).

Thank you Rahul for your answer.
Indeed I want to know wether I'm in a stay or self transition. I confirm that my custom action
is within a transition (or onentry/onexit).
> 
> 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.

How can you do this from within a custom action?

> 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.

I quickly looked at the invoke examples provided in SCXML tests and they seem less appropriate
than using custom actions, which make the XML file more readable IMHO.

> 
> -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: user-unsubscribe@commons.apache.org
> For additional commands, e-mail: user-help@commons.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org


Mime
View raw message