You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by at...@apache.org on 2014/11/15 04:08:00 UTC

svn commit: r1639829 [4/4] - in /commons/proper/scxml/trunk/src: ./ main/java/org/apache/commons/scxml2/ main/java/org/apache/commons/scxml2/env/ main/java/org/apache/commons/scxml2/env/groovy/ main/java/org/apache/commons/scxml2/env/javascript/ main/j...

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/groovy/microwave-01.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/groovy/microwave-01.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/groovy/microwave-01.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/groovy/microwave-01.xml Sat Nov 15 03:07:58 2014
@@ -61,16 +61,16 @@
 
       <!-- start cooking -->
       <transition event="door_close" target="cooking">
-        <assign name="door_closed" expr="true"/>
+        <assign location="door_closed" expr="true"/>
       </transition>
     </state>
 
     <state id="cooking">
       <transition event="door_open" target="idle">
-        <assign name="door_closed" expr="false"/>
+        <assign location="door_closed" expr="false"/>
       </transition>
       <transition event="time" target="cooking">
-        <assign name="timer" expr="timer + 1"/>
+        <assign location="timer" expr="timer + 1"/>
       </transition>
     </state>
 

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/groovy/microwave-02.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/groovy/microwave-02.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/groovy/microwave-02.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/groovy/microwave-02.xml Sat Nov 15 03:07:58 2014
@@ -65,7 +65,7 @@
           <transition cond="!In('closed')" target="idle"/>
 
           <transition event="time" target="cooking">
-            <assign name="timer" expr="timer + 1"/>
+            <assign location="timer" expr="timer + 1"/>
           </transition>
         </state>
       </state>

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/groovy/microwave-03.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/groovy/microwave-03.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/groovy/microwave-03.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/groovy/microwave-03.xml Sat Nov 15 03:07:58 2014
@@ -61,16 +61,16 @@
 
       <!-- start cooking -->
       <transition event="door_close" target="cooking">
-        <assign name="door_closed" expr="true"/>
+        <assign location="door_closed" expr="true"/>
       </transition>
     </state>
 
     <state id="cooking">
       <transition event="door_open" target="idle">
-        <assign name="door_closed" expr="false"/>
+        <assign location="door_closed" expr="false"/>
       </transition>
       <transition event="time" target="cooking">
-        <assign name="timer" expr="timer + 1"/>
+        <assign location="timer" expr="timer + 1"/>
       </transition>
     </state>
 

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/groovy/microwave-04.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/groovy/microwave-04.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/groovy/microwave-04.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/groovy/microwave-04.xml Sat Nov 15 03:07:58 2014
@@ -67,7 +67,7 @@
           <transition cond="!In('closed')" target="idle"/>
 
           <transition event="time" target="cooking">
-            <assign name="timer" expr="timer + 1"/>
+            <assign location="timer" expr="timer + 1"/>
           </transition>
         </state>
       </state>

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/groovy/microwave-05.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/groovy/microwave-05.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/groovy/microwave-05.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/groovy/microwave-05.xml Sat Nov 15 03:07:58 2014
@@ -73,7 +73,7 @@
             <transition cond="!In('closed')" target="idle"/>
 
             <transition event="time" target="cooking">
