commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mike Sparr -" <>
Subject Re: [SCXML] ordering of transitions
Date Sat, 08 Apr 2006 05:46:30 GMT
Oddly enough, the send event was choice and it never got to choice and
executed menu, or both?  The log showed error with two states, comma
delimited [logged_in, logged_off] ...

I had some demos to present so I didn't want to compromize our app so I'm
still running off old snapshot - could be old behavior.  I'll follow the
links in your other response and update our version this week and report odd
behavior if any.

No memory issues, just a concern.  EL functionality desired and yes I tried
substringAfter().  I will definitely add feature request to upgrade the EL
package as the behavior you describe would be fantastic, especially for our
use-case.  I'll be kicking off another phase of product development soon and
will update our base and build out accordingly.  This phase adding JAAS
security for RDBMS/LDAP auth, Caching, XML Configuration, Hot
Deploy/Performance mode in P1 and other bits in P2, P3.

No marketing materials yet but if I send off demo URL and script, could you
perhaps UML SC model it for USE-CASE you can publish.  I should have that
ready next week.  Thanks for the other pointers and once I fully engage this
coming week, I'll make a shopping list in bugzilla.  :)

We are setting up new office/dev env.  Workstations on running Win XP Pro w/
Apache 2, JDK5, Tomcat, etc.  Setting up central dev and wondering best
suggested combination?  Subversion / Bugzilla (linux RHEL box) and then Win
clients on workstations?  Input appreciated.



On 4/7/06 11:34 PM, "Rahul Akolkar" <> wrote:

> On 4/7/06, Mike Sparr - <> wrote:
>> I found that if we have a multiple transition events within a state and any
>> without a guard condition get processed before reaching the guard conditions
>> of the other transition events.  Is this the expected behavior?
>> For instance:
>> <state id="1">
>> <transition event="menu"></transition>
>> <transition event="choice" cond="${request.input == 'help'}"> do something
>> target state = 2 </transition>
>> <transition event="choice" cond="${request.input == 'call'}"> do something
>> else / target state=2 </transition>
>> </state>
>> <state id="2">
>>  ... stuff
>> </state>
>> It never processes the guard conditions, however if I place the first event
>> without the guard condition AFTER the two with, even though they have
>> different event names, it works?
> <snip/>
> What event is being fired for this scenario when you're in state 1? If
> its "menu", there is only one candidate transition there, if its
> "choice" then there is no ambiguity either since the conds will ensure
> that at most one transition is followed.
> Sorry, it seems I didn't quite get that. In order to be able to tell
> you why the ordering would play any role in this particular scenario,
> could you please post the smallest complete SCXML document and the
> event name(s) that are fired on the state machine, in the correct
> order, so I can reproduce your observations? Thanks in advance.
>> Any reasoning behind this.  I get odd errors where it actually creates 2
>> states simultaneously.
> <snap/>
> Trying to navigate into two sibling states that are not regions
> (children of a parallel) is semantically a folly in SCXML. Probably a
> more complete snippet will explain why that is happening here.
>> ======
>> Also, what are the rules with using the single quotes within double quotes
>> for variables.  When referencing the variables I set expr="'something'" it
>> actually passed 'something' instead of something ???
> <snip/>
> Depends on the expression language. If you're using EL, you don't need
> the single quotes for assigning String constant values, since the only
> expressions are those wrapped in ${...}, so any bits that don't match
> default to a constant String:
> <assign name="foo" expr="bar"/> <!-- EL, no single quotes -->
> but if you're using JEXL the single quotes are needed otherwise the
> intended String literal will be evaluated as an expression (and
> probably evaluate to null), so:
> <assign name="foo" expr="'bar'"/> <!-- JEXL, single quotes -->
> -Rahul
>> Thanks,
>> Mike
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message