2010/9/16 Thiébault Benoît <d...@artenum.com>:
> Thank you, it works very well (the first option, because I don't know a 
> priori the event name so it is hard to use the second).
>
> When you say "When using v0.9", is this API planned to change in future 
> version or is it just to say "it works in 0.9 but might not work forever"
>
<snip/>

The latest draft includes more meta-data for events (in addition to
payload). Though the change hasn't been implemented yet, there will be
an _event variable and the payload will be at _event.data in
subsequent releases.

-Rahul


> Kind regards
> Ben
>
> Le 16 sept. 2010 à 16:38, Rahul Akolkar a écrit :
>
>> 2010/9/16 Thiébault Benoît <d...@artenum.com>:
>>> Hi everyone,
>>>
>>> I'm using SCML with custom actions. I followed the Custom Actions tutorial 
>>> successfully (http://commons.apache.org/scxml/guide/custom-actions.html), 
>>> but the Hello action only uses parameters provided in the SCXML file.
>>>
>>> What I want to do is to provide a payload to the triggering event and 
>>> retrieve it in my custom action. Is this possible ?
>>>
>>> // In the method firing the event
>>> TriggerEvent[] evts = {new TriggerEvent(event.getId(),
>>>           TriggerEvent.SIGNAL_EVENT, myPayload)};
>>>       try {
>>>           engine.triggerEvents(evts);
>>>       } catch (ModelException me) {
>>>           logError(me);
>>>       }
>>>
>>> // In the custom action class
>>> public void execute(EventDispatcher evtDispatcher, ErrorReporter errRep, 
>>> SCInstance scInstance, Log appLog, Collection derivedEvents) throws 
>>> ModelException, SCXMLExpressionException {
>>>       // Here I want to retrieve myPayload
>> <snip/>
>>
>> When using v0.9, for the above external trigger:
>>
>>  Object payload = scInstance.getRootContext().get("_eventdata");
>>
>> When processing internal / derived events, the following:
>>
>>  Object payload =
>> scInstance.getRootContext().get("_eventdatamap").get("my.event.name");
>>
>> For examples which may illustrate where the payload resides in the
>> root context, see the eventdata-*.xml files here (this may help to see
>> how the values may be retrieved programmatically within a custom
>> action):
>>
>>  http://svn.apache.org/repos/asf/commons/proper/scxml/tags/SCXML_0_9/src/test/java/org/apache/commons/scxml/env/jexl/
>>
>> -Rahul
>>
>>
>>>   }
>>>
>>> Kind regards
>>> Ben
>>>
>>

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

Reply via email to