[ 
https://issues.apache.org/jira/browse/SCXML-142?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jacob Beard resolved SCXML-142.
-------------------------------

    Fix Version/s: GSoC
       Resolution: Fixed

Resolved in svn r966772

> Proper handling of SCXML events
> -------------------------------
>
>                 Key: SCXML-142
>                 URL: https://issues.apache.org/jira/browse/SCXML-142
>             Project: Commons SCXML
>          Issue Type: Sub-task
>    Affects Versions: GSoC
>            Reporter: Jacob Beard
>            Assignee: Jacob Beard
>             Fix For: GSoC
>
>
> Current implementation is not fully compliant with 
> http://www.w3.org/TR/scxml/#events. Specifically:
> {quote}
> Events have names which are matched against the "event" attribute of 
> transitions. These names are strings consisting of alphanumeric characters 
> plus the character '.' which is used to segment names into tokens. The 
> "event" attribute of a transition consists of one or more event designators 
> separated by spaces. A transition matches an event if one of its event 
> designators is identical to the event's name or if it is a sequence of tokens 
> that form a prefix of the event's name. Thus a transition with an "event" 
> attribute of 'error foo' will match events named 'error', 'error.send', 
> 'error.send.failed', etc. (or 'foo', 'foo.bar' etc.) but would not match 
> events named 'errors.my.custom' or 'errorhandler.mistake' (or 'foobar'). For 
> compatibility with CCXML, and to make the prefix matching possibly more clear 
> to a reader of the SCXML document, an event designator may also end with the 
> wildcard '.*', which matches zero or more tokens at the end of the processed 
> event's name. Note that a transition with "event" of 'error' and one with 
> 'error.*' are functionally equivalent since the transition selection 
> algorithm always runs prefix matching on the "event" attribute. As further 
> syntactic sugar, an event designator consisting solely of '*' can be used as 
> a wildcard matching any sequence of tokens which thus will match any event. 
> Note that this is different from a transition lacking the "event" attribute 
> altogether. Such an eventless transition does not match any event, but will 
> be taken whenever its "cond" attribute evaluates to 'true'. As shown in B 
> Algorithm for SCXML Interpretation, the SCXML interpreter will check for such 
> eventless transitions when it first enters a state, before it looks for 
> transitions driven by internal or external events.
> {quote}
> Currently, SCXML events are simply enumerated for efficiency. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to