Sorry this was not the problem pleas ignore post. 2008/12/29 jocke eriksson <[email protected]>
> > Try adding targettype="scxml" to the send element, because when I look at > the send implementation it requires it, but I think it should be the > default. See > > http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml/model/Send.java?view=markup > > *if* (targettypeValue != *null* > && targettypeValue.trim().equalsIgnoreCase(TARGETTYPE_SCXML)) { > > > > Hope this helps if not maybe someone else can help. > > Regards Jocke > > 2008/12/29 Jaroslav Pullmann <[email protected]> > > >> Dear Rahul, dear all, >> I'd like to use global targetless transitions to handle events occurring >> asynchronously without leaving the context of the current state. Thus >> common >> business logic (executable content within the transition) is inherited or >> overwritten locally by any substate. It allows for chaining via >> send/transition >> pipes for more complex, conditional behaviour. Since the transitions are >> defined >> in a different, global scope, data are passed either via global >> datamodels or via >> the implicit event payload. My use case is a state machine, where some >> events should >> by handled without the "side effect" of triggerring a state transition >> (the main >> execution path) asynchronously as they arrive from multiple clients >> interacting >> with the SCXML session (e.g. error handling, views on datamodel and >> current status ...) >> >> I encounter problems when trying to send and evaluate the event payload. >> There seems to be >> no _eventdata available within the transition handling the event "view", >> although the >> parameter "text" is obviously declared. This code is run with Commons >> SCXML v0.9: >> >> <scxml initialstate="main" version="1.0" xmlns=" >> http://www.w3.org/2005/07/scxml"> >> <state id="main"> >> >> <initial> >> <transition target="sub1" /> >> </initial> >> >> <datamodel> >> <data id="text" expr="'TEXT MESSAGE'"></data> >> </datamodel> >> >> <!-- event handler processing the event payload without >> performing a transition --> >> <transition event="view"> >> <log expr="'viewing text message: '"/> >> <log expr="_eventdata"/> >> <log expr="text"/> >> <!-- chained handler --> >> <if cond="_eventdata == null"><send >> event="'view_specific'"/></if> >> </transition> >> >> <transition event="view_specific"> >> <log expr="'no _eventdata found'"/> >> </transition> >> >> <state id="sub1" final="true"> >> <onentry> >> <log expr="'sending text message: '+text"/> >> <send event="'view'" namelist="text" /> >> </onentry> >> </state> >> >> </state> >> </scxml> >> >> >> It produces the following log statements: >> >> Dec 29, 2008 10:42:12 AM >> org.apache.commons.scxml.env.SimpleSCXMLListener onEntry >> INFO: /main >> Dec 29, 2008 10:42:12 AM org.apache.commons.scxml.model.Log execute >> INFO: null: sending text message: TEXT MESSAGE >> Dec 29, 2008 10:42:12 AM >> org.apache.commons.scxml.env.SimpleSCXMLListener onEntry >> INFO: /main/sub1 >> Dec 29, 2008 10:42:12 AM org.apache.commons.scxml.model.Log execute >> INFO: null: viewing text message: >> Dec 29, 2008 10:42:12 AM org.apache.commons.scxml.model.Log execute >> INFO: null: null >> Dec 29, 2008 10:42:12 AM org.apache.commons.scxml.model.Log execute >> INFO: null: TEXT MESSAGE >> Dec 29, 2008 10:42:12 AM >> org.apache.commons.scxml.env.SimpleSCXMLListener onTransition >> INFO: transition (event = view, cond = null, from = /main, to = >> /main) >> Dec 29, 2008 10:42:12 AM org.apache.commons.scxml.model.Log execute >> INFO: null: no _eventdata found >> Dec 29, 2008 10:42:12 AM >> org.apache.commons.scxml.env.SimpleSCXMLListener onTransition >> INFO: transition (event = view_specific, cond = null, from = /main, >> to = /main) >> >> >> It's probably my fault using a wrong syntax. Could you please suggest a >> way how to: >> >> 1) access the simple string content of _eventdata ? >> >> 2) access XML _eventdata via XPath ? >> >> 3) send a subtree of an XML data model along with an event ? >> >> To handle 3) and transition chaines passing arbitrary data chunks via >> named >> parameters the <send> element, like <invoke>, could use <param> child >> elements >> to explicitly declare its data interface decoupled from the datamodel ? >> >> Is there any reason <event>, unlkike <send>, does not support any sort of >> parametrization >> in the current WD and such the event name itself has to encode the >> respective parameter-value >> information ? >> >> Many thanks for your support >> Jaro >> >> >> >> >> >> >> >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> >