-              <assign name="timer" expr="timer + 1"/>
+              <assign location="timer" expr="timer + 1"/>
             </transition>
           </state>
         </state>

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/javascript/JSEvaluatorTest.java
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/javascript/JSEvaluatorTest.java?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/javascript/JSEvaluatorTest.java (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/javascript/JSEvaluatorTest.java Sat Nov 15 03:07:58 2014
@@ -226,9 +226,9 @@ public class JSEvaluatorTest {
      */    
     @Test
     public void testDataModelExpressions() throws Exception {
-        Assert.assertEquals("Invalid result: " + "Data(forest,'tree/branch/twig')",
+        Assert.assertEquals("Invalid result: " + "Data('string($forest/tree/branch/twig)')",
                      "leaf",
-                     evaluator.eval(context,"Data(forest,'tree/branch/twig')"));
+                     evaluator.eval(context,"Data('string($forest/tree/branch/twig)')"));
     }
 
     /**
@@ -240,8 +240,8 @@ public class JSEvaluatorTest {
         Assert.assertNull(context.get("forestx"));
 
         try {
-            evaluator.eval(context,"Data(forestx,'tree/branch/twig')");
-            Assert.fail          ("Evaluated invalid Data() expression: " + "Data(forestx,'tree/branch/twig')");
+            evaluator.eval(context,"Data(forestx,'string($forestx/tree/branch/twig)')");
+            Assert.fail          ("Evaluated invalid Data() expression: " + "Data('string($forestx/tree/branch/twig)')");
 
         } catch (SCXMLExpressionException x) {
             // expected, ignore
@@ -257,14 +257,14 @@ public class JSEvaluatorTest {
             Assert.assertNotNull(context.get("forest"));
             XPath  xpath = XPathFactory.newInstance().newXPath();
             Node   node  = (Node)   context.get("forest");
-            Node   twig  = (Node)   xpath.evaluate("tree/branch/twig",        node,XPathConstants.NODE);
+            Node   twig  = (Node)   xpath.evaluate("tree/branch/twig", node, XPathConstants.NODE);
 
-            Assert.assertTrue  ("Invalid result: " + "Data(forest,'tree/branch/twig')",
-                          evaluator.evalLocation(context,"Data(forest,'tree/branch/twig')") instanceof Element);
+            Assert.assertTrue  ("Invalid result: " + "Data(forest,'$forest/tree/branch/twig')",
+                          evaluator.eval(context,"Data('$forest/tree/branch/twig')") instanceof Element);
 
-            Assert.assertSame ("Incorrect node returned: " + "Data(forest,'tree/branch/twig')",
+            Assert.assertSame ("Incorrect node returned: " + "Data('$forest/tree/branch/twig')",
                          twig,
-                         evaluator.evalLocation(context,"Data(forest,'tree/branch/twig')"));
+                         evaluator.eval(context,"Data('$forest/tree/branch/twig')"));
     }
 
     /**
@@ -274,8 +274,8 @@ public class JSEvaluatorTest {
     @Test
     public void testInvalidDataModelLocations() throws Exception {
             Assert.assertNotNull(context.get("forest"));
-            Assert.assertNull("Invalid result: " + "Data(forest,'tree/branch/twigx')",
-                       evaluator.evalLocation(context,"Data(forest,'tree/branch/twigx')"));
+            Assert.assertNull("Invalid result: " + "Data('$forest/tree/branch/twigx')",
+                       evaluator.eval(context,"Data('$forest/tree/branch/twigx')"));
     }
 
     /**

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/javascript/example-01.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/javascript/example-01.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/javascript/example-01.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/javascript/example-01.xml Sat Nov 15 03:07:58 2014
@@ -88,11 +88,11 @@
 
     <state id='javascript.datamodel'>
       <onentry>
-        <log expr='"Lion : " + Data(jungle,"animals/lion/name")  + "," + Data(jungle,"animals/lion/age")'  />
-        <log expr='"Tiger: " + Data(jungle,"animals/tiger/name") + "," + Data(jungle,"animals/tiger/age")' />
-        <assign location='Data(jungle,"animals/lion/age")'  expr='Data(jungle,"animals/tiger/age")'        />
-        <log expr='"Lion : " + Data(jungle,"animals/lion/name")  + "," + Data(jungle,"animals/lion/age")'  />
-        <log expr='"Tiger: " + Data(jungle,"animals/tiger/name") + "," + Data(jungle,"animals/tiger/age")' />
+        <log expr='"Lion : " + Data("string(jungle/animals/lion/name)")  + "," + Data("string(jungle/animals/lion/age)")'  />
+        <log expr='"Tiger: " + Data("string(jungle/animals/tiger/name)") + "," + Data("string(jungle/animals/tiger/age)")' />
+        <assign location='Location("jungle/animals/lion/age")' expr='Data("jungle/animals/tiger/age")' type="replace"/>
+        <log expr='"Lion : " + Data("string(jungle/animals/lion/name)")  + "," + Data("string(jungle/animals/lion/age)")'  />
+        <log expr='"Tiger: " + Data("string(jungle/animals/tiger/name)") + "," + Data("string(jungle/animals/tiger/age)")' />
       </onentry>
       <transition target='javascript.functions.inline' />
     </state>

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/javascript/script-01.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/javascript/script-01.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/javascript/script-01.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/javascript/script-01.xml Sat Nov 15 03:07:58 2014
@@ -34,7 +34,7 @@
               y = 3 * 4;
               var z = 'foo';
             </script>
-            <assign name="z" expr="'bar'"/> <!-- z is defined by script -->
+            <assign location="z" expr="'bar'"/> <!-- z is defined by script -->
         </onentry>
         <transition target="end" cond="x == 2 &amp;&amp; y == 12 &amp;&amp; z == 'bar'"/>
     </state>

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/JexlContextTest.java
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/JexlContextTest.java?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/JexlContextTest.java (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/JexlContextTest.java Sat Nov 15 03:07:58 2014
@@ -34,7 +34,7 @@ public class JexlContextTest {
     public void testPrepopulated() {
         Map<String, Object> m = new HashMap<String, Object>();
         m.put("foo", "bar");
-        JexlContext ctx = new JexlContext(m);
+        JexlContext ctx = new JexlContext(null, m);
         Assert.assertNotNull(ctx);
         Assert.assertEquals(1, ctx.getVars().size());
         String fooValue = (String) ctx.get("foo");
@@ -45,7 +45,7 @@ public class JexlContextTest {
     public void testSetVars() {
         Map<String, Object> m = new HashMap<String, Object>();
         m.put("foo", "bar");
-        JexlContext ctx = new JexlContext(m);
+        JexlContext ctx = new JexlContext(null, m);
         Assert.assertNotNull(ctx);
         Assert.assertEquals(1, ctx.getVars().size());
         String fooValue = (String) ctx.get("foo");

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/datamodel-01.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/datamodel-01.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/datamodel-01.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/datamodel-01.xml Sat Nov 15 03:07:58 2014
@@ -60,38 +60,37 @@
 
         <state id="ten">
             <onentry>
-                <!-- Assign Usage 1: name is previously defined
+                <!-- Assign Usage 1: location is previously defined
                       <var> or degenerate <data> (as in this case) -->
-                <assign name="mainvar" expr="10" />
+                <assign location="mainvar" expr="10" />
             </onentry>
             <!-- Commons SCXML defines a Data() function to use in conjunction
                  with the Commons JEXL expression language. The
-                 first argument is the named XML data tree and the second is
-                 the XPath expression to a node whose value is to be
+                 argument is the XPath expression to a node whose value is to be
                  examined  -->
             <transition event="done.state.ten"
-             cond="mainvar eq 10 and Data(maindata,'root/a/b/c') eq 'beta'"
+             cond="mainvar eq 10 and Data('string($maindata/root/a/b/c)') eq 'beta'"
              target="twenty" />
             <onexit>
                 <!-- Assign Usage 2: location must point to an existing
                       node  -->
-                <assign location="Data(maindata,'root/a/b/c')" expr="'gamma'" />
+                <assign location="Location('$maindata/root/a/b/c')" expr="'gamma'" />
             </onexit>
         </state>
 
         <state id="twenty">
             <onentry>
-                <assign name="mainvar" expr="20" />
+                <assign location="mainvar" expr="20" />
             </onentry>
             <transition event="done.state.twenty"
-             cond="Data(maindata,'root/a/b/c') eq 'gamma' and mainvar eq 20"
+             cond="Data('string(maindata/root/a/b/c)') eq 'gamma' and mainvar eq 20"
              target="thirty" />
             <onexit>
                 <!-- Assign Usage 3: location points to an existing
                       node, and expr points to an existing node.
                       In this case, location adopts expr's child nodes.  -->
-                <assign location="Data(docdata,'root/foo')"
-                        expr="Data(maindata,'root')" />
+                <assign location="Location('$docdata/root/foo')"
+                        expr="Data('$maindata/root/*')" />
             </onexit>
         </state>
 
@@ -101,7 +100,7 @@
                  did not have a node at 'root/foo/a/b/d' to begin with,
                  the XML tree was manipulated by the <assign> above -->
             <transition event="done.state.thirty"
-             cond="Data(docdata,'root/foo/a/b/d') + Data(docdata,'root/foo/a/b/e') eq 579.789"
+             cond="Data('number($docdata/root/foo/a/b/d)') + Data('number($docdata/root/foo/a/b/e)') eq 579.789"
              target="forty" />
         </state>
 

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/datamodel-02.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/datamodel-02.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/datamodel-02.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/datamodel-02.xml Sat Nov 15 03:07:58 2014
@@ -36,7 +36,7 @@
         </datamodel>
 
         <transition xmlns:ns1="http://namespace.test.domain/1"
-                    event="done.state.ten" cond="Data(data10,'root/ns1:foo/bar') eq 10"
+                    event="done.state.ten" cond="Data('string($data10/root/ns1:foo/bar)') eq 10"
                     target="twenty" />
 
     </state>
@@ -56,7 +56,7 @@
             </data>
         </datamodel>
 
-        <transition event="done.state.twenty" cond="Data(data20,'ns3:root/ns4:foo') eq 20"
+        <transition event="done.state.twenty" cond="Data('string($data20/ns3:root/ns4:foo)') eq 20"
                     target="thirty" />
 
     </state>
@@ -79,7 +79,7 @@
          xmlns:ns1="http://namespace.test.domain/1"
          xmlns:ns2="http://namespace.test.domain/2"
          xmlns:ns3="http://namespace.test.domain/3"
-         cond="Data(data30,'ns1:root/ns2:foo/@ns3:content') eq 30"
+         cond="Data('string($data30/ns1:root/ns2:foo/@ns3:content)') eq 30"
          target="forty" />
 
     </state>

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/datamodel-03.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/datamodel-03.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/datamodel-03.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/datamodel-03.xml Sat Nov 15 03:07:58 2014
@@ -64,19 +64,16 @@
 
         <onentry>
             <cs:var xmlns:pre1="scheme://namespace.test.domain/1"
-                 xmlns:pre2="scheme://namespace.test.domain/2"
-                 xmlns:pre3="scheme://namespace.test.domain/3"
-                 name="tentest"
-                 expr="Data(rootdata,'pre1:root/pre2:foo/pre3:bar') + Data(data10,'root/pre1:foo/bar')" />
+                    xmlns:pre2="scheme://namespace.test.domain/2"
+                    xmlns:pre3="scheme://namespace.test.domain/3"
+                    name="tentest"
+                    expr="Data('number($rootdata/pre1:root/pre2:foo/pre3:bar)') + Data('number($data10/root/pre1:foo/bar)')" />
         </onentry>
 
-        <transition event="done.state.ten"
-                    cond="tentest eq 11"
-                    target="twenty" />
+        <transition event="done.state.ten" cond="tentest eq 11" target="twenty" />
 
         <onexit>
-            <assign name="retval"
-                    expr="tentest" />
+            <assign location="retval" expr="tentest" />
         </onexit>
 
     </state>
@@ -97,8 +94,7 @@
         </datamodel>
 
         <onentry>
-            <assign location="Data(rootdata,'ns1:root/ns2:foo/ns3:bar')"
-                    expr="2" />
+            <assign location="Location('$rootdata/ns1:root/ns2:foo/ns3:bar')" expr="2" />
         </onentry>
 
 
@@ -106,7 +102,7 @@
         <transition event="done.state.twenty"
                     xmlns:ns1="scheme://namespace.test.domain/1"
                     xmlns:ns2="scheme://namespace.test.domain/2"
-                    cond="Data(data20,'ns1:root/ns2:foo') eq 20 and Data(rootdata,'ns1:root/ns2:foo/ns3:bar') eq 2"
+                    cond="Data('string($data20/ns1:root/ns2:foo)') eq 20 and Data('string($rootdata/ns1:root/ns2:foo/ns3:bar)') eq 2"
                     target="thirty" />
 
         <onexit>
@@ -114,17 +110,17 @@
             <!-- Redefine different prefixes bound to above namespaces -->
             <if xmlns:pre1="scheme://namespace.test.domain/1"
                 xmlns:pre2="scheme://namespace.test.domain/2"
-                cond="Data(data20,'pre1:root/pre2:foo') lt 20">
+                cond="Data('number($data20/pre1:root/pre2:foo)') lt 20">
 
-                <assign name="retval" expr="'Less than 20'" />
+                <assign location="retval" expr="'Less than 20'" />
 
-            <elseif cond="Data(data20,'pre1:root/pre2:foo') eq 20" />
+            <elseif cond="Data('number($data20/pre1:root/pre2:foo)') eq 20" />
 
-                <assign name="retval" expr="'Equal to 20'" />
+                <assign location="retval" expr="'Equal to 20'" />
 
             <else/>
 
-                <assign name="retval" expr="'Greater than 20'" />
+                <assign location="retval" expr="'Greater than 20'" />
 
             </if>
 
@@ -151,7 +147,7 @@
          xmlns:ns1="scheme://namespace.test.domain/1"
          xmlns:ns2="scheme://namespace.test.domain/2"
          xmlns:ns3="scheme://namespace.test.domain/3"
-         cond="Data(data30,'ns1:root/ns2:foo/@ns3:attfoo') + Data(data30,'ns1:root/ns2:foo/@attbar') eq 330"
+         cond="Data('number($data30/ns1:root/ns2:foo/@ns3:attfoo)') + Data('number($data30/ns1:root/ns2:foo/@attbar)') eq 330"
          target="forty" />
 
     </state>
@@ -179,7 +175,7 @@
         </datamodel>
 
         <transition event="done.state.forty"
-         cond="Data(data40,'root/ns1:foo/@ns2:attfoo') + Data(data41,'ns3:root/ns4:foo') eq 81"
+         cond="Data('number($data40/root/ns1:foo/@ns2:attfoo)') + Data('number($data41/ns3:root/ns4:foo)') eq 81"
          target="fifty" />
 
     </state>
@@ -211,7 +207,7 @@
          xmlns:ns2="scheme://namespace.test.domain/2"
          xmlns:ns3="scheme://namespace.test.domain/3"
          xmlns:ns4="scheme://namespace.test.domain/4"
-         cond="Data(data50,'ns1:root/ns2:foo/@ns3:attfoo') + Data(rootdata,'ns1:root/ns2:foo/ns3:bar') eq 52"
+         cond="Data('number($data50/ns1:root/ns2:foo/@ns3:attfoo)') + Data('number($rootdata/ns1:root/ns2:foo/ns3:bar)') eq 52"
          target="sixty" />
 
     </state>
@@ -243,11 +239,11 @@
          xmlns:pre2="scheme://namespace.test.domain/2"
          xmlns:pre3="scheme://namespace.test.domain/3"
          xmlns:pre4="scheme://namespace.test.domain/4"
-         cond="Data(data60,'root/pre1:foo/@pre2:attfoo') + Data(data61,'pre3:root/pre4:foo/@attfoo') eq 121"
+         cond="Data('number($data60/root/pre1:foo/@pre2:attfoo)') + Data('number($data61/pre3:root/pre4:foo/@attfoo)') eq 121"
          target="seventy">
 
             <!-- should be 121 -->
-            <log expr="Data(data60,'root/pre1:foo/@pre2:attfoo') + Data(data61,'pre3:root/pre4:foo/@attfoo')"/>
+            <log expr="Data('number($data60/root/pre1:foo/@pre2:attfoo)') + Data('number($data61/pre3:root/pre4:foo/@attfoo)')"/>
 
         </transition>
 

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/datamodel-04.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/datamodel-04.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/datamodel-04.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/datamodel-04.xml Sat Nov 15 03:07:58 2014
@@ -30,7 +30,7 @@
 
     <state id="ten">
         <transition event="done.state.ten" target="twenty">
-            <assign name="payload" expr="_event.data" />
+            <assign location="payload" expr="_event.data" />
         </transition>
     </state>
 

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/datamodel-05.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/datamodel-05.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/datamodel-05.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/datamodel-05.xml Sat Nov 15 03:07:58 2014
@@ -57,11 +57,11 @@
 
     <state id="start">
         <onentry>
-            <log label="XML subtree copy - delete (should be foo)" expr="Data(hotel, 'hotel/stay/delete')"/>
-            <assign location="Data(hotel, 'hotel/stay')" expr="Data(airline, 'flight/dates[2]')"/>
-            <log label="XML subtree copy - delete (should be empty)" expr="Data(hotel, 'hotel/stay/delete')"/>
+            <log label="XML subtree copy - delete (should be foo)" expr="Data('string($hotel/hotel/stay/delete)')"/>
+            <assign location="Location('$hotel/hotel/stay')" expr="Data('$airline/flight/dates[2]/*')"/>
+            <log label="XML subtree copy - delete (should be empty)" expr="Data('string($hotel/hotel/stay/delete)')"/>
         </onentry>
-        <transition cond="Data(hotel, 'hotel/stay/startdate') eq '01/26/2009'" target="end" />
+        <transition cond="Data('string($hotel/hotel/stay/startdate)') eq '01/26/2009'" target="end" />
     </state>
 
     <final id="end"/>

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/eventdata-03.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/eventdata-03.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/eventdata-03.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/eventdata-03.xml Sat Nov 15 03:07:58 2014
@@ -36,8 +36,8 @@
 
     <state id="twenty">
         <onentry>
-            <cs:var name="one" expr="Data(rootdata,'root/one')"/>
-            <cs:var name="two" expr="Data(rootdata,'root/two')"/>
+            <cs:var name="one" expr="Data('number($rootdata/root/one)')"/>
+            <cs:var name="two" expr="Data('number($rootdata/root/two)')"/>
             <send event="event.bar" namelist="one two"/>
         </onentry>
         <transition event="event.bar"

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/foreach.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/foreach.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/foreach.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/foreach.xml Sat Nov 15 03:07:58 2014
@@ -24,7 +24,7 @@
   <state id="test">
     <onentry>
       <foreach item="var3" array="var1">
-        <assign name="var2" expr="var2 + var3"/>
+        <assign location="var2" expr="var2 + var3"/>
       </foreach>
     </onentry>
     <transition cond="var2==6" target="finished"/>

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/microwave-01.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/microwave-01.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/microwave-01.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/microwave-01.xml Sat Nov 15 03:07:58 2014
@@ -61,16 +61,16 @@
 
       <!-- start cooking -->
       <transition event="door_close" target="cooking">
-        <assign name="door_closed" expr="true"/>
+        <assign location="door_closed" expr="true"/>
       </transition>
     </state>
 
     <state id="cooking">
       <transition event="door_open" target="idle">
-        <assign name="door_closed" expr="false"/>
+        <assign location="door_closed" expr="false"/>
       </transition> 
       <transition event="time" target="cooking">
-        <assign name="timer" expr="timer + 1"/>
+        <assign location="timer" expr="timer + 1"/>
       </transition>
     </state>
 

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/microwave-02.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/microwave-02.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/microwave-02.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/microwave-02.xml Sat Nov 15 03:07:58 2014
@@ -65,7 +65,7 @@
           <transition cond="not In('closed')" target="idle"/>
 
           <transition event="time" target="cooking">
-            <assign name="timer" expr="timer + 1"/>
+            <assign location="timer" expr="timer + 1"/>
           </transition>
         </state>
       </state>

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/microwave-03.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/microwave-03.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/microwave-03.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/microwave-03.xml Sat Nov 15 03:07:58 2014
@@ -61,16 +61,16 @@
 
       <!-- start cooking -->
       <transition event="door_close" target="cooking">
-        <assign name="door_closed" expr="true"/>
+        <assign location="door_closed" expr="true"/>
       </transition>
     </state>
 
     <state id="cooking">
       <transition event="door_open" target="idle">
-        <assign name="door_closed" expr="false"/>
+        <assign location="door_closed" expr="false"/>
       </transition> 
       <transition event="time" target="cooking">
-        <assign name="timer" expr="timer + 1"/>
+        <assign location="timer" expr="timer + 1"/>
       </transition>
     </state>
 

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/microwave-04.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/microwave-04.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/microwave-04.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/microwave-04.xml Sat Nov 15 03:07:58 2014
@@ -67,7 +67,7 @@
             <transition cond="not In('closed')" target="idle"/>
 
             <transition event="time" target="cooking">
-              <assign name="timer" expr="timer + 1"/>
+              <assign location="timer" expr="timer + 1"/>
             </transition>
           </state>
         </state>

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/microwave-05.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/microwave-05.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/microwave-05.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/microwave-05.xml Sat Nov 15 03:07:58 2014
@@ -73,7 +73,7 @@
             <transition cond="not In('closed')" target="idle"/>
 
             <transition event="time" target="cooking">
-              <assign name="timer" expr="timer + 1"/>
+              <assign location="timer" expr="timer + 1"/>
             </transition>
           </state>
         </state>

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/script-01.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/script-01.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/script-01.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/script-01.xml Sat Nov 15 03:07:58 2014
@@ -34,7 +34,7 @@
               y = 3 * 4;
               z = 'foo';
             </script>
-            <assign name="z" expr="'bar'"/> <!-- z is defined by script -->
+            <assign location="z" expr="'bar'"/> <!-- z is defined by script -->
         </onentry>
         <transition target="end" cond="x eq 2 and y eq 12 and z eq 'bar'"/>
     </state>

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/stateless-01.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/stateless-01.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/stateless-01.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/stateless-01.xml Sat Nov 15 03:07:58 2014
@@ -35,7 +35,7 @@
             <transition event="done.state.ten" cond="instancevar eq 20"
                         target="twenty" />
             <onexit>
-                <assign name="instancevar" expr="30" />
+                <assign location="instancevar" expr="30" />
             </onexit>
         </state>
 

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/wizard-02.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/wizard-02.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/wizard-02.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/jexl/wizard-02.xml Sat Nov 15 03:07:58 2014
@@ -26,7 +26,7 @@
                       default to be chosen as "scxml".
                       This will cause the first transition
                       to state2 to be immediately followed. -->
-                 <send event="event2" />
+                 <send event="event2" target="#_internal"/>
            </onentry>
            <transition event="event2" target="state2"/>
            <transition event="event3" target="state3"/>

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/xpath/example-01.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/xpath/example-01.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/xpath/example-01.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/xpath/example-01.xml Sat Nov 15 03:07:58 2014
@@ -37,7 +37,7 @@
 
   <state id="start">
     <onentry>
-      <log label="Lion" expr="$jungle/animals/lion/name" />
+      <log label="Lion" expr="string(/jungle/animals/lion/name)" />
     </onentry>
     <transition cond="jungle/animals/lion/age = 12" target="mid" />
   </state>

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/invoke/InvokeParamNameTest.java
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/invoke/InvokeParamNameTest.java?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/invoke/InvokeParamNameTest.java (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/invoke/InvokeParamNameTest.java Sat Nov 15 03:07:58 2014
@@ -69,7 +69,7 @@ public class InvokeParamNameTest {
         Assert.assertEquals("foo", e.getValue());
     }
 
-    // Tests "param" element with only a "name" attribute     
+    // Tests "param" element with a "name" attribute and "expr" attribute locating a node
     @Test
     public void testSoleNameLocation() throws Exception {
         trigger(); trigger();
@@ -80,19 +80,10 @@ public class InvokeParamNameTest {
         Assert.assertEquals("foo", e.getFirstChild().getNodeValue());
     }
 
-    // Tests "param" element with a single, wrong "name" attribute    
-    @Test
-    public void testWrongNameLocation() throws Exception {
-        trigger(); trigger(); trigger();
-        /* TODO: restore or drop test
-        Assert.assertEquals(1, exec.getCurrentStatus().getEvents().size());
-        final TriggerEvent evt = exec.getCurrentStatus().getEvents().iterator().next(); 
-        Assert.assertTrue(evt.getName().endsWith("error.illegalalloc"));
-        */
-    }
-
     public static class DummyInvoker implements Invoker {
 
+        private String invokeId;
+
         public void invoke(String source, Map<String, Object> params)
         throws InvokerException {
             lastSource = source;
@@ -115,8 +106,12 @@ public class InvokeParamNameTest {
             // Not needed
         }
 
+        public String getInvokeId() {
+            return invokeId;
+        }
+
         public void setInvokeId(String invokeId) {
-            // Not needed    
+            this.invokeId = invokeId;
         }
 
         public void setEvaluator(Evaluator evaluator) {

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/invoke/invoker-04.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/invoke/invoker-04.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/invoke/invoker-04.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/invoke/invoker-04.xml Sat Nov 15 03:07:58 2014
@@ -36,21 +36,14 @@
     
     <state id="first">
         <invoke src="FirstTestSrc" type="x-test">
-            <param name="ding" expr="Data(foo,'node()')"/>   
+            <param name="ding" expr="Data('string($foo)')"/>
         </invoke>
         <transition event="test.trigger" target="second"/>
     </state>
 
     <state id="second">
         <invoke src="SecondTestSrc" type="x-test">
-            <param name="Data(foo,'node()')"/>   
-        </invoke>
-        <transition event="test.trigger" target="third"/>
-    </state>
-    
-    <state id="third">
-        <invoke src="ThirdTestSrc" type="x-test">
-            <param name="Data(foo,'gibberish')"/>   
+            <param name="dang" expr="Data('$foo/node()')"/>
         </invoke>
     </state>
 </scxml>

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/io/SCXMLRequiredAttributesTest.java
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/io/SCXMLRequiredAttributesTest.java?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/io/SCXMLRequiredAttributesTest.java (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/io/SCXMLRequiredAttributesTest.java Sat Nov 15 03:07:58 2014
@@ -25,7 +25,6 @@ import org.apache.commons.scxml2.model.S
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
@@ -96,17 +95,6 @@ public class SCXMLRequiredAttributesTest
                     "  <final id=\"fine\"/>\n" +
                     "</scxml>";
 
-    private static final String SCXML_WITH_ASSIGN_WITHOUT_LOCATION =
-            "<scxml xmlns=\"http://www.w3.org/2005/07/scxml\" datamodel=\"jexl\" version=\"1.0\">\n" +
-                    "  <datamodel><data id=\"x\"></data></datamodel>\n" +
-                    "  <state id=\"s1\">\n" +
-                    "    <transition target=\"fine\">\n" +
-                    "      <assign name=\"x\" expr=\"1\"/>\n" +
-                    "    </transition>\n" +
-                    "  </state>\n" +
-                    "  <final id=\"fine\"/>\n" +
-                    "</scxml>";
-
     private static final String SCXML_WITH_MISSING_PARAM_NAME =
             "<scxml xmlns=\"http://www.w3.org/2005/07/scxml\" version=\"1.0\">\n" +
                     "  <state id=\"s1\">\n" +
@@ -232,14 +220,6 @@ public class SCXMLRequiredAttributesTest
     }
 
     @Test
-    public void testSCXMLWithAssignWithoutLocation() throws Exception {
-        SCXML scxml = SCXMLTestHelper.parse(new StringReader(SCXML_WITH_ASSIGN_WITHOUT_LOCATION), null);
-        SCXMLExecutor exec = SCXMLTestHelper.getExecutor(scxml);
-        exec.go();
-        assertTrue(exec.getCurrentStatus().isFinal());
-    }
-
-    @Test
     public void testSCXMLMissingParamName() throws Exception {
         try {
             SCXMLTestHelper.parse(new StringReader(SCXML_WITH_MISSING_PARAM_NAME), null);

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/ParallelTest.java
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/ParallelTest.java?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/ParallelTest.java (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/ParallelTest.java Sat Nov 15 03:07:58 2014
@@ -16,15 +16,10 @@
  */
 package org.apache.commons.scxml2.model;
 
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.commons.scxml2.Builtin;
 import org.apache.commons.scxml2.SCXMLExecutor;
 import org.apache.commons.scxml2.SCXMLTestHelper;
 import org.junit.Assert;
 import org.junit.Test;
-import org.w3c.dom.Node;
 
 public class ParallelTest {
 
@@ -48,17 +43,13 @@ public class ParallelTest {
         SCXMLExecutor exec = SCXMLTestHelper.getExecutor("org/apache/commons/scxml2/model/parallel-03.xml");
         exec.go();
         SCXMLTestHelper.assertPostTriggerStates(exec, "dummy.event", new String[] { "para11", "para21" });
-        Node data = (Node) exec.getRootContext().get("root");
-        Map<String, String> namespaces = new HashMap<String, String>();
-        namespaces.put("", "http://www.w3.org/2005/07/scxml");
-        Object count = Builtin.data(namespaces, data, "root/count");
+        Object count = exec.getEvaluator().eval(exec.getRootContext(),"Data('string(root/root/count)')");
         Assert.assertEquals("5.0", count.toString());
         SCXMLTestHelper.assertPostTriggerStates(exec, "foo", new String[] { "para12", "para21" });
-        count = Builtin.data(namespaces, data, "root/count");
+        count = exec.getEvaluator().eval(exec.getRootContext(),"Data('string(root/root/count)')");
         Assert.assertEquals("7.0", count.toString());
         SCXMLTestHelper.assertPostTriggerState(exec, "bar", "end");
-        count = Builtin.data(namespaces, data, "root/count");
+        count = exec.getEvaluator().eval(exec.getRootContext(),"Data('string(root/root/count)')");
         Assert.assertEquals("14.0", count.toString());
     }
-
 }

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/actions-initial-test.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/actions-initial-test.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/actions-initial-test.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/actions-initial-test.xml Sat Nov 15 03:07:58 2014
@@ -28,11 +28,11 @@
         <cs:var name="delta" expr="1+2+3" />
         <cs:var name="eventsent"/>
         <if cond="delta le 3">
-          <assign name="foo" expr="'bar'" />
+          <assign location="foo" expr="'bar'" />
         <elseif cond="delta eq 3"/>
-          <assign name="foo" expr="'fubar'" />
+          <assign location="foo" expr="'fubar'" />
         <else/>
-          <assign name="foo" expr="'foobar'" />
+          <assign location="foo" expr="'foobar'" />
         </if>
         <cs:var name="drink" expr="'water'" />
         <cs:var name="eat" expr="'flies'" />
@@ -46,7 +46,7 @@
     </initial>
 
     <transition event="event.test">
-      <assign name="eventsent" expr="true"/>
+      <assign location="eventsent" expr="true"/>
     </transition>
 
     <state id="child1"/>

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/actions-parallel-test.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/actions-parallel-test.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/actions-parallel-test.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/actions-parallel-test.xml Sat Nov 15 03:07:58 2014
@@ -27,11 +27,11 @@
       <cs:var name="delta" expr="1+2+3" />
       <cs:var name="eventsent"/>
       <if cond="delta le 3">
-        <assign name="foo" expr="'bar'" />
+        <assign location="foo" expr="'bar'" />
       <elseif cond="delta eq 3"/>
-        <assign name="foo" expr="'fubar'" />
+        <assign location="foo" expr="'fubar'" />
       <else/>
-        <assign name="foo" expr="'foobar'" />
+        <assign location="foo" expr="'foobar'" />
       </if>
       <cs:var name="drink" expr="'water'" />
       <cs:var name="eat" expr="'flies'" />
@@ -44,7 +44,7 @@
     </onentry>
 
     <transition event="event.test">
-      <assign name="eventsent" expr="true"/>
+      <assign location="eventsent" expr="true"/>
     </transition>
 
     <!-- dummy regions -->

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/actions-state-test.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/actions-state-test.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/actions-state-test.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/actions-state-test.xml Sat Nov 15 03:07:58 2014
@@ -27,11 +27,11 @@
       <cs:var name="delta" expr="1+2+3" />
       <cs:var name="eventsent"/>
       <if cond="delta le 3">
-        <assign name="foo" expr="'bar'" />
+        <assign location="foo" expr="'bar'" />
       <elseif cond="delta eq 3"/>
-        <assign name="foo" expr="'fubar'" />
+        <assign location="foo" expr="'fubar'" />
       <else/>
-        <assign name="foo" expr="'foobar'" />
+        <assign location="foo" expr="'foobar'" />
       </if>
       <cs:var name="drink" expr="'water'" />
       <cs:var name="eat" expr="'flies'" />
@@ -44,7 +44,7 @@
     </onentry>
 
     <transition event="event.test">
-      <assign name="eventsent" expr="true"/>
+      <assign location="eventsent" expr="true"/>
     </transition>
 
   </state>

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/assign-test-01.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/assign-test-01.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/assign-test-01.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/assign-test-01.xml Sat Nov 15 03:07:58 2014
@@ -38,10 +38,10 @@
     </datamodel>
 
     <onentry>
-        <assign location="Data(foo,'root/foo')" src="assign-src.xml"/>
+        <assign location="Location('foo/root/foo')" src="assign-src.xml"/>
     </onentry>
 
-    <transition cond="Data(foo,'root/foo/a') + Data(bar,'root/bar') eq 15"
+    <transition cond="Data('number(foo/root/foo/root/a)') + Data('number(bar/root/bar)') eq 15"
                 target="assign2" />
 
   </state>
@@ -58,10 +58,10 @@
     </datamodel>
 
     <onentry>
-        <assign location="Data(jira51data1,'rad:timeout')" expr="Data(jira51data2,'rad:short')"/>
+        <assign location="Location('jira51data1/rad:timeout')" expr="Data('jira51data2/rad:short/text()')"/>
     </onentry>
 
-    <transition cond="Data(jira51data1,'rad:timeout') eq 20"
+    <transition cond="Data('number(jira51data1/rad:timeout)') eq 20"
                 target="assign3" />
 
   </state>

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/assign-test-02.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/assign-test-02.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/assign-test-02.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/assign-test-02.xml Sat Nov 15 03:07:58 2014
@@ -33,14 +33,14 @@
    </datamodel>
    <!-- verify the destination contents -->
    <state id="assign1">
-       <transition cond="Data(destination,'rad:bar/rad:a') eq 3 and Data(destination,'rad:bar/rad:b') eq 4" target="assign2" />
+       <transition cond="Data('number(destination/rad:bar/rad:a)') eq 3 and Data('number(destination/rad:bar/rad:b)') eq 4" target="assign2" />
    </state>
    <!-- copy the new contents and verify -->
    <state id="assign2">
        <onentry>
-           <assign location="Data(destination,'rad:bar')" expr="Data(source,'rad:foo')" />
+           <assign location="Location('destination/rad:bar')" expr="Data('source/rad:foo/*')" />
        </onentry>
-       <transition cond="Data(destination,'rad:bar/rad:a') eq 1 and Data(destination,'rad:bar/rad:b') eq 2" target="assign3" />
+       <transition cond="Data('number(destination/rad:bar/rad:a)') eq 1 and Data('number(destination/rad:bar/rad:b)') eq 2" target="assign3" />
    </state>
    <final id="assign3"/>
 </scxml>

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/parallel-03.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/parallel-03.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/parallel-03.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/parallel-03.xml Sat Nov 15 03:07:58 2014
@@ -31,7 +31,7 @@
     <parallel id="para">
 
         <onentry>
-            <assign location="Data(root, 'root/count')" expr="Data(root, 'root/count') + 1"/>
+            <assign location="Location('root/root/count')" expr="Data('number(root/root/count)') + 1"/>
         </onentry>
 
         <state id="para1">
@@ -40,30 +40,30 @@
                 <transition target="para11"/>
             </initial>
             <onentry>
-                <assign location="Data(root, 'root/count')" expr="Data(root, 'root/count') + 1"/>
+                <assign location="Location('root/root/count')" expr="Data('number(root/root/count)') + 1"/>
             </onentry>
 
             <state id="para11">
                 <onentry>
-                    <assign location="Data(root, 'root/count')" expr="Data(root, 'root/count') + 1"/>
+                      <assign location="Location('root/root/count')" expr="Data('number(root/root/count)') + 1"/>
                 </onentry>
                 <transition event="foo" target="para12"/>
                 <onexit>
-                    <assign location="Data(root, 'root/count')" expr="Data(root, 'root/count') + 1"/>
+                      <assign location="Location('root/root/count')" expr="Data('number(root/root/count)') + 1"/>
                 </onexit>
             </state>
 
             <final id="para12">
                 <onentry>
-                    <assign location="Data(root, 'root/count')" expr="Data(root, 'root/count') + 1"/>
+                    <assign location="Location('root/root/count')" expr="Data('number(root/root/count)') + 1"/>
                 </onentry>
                 <onexit>
-                    <assign location="Data(root, 'root/count')" expr="Data(root, 'root/count') + 1"/>
+                    <assign location="Location('root/root/count')" expr="Data('number(root/root/count)') + 1"/>
                 </onexit>
             </final>
 
             <onexit>
-                <assign location="Data(root, 'root/count')" expr="Data(root, 'root/count') + 1"/>
+                <assign location="Location('root/root/count')" expr="Data('number(root/root/count)') + 1"/>
             </onexit>
 
         </state>
@@ -74,30 +74,30 @@
                 <transition target="para21"/>
             </initial>
             <onentry>
-                <assign location="Data(root, 'root/count')" expr="Data(root, 'root/count') + 1"/>
+                <assign location="Location('root/root/count')" expr="Data('number(root/root/count)') + 1"/>
             </onentry>
 
             <state id="para21">
                 <onentry>
-                    <assign location="Data(root, 'root/count')" expr="Data(root, 'root/count') + 1"/>
+                    <assign location="Location('root/root/count')" expr="Data('number(root/root/count)') + 1"/>
                 </onentry>
                 <transition event="bar" target="para22"/>
                 <onexit>
-                    <assign location="Data(root, 'root/count')" expr="Data(root, 'root/count') + 1"/>
+                    <assign location="Location('root/root/count')" expr="Data('number(root/root/count)') + 1"/>
                 </onexit>
             </state>
 
             <final id="para22">
                 <onentry>
-                    <assign location="Data(root, 'root/count')" expr="Data(root, 'root/count') + 1"/>
+                    <assign location="Location('root/root/count')" expr="Data('number(root/root/count)') + 1"/>
                 </onentry>
                 <onexit>
-                    <assign location="Data(root, 'root/count')" expr="Data(root, 'root/count') + 1"/>
+                    <assign location="Location('root/root/count')" expr="Data('number(root/root/count)') + 1"/>
                 </onexit>
             </final>
 
             <onexit>
-                <assign location="Data(root, 'root/count')" expr="Data(root, 'root/count') + 1"/>
+                <assign location="Location('root/root/count')" expr="Data('number(root/root/count)') + 1"/>
             </onexit>
 
         </state>
@@ -105,7 +105,7 @@
         <transition event="done.state.para" target="end"/>
 
         <onexit>
-            <assign location="Data(root, 'root/count')" expr="Data(root, 'root/count') + 1"/>
+            <assign location="Location('root/root/count')" expr="Data('number(root/root/count)') + 1"/>
         </onexit>
 
     </parallel>

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/send-01.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/send-01.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/send-01.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/send-01.xml Sat Nov 15 03:07:58 2014
@@ -27,6 +27,7 @@
              xmlns:v3="http://foo.bar.com/vxml3"
              xmlns:test="http://my.test.namespace">
                 <v3:form id="Confirm">
+                  <param name="foo" expr="2"/>
                     <v3:grammar type="application/srgs+xml"
                                 src="/grammars/boolean.grxml"/>
                     <v3:block>

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/send-02.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/send-02.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/send-02.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/send-02.xml Sat Nov 15 03:07:58 2014
@@ -26,42 +26,42 @@
          the state "seventy", then hop over and end up in "ninety" -->
     <state id="ten">
         <onentry>
-            <send eventexpr="'done.state.' + 'ten'" />
+            <send eventexpr="'done.state.' + 'ten'" target="#_internal"/>
         </onentry>
         <transition event="done.state.ten" target="twenty" />
     </state>
 
     <state id="twenty">
         <onentry>
-            <send event="done.state.twenty" type="scxml" />
+            <send event="done.state.twenty" type="scxml"  target="#_internal"/>
         </onentry>
         <transition event="done.state.twenty" target="thirty" />
     </state>
 
     <state id="thirty">
         <onentry>
-            <send event="done.state.thirty" type=" sCxML  " />
+            <send event="done.state.thirty" type=" sCxML  "  target="#_internal"/>
         </onentry>
         <transition event="done.state.thirty" target="forty" />
     </state>
 
     <state id="forty">
         <onentry>
-            <send event="done.state.forty" type=" " target=" " />
+            <send event="done.state.forty" type=" " target="#_internal" />
         </onentry>
         <transition event="done.state.forty" target="fifty" />
     </state>
 
     <state id="fifty">
         <onentry>
-            <send event="done.state.fifty" target="  " />
+            <send event="done.state.fifty" target="#_internal" />
         </onentry>
         <transition event="done.state.fifty" target="sixty" />
     </state>
 
     <state id="sixty">
         <onentry>
-            <send event="done.state.sixty" type="scxml" target=" " />
+            <send event="done.state.sixty" type="scxml" target="#_internal" />
         </onentry>
         <transition event="done.state.sixty" target="seventy" />
     </state>
@@ -78,8 +78,8 @@
         <transition event="done.state.seventy" target="eighty" />
 
         <!-- Since "foo" it not available, the event
-             "error.send.targetunavailable" should be raised -->
-        <transition event="error.send.targetunavailable" target="ninety" />
+             "error.execution" should be raised -->
+        <transition event="error.execution" target="ninety" />
 
     </state>
 

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/transitions-02.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/transitions-02.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/transitions-02.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/transitions-02.xml Sat Nov 15 03:07:58 2014
@@ -30,19 +30,19 @@
 
         <!-- stay transition -->
         <transition event="ten.stay">
-            <assign name="foo" expr="foo + 1" />
+            <assign location="foo" expr="foo + 1" />
             <log expr="'Foo is:' + foo" />
         </transition>
 
         <!-- self transition -->
         <transition event="ten.self" target="ten">
-            <assign name="foo" expr="foo + 1" />
+            <assign location="foo" expr="foo + 1" />
             <log expr="'Foo is:' + foo" />
         </transition>
 
         <!-- "regular" transition -->
         <transition event="done.state.ten" target="twenty">
-            <assign name="foo" expr="foo + 1" />
+            <assign location="foo" expr="foo + 1" />
             <log expr="'Foo is:' + foo" />
         </transition>
 

Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/transitions-with-cond-01.xml
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/transitions-with-cond-01.xml?rev=1639829&r1=1639828&r2=1639829&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/transitions-with-cond-01.xml (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/transitions-with-cond-01.xml Sat Nov 15 03:07:58 2014
@@ -24,7 +24,7 @@
        initial="closed">
 
   <state id="closed">
-    <transition event="open" cond="_event.data['keyed']" target="opened" />
+    <transition event="open" cond="!empty(_event.data) and _event.data['keyed']" target="opened" />
     <transition event="lock" target="locked" />
   </state>