You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by "Ingmar Kliche (JIRA)" <ji...@apache.org> on 2007/05/29 08:42:16 UTC
[jira] Created: (SCXML-45) Payload of events sent to current scxml
session using tag not injected into engine
Payload of events sent to current scxml session using <send> tag not injected into engine
-----------------------------------------------------------------------------------------
Key: SCXML-45
URL: https://issues.apache.org/jira/browse/SCXML-45
Project: Commons SCXML
Issue Type: Bug
Affects Versions: 0.6
Reporter: Ingmar Kliche
Priority: Minor
Events which are sent to the current scxml session using the <send> tag (i.e. target = empty) may contain payload specified by the namelist attribute. This payload is currently not fed back into engine when the event is created.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org
[jira] Resolved: (SCXML-45) Payload of events sent to current scxml
session using tag not injected into engine
Posted by "Rahul Akolkar (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/SCXML-45?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rahul Akolkar resolved SCXML-45.
--------------------------------
Resolution: Fixed
Fix Version/s: 0.7
Copying the commit message from r542582:
This has been implemented (with a test case), however note the following caveat --
The spec doesn't clarify how multiple <send> elements that create derived events should be handled, so for example:
<onentry>
<send event="ev.foo" namelist="alpha beta"/>
<send event="ev.bar" namelist="gamma delta"/>
</onentry>
I think they should be processed together (this makes sense to leverage parallel regions for example), and due to that '_eventdata' becomes ambiguous in this scenario. The Commons SCXML implementation introduces an implicit variable '_eventdatamap' for such scenarios wherein the event datas are stored keyed by event name.
So, the two <send> events above could be processed by two regions like so:
<parallel>
<state id="region1">
<transition event="ev.foo" cond="_eventdatamap['ev.foo'].alpha eq 'somevalue'"
target="..." />
<!-- ... -->
</state>
<state id="region2">
<transition event="ev.bar" cond="_eventdatamap['ev.bar'].delta eq 'othervalue'"
target="..." />
<!-- ... -->
</state>
<!-- ... -->
</parallel>
To summarize, the _eventdatamap variable needs to be used in association with "derived" (such as <send> being discussed here) events. Also note that this behavior may change if there is clarity in the specification at some point.
> Payload of events sent to current scxml session using <send> tag not injected into engine
> -----------------------------------------------------------------------------------------
>
> Key: SCXML-45
> URL: https://issues.apache.org/jira/browse/SCXML-45
> Project: Commons SCXML
> Issue Type: Bug
> Affects Versions: 0.6
> Reporter: Ingmar Kliche
> Assignee: Rahul Akolkar
> Priority: Minor
> Fix For: 0.7
>
>
> Events which are sent to the current scxml session using the <send> tag (i.e. target = empty) may contain payload specified by the namelist attribute. This payload is currently not fed back into engine when the event is created.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org