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