[jbpm-commits] JBoss JBPM SVN: r6934 - in jbpm3/branches/jbpm-3.2-soa/core/src/test: resources/org/jbpm/soa2010 and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue May 17 10:41:32 EDT 2011


Author: marco.rietveld
Date: 2011-05-17 10:41:32 -0400 (Tue, 17 May 2011)
New Revision: 6934

Added:
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_cond_false.xml
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_cond_true.xml
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_parse_bad_complex.xml
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_parse_bad_simple.xml
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_parse_good_complex.xml
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_parse_good_simple.xml
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_cond_false.jpg
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_cond_false.xml
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_cond_true.jpg
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_cond_true.xml
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_bad_complex.jpg
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_bad_complex.xml
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_bad_simple.jpg
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_bad_simple.xml
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_good_complex.jpg
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_good_complex.xml
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_good_simple.jpg
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_good_simple.xml
Removed:
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.processdefinition1.xml
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.processdefinition2.xml
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.processdefinitiona.xml
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.processdefinitionb.xml
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/processdefinitiona.jpg
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/processdefinitiona.xml
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/processdefinitionb.jpg
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/processdefinitionb.xml
Modified:
   jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/soa2010/SOA2010Test.java
Log:
SOA-2010: tests: conditions are only valid on transitions leaving decisions

Modified: jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/soa2010/SOA2010Test.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/soa2010/SOA2010Test.java	2011-05-17 14:39:43 UTC (rev 6933)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/soa2010/SOA2010Test.java	2011-05-17 14:41:32 UTC (rev 6934)
@@ -21,14 +21,21 @@
  */
 package org.jbpm.soa2010;
 
+import java.util.List;
+
 import org.jbpm.JbpmException;
 import org.jbpm.db.AbstractDbTestCase;
 import org.jbpm.graph.def.ProcessDefinition;
 import org.jbpm.graph.exe.ProcessInstance;
+import org.jbpm.jpdl.JpdlException;
+import org.jbpm.jpdl.xml.Problem;
 
 /**
- * Conditional transition cannot be considered as a default one (for a Node). 
+ * SOA-2010: Conditional transition cannot be considered as a default one. 
  * 
+ * Solution was
+ * - Parser restricts conditional transitions to only those transitions leaving decisions. 
+ * 
  * @see <a href="https://jira.jboss.org/browse/SOA-2010">SOA-2010</a>
  * @author Marco Rietveld
  */
@@ -38,7 +45,93 @@
     super.setUp();
   }
 
+  // 
+  // The following tests parse different jpdl docs to test for different situations
+  // 
+ 
   /**
+   * Simple flow in which there are: 
+   * - normal transitions between a couple different types (just state, node, task-node)
+   * - various conditional transitions from a decision node to an end node
+   */
+  public void testResolveTransitionDestinationGoodSimple() {
+    try{
+      ProcessDefinition.parseXmlResource("org/jbpm/soa2010/procdef_parse_good_simple.xml");
+    }
+    catch( Exception e) {
+      fail("unexpected exception thrown: " + e.getClass().getSimpleName() + ": " + e.getMessage());
+    }
+  }
+  
+  /**
+   * Complexer flow in which there are: 
+   * - normal transitions between a couple different types (just state, node, task-node)
+   * - various conditional transitions from a decision node to an end node
+   */
+  public void testResolveTransitionDestinationGoodComplex() {
+    try{
+      ProcessDefinition.parseXmlResource("org/jbpm/soa2010/procdef_parse_good_complex.xml");
+    }
+    catch( Exception e) {
+      fail("unexpected exception thrown: " + e.getClass().getSimpleName() + ": " + e.getMessage());
+    }
+  }
+  
+  public void testResolveTransitionDestinationBadSimple() {
+    try {
+      ProcessDefinition.parseXmlResource("org/jbpm/soa2010/procdef_parse_bad_simple.xml");
+    }
+    catch( JpdlException je) {
+      checkJpdlException(je, 3);
+    }
+    catch( Exception e) {
+      fail("unexpected exception thrown: " + e.getClass().getSimpleName() + ": " + e.getMessage());
+    }
+  }
+  
+  public void testResolveTransitionDestinationBadComplex() {
+    try {
+      ProcessDefinition.parseXmlResource("org/jbpm/soa2010/procdef_parse_bad_complex.xml");
+    }
+    catch( JpdlException je) {
+      // 7 types x (7 + 2) connections + 1 start x 7 conn + 1 x 3 conn = 73
+      checkJpdlException(je, 73);
+    }
+    catch( Exception e) {
+      fail("unexpected exception thrown: " + e.getClass().getSimpleName() + ": " + e.getMessage());
+    }
+  }
+
+
+  /**
+   * Check that the given {@link JpdlException} only contains the given number of problems
+   *  and that all problems
+   */
+  private void checkJpdlException(JpdlException jpdlException, int expectedNumCondTransProblems ) {
+      List<Problem> problems = jpdlException.getProblems();
+      int conditionOnTransitionProblems = 0;
+      for( Problem problem : problems ) {
+        String problemMessage = problem.getDescription();
+        if( problemMessage.contains("conditions on transitions only usable leaving decisions") ) {
+          ++conditionOnTransitionProblems;
+        }
+        else {
+          fail("problem that was not conditions/transitions found: " + problemMessage );
+        }
+      }
+      assertTrue("only " + expectedNumCondTransProblems + " problems expected, not " + conditionOnTransitionProblems, conditionOnTransitionProblems == expectedNumCondTransProblems);
+   
+  }
+  
+  //  
+  // The following tests illustrated the behaviour of Transition.take() on non-Decision nodes 
+  //  **BEFORE SOA-2010 was implemented!**
+  // 
+  // These tests will currently fail (because the process will no longer be accepted), 
+  //  but have been left in as a form of documentation. 
+  //
+  
+  /**
    * Illustrate the following:
    * - node with no unconditional transitions
    * - transition with a condition that evaluates to false, as first transition (in jpdl doc) 
@@ -46,11 +139,11 @@
    * 
    * will throw an exception because the first/default transition is conditional evaluating to false. 
    */
-  public void testNodeWithFalseDefaultConditionalTransition() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("org/jbpm/soa2010/processdefinitiona.xml");
+  public void ignoreTestNodeWithFalseDefaultConditionalTransition() {
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("org/jbpm/soa2010/procdef_cond_false.xml");
     deployProcessDefinition(processDefinition);
     
-    ProcessInstance processInstance = jbpmContext.newProcessInstance("soa2010a");
+    ProcessInstance processInstance = jbpmContext.newProcessInstance("soa2010cf");
     boolean exceptionThrown = false;
     try {
       processInstance.signal();
@@ -72,11 +165,11 @@
    * 
    * (otherwise EXACTLY the same jpdl/graph as previous test)
    */
-  public void testNodeWithTrueDefaultConditionalTransition() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("org/jbpm/soa2010/processdefinitionb.xml");
+  public void ignoreTestNodeWithTrueDefaultConditionalTransition() {
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("org/jbpm/soa2010/procdef_cond_true.xml");
     deployProcessDefinition(processDefinition);
     
-    ProcessInstance processInstance = jbpmContext.newProcessInstance("soa2010b");
+    ProcessInstance processInstance = jbpmContext.newProcessInstance("soa2010ct");
     try {
       processInstance.signal();
     }

Added: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_cond_false.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_cond_false.xml	                        (rev 0)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_cond_false.xml	2011-05-17 14:41:32 UTC (rev 6934)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<root-container name="soa2010cf" width="1156" height="898">
+  <node name="start" x="125" y="64" width="132" height="36">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="node1" x="94" y="166" width="132" height="36">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="false-condition-end" x="6" y="286" width="132" height="36"/>
+  <node name="true-condition-end" x="209" y="295" width="132" height="36"/>
+</root-container>


Property changes on: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_cond_false.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Added: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_cond_true.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_cond_true.xml	                        (rev 0)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_cond_true.xml	2011-05-17 14:41:32 UTC (rev 6934)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<root-container name="soa2010ct" width="1156" height="898">
+  <node name="start" x="98" y="67" width="132" height="36">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="node1" x="100" y="161" width="132" height="36">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="false-condition-end" x="252" y="282" width="132" height="36"/>
+  <node name="true-condition-end" x="21" y="285" width="132" height="36"/>
+</root-container>


Property changes on: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_cond_true.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Added: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_parse_bad_complex.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_parse_bad_complex.xml	                        (rev 0)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_parse_bad_complex.xml	2011-05-17 14:41:32 UTC (rev 6934)
@@ -0,0 +1,243 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<root-container name="soa2010pbc" width="1159" height="898">
+  <node name="start" x="98" y="125" width="132" height="36">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+      <bendpoint w1="219" h1="178" w2="-519" h2="-388"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+      <bendpoint w1="396" h1="10" w2="-347" h2="92"/>
+    </edge>
+    <edge>
+      <label x="14" y="-1"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+      <bendpoint w1="341" h1="-104" w2="-402" h2="-22"/>
+    </edge>
+  </node>
+  <node name="node" x="779" y="513" width="132" height="36">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="state" x="769" y="337" width="132" height="36">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="task-node" x="484" y="287" width="132" height="36">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="mail-node" x="131" y="388" width="132" height="36">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="process-state" x="102" y="655" width="132" height="36">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="fork" x="376" y="794" width="252" height="24">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="join" x="776" y="697" width="252" height="24">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="end" x="841" y="43" width="132" height="36"/>
+</root-container>


Property changes on: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_parse_bad_complex.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Added: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_parse_bad_simple.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_parse_bad_simple.xml	                        (rev 0)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_parse_bad_simple.xml	2011-05-17 14:41:32 UTC (rev 6934)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<root-container name="soa2010pbs" width="1276" height="609">
+  <node name="start" x="196" y="95" width="132" height="36">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="node1" x="196" y="203" width="132" height="36">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="true-cond-attr-end" x="33" y="365" width="132" height="36"/>
+  <node name="false-cond-elem-end" x="191" y="363" width="157" height="36"/>
+  <node name="false-cond-elem-attr-end" x="382" y="365" width="173" height="36"/>
+</root-container>


Property changes on: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_parse_bad_simple.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Added: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_parse_good_complex.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_parse_good_complex.xml	                        (rev 0)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_parse_good_complex.xml	2011-05-17 14:41:32 UTC (rev 6934)
@@ -0,0 +1,290 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<root-container name="soa2010a" width="1159" height="898">
+  <node name="start" x="706" y="85" width="132" height="36">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="node-1" x="696" y="229" width="132" height="36">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="state" x="317" y="687" width="132" height="36">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="task-node" x="609" y="651" width="132" height="36">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="mail-node" x="321" y="218" width="132" height="36">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="process-state" x="68" y="362" width="132" height="36">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="fork" x="724" y="404" width="252" height="24">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="-91" y="-15"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="join" x="701" y="517" width="252" height="24">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="decision" x="700" y="845" width="132" height="36">
+    <edge>
+      <label x="5" y="-10"/>
+      <bendpoint w1="-403" h1="13" w2="224" h2="317"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+      <bendpoint w1="-304" h1="-20" w2="79" h2="138"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+      <bendpoint w1="-365" h1="9" w2="262" h2="313"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="node-2" x="73" y="541" width="132" height="36">
+    <edge>
+      <label x="5" y="-10"/>
+      <bendpoint w1="373" h1="160" w2="-254" h2="-144"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="end" x="120" y="765" width="132" height="36"/>
+</root-container>


Property changes on: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_parse_good_complex.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Added: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_parse_good_simple.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_parse_good_simple.xml	                        (rev 0)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_parse_good_simple.xml	2011-05-17 14:41:32 UTC (rev 6934)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<root-container name="soa2010pgs" width="1159" height="898">
+  <node name="start" x="363" y="66" width="132" height="36">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="node-1" x="363" y="168" width="132" height="36">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="decision" x="358" y="307" width="132" height="36">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="node-2" x="136" y="496" width="132" height="36">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="state" x="368" y="492" width="132" height="36">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="task-node" x="565" y="500" width="132" height="36">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="end" x="350" y="625" width="132" height="36"/>
+</root-container>


Property changes on: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.procdef_parse_good_simple.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Deleted: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.processdefinition1.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.processdefinition1.xml	2011-05-17 14:39:43 UTC (rev 6933)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.processdefinition1.xml	2011-05-17 14:41:32 UTC (rev 6934)
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<root-container name="soa2010" width="931" height="666">
-  <node name="start" x="256" y="95" width="132" height="36">
-    <edge>
-      <label x="5" y="-10"/>
-    </edge>
-  </node>
-  <node name="node1" x="246" y="221" width="132" height="36">
-    <edge>
-      <label x="5" y="-10"/>
-    </edge>
-    <edge>
-      <label x="5" y="-10"/>
-    </edge>
-  </node>
-  <node name="false-condition-end" x="447" y="410" width="132" height="36"/>
-  <node name="true-condition-end" x="101" y="391" width="132" height="36"/>
-</root-container>

Deleted: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.processdefinition2.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.processdefinition2.xml	2011-05-17 14:39:43 UTC (rev 6933)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.processdefinition2.xml	2011-05-17 14:41:32 UTC (rev 6934)
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<root-container name="soa2010" width="931" height="666">
-  <node name="start" x="323" y="106" width="132" height="36">
-    <edge>
-      <label x="5" y="-10"/>
-    </edge>
-  </node>
-  <node name="node1" x="289" y="228" width="132" height="36">
-    <edge>
-      <label x="5" y="-10"/>
-    </edge>
-    <edge>
-      <label x="5" y="-10"/>
-    </edge>
-  </node>
-  <node name="false-condition-end" x="183" y="468" width="132" height="36"/>
-  <node name="true-condition-end" x="414" y="470" width="132" height="36"/>
-</root-container>

Deleted: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.processdefinitiona.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.processdefinitiona.xml	2011-05-17 14:39:43 UTC (rev 6933)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.processdefinitiona.xml	2011-05-17 14:41:32 UTC (rev 6934)
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<root-container name="soa2010a" width="931" height="666">
-  <node name="start" x="300" y="68" width="132" height="36">
-    <edge>
-      <label x="5" y="-10"/>
-    </edge>
-  </node>
-  <node name="node1" x="304" y="226" width="132" height="36">
-    <edge>
-      <label x="5" y="-10"/>
-    </edge>
-    <edge>
-      <label x="5" y="-10"/>
-    </edge>
-  </node>
-  <node name="false-condition-end" x="125" y="433" width="132" height="36"/>
-  <node name="true-condition-end" x="547" y="427" width="132" height="36"/>
-</root-container>

Deleted: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.processdefinitionb.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.processdefinitionb.xml	2011-05-17 14:39:43 UTC (rev 6933)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.processdefinitionb.xml	2011-05-17 14:41:32 UTC (rev 6934)
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<root-container name="soa2010b" width="931" height="666">
-  <node name="start" x="292" y="54" width="132" height="36">
-    <edge>
-      <label x="5" y="-10"/>
-    </edge>
-  </node>
-  <node name="node1" x="294" y="184" width="132" height="36">
-    <edge>
-      <label x="5" y="-10"/>
-    </edge>
-    <edge>
-      <label x="5" y="-10"/>
-    </edge>
-  </node>
-  <node name="false-condition-end" x="66" y="345" width="132" height="36"/>
-  <node name="true-condition-end" x="547" y="347" width="132" height="36"/>
-</root-container>

Added: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_cond_false.jpg
===================================================================
(Binary files differ)


Property changes on: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_cond_false.jpg
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Copied: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_cond_false.xml (from rev 6917, jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/processdefinitiona.xml)
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_cond_false.xml	                        (rev 0)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_cond_false.xml	2011-05-17 14:41:32 UTC (rev 6934)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<process-definition name="soa2010cf" xmlns="urn:jbpm.org:jpdl-3.2">
+
+  <start-state name="start">
+		<transition to="node1" />
+	</start-state>
+
+  <node name="node1">
+    <transition to="false-condition-end" condition="#{AAA != null}" name="to false"/>
+		<transition to="true-condition-end" condition="#{AAA == null}" name="to true" />
+	</node>
+
+  <end-state name="false-condition-end" />
+
+	<end-state name="true-condition-end" />
+
+</process-definition>
\ No newline at end of file


Property changes on: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_cond_false.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_cond_true.jpg
===================================================================
(Binary files differ)


Property changes on: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_cond_true.jpg
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Copied: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_cond_true.xml (from rev 6917, jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/processdefinitionb.xml)
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_cond_true.xml	                        (rev 0)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_cond_true.xml	2011-05-17 14:41:32 UTC (rev 6934)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<process-definition name="soa2010ct" xmlns="urn:jbpm.org:jpdl-3.2">
+
+  <start-state name="start">
+		<transition to="node1" />
+	</start-state>
+
+  <node name="node1">
+    <transition to="true-condition-end" condition="#{AAA == null}" name="to true" />
+    <transition to="false-condition-end" condition="#{AAA != null}" name="to false"/>
+	</node>
+
+  <end-state name="false-condition-end" />
+
+	<end-state name="true-condition-end" />
+
+</process-definition>
\ No newline at end of file


Property changes on: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_cond_true.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_bad_complex.jpg
===================================================================
(Binary files differ)


Property changes on: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_bad_complex.jpg
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_bad_complex.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_bad_complex.xml	                        (rev 0)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_bad_complex.xml	2011-05-17 14:41:32 UTC (rev 6934)
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<process-definition name="soa2010pbc" xmlns="urn:jbpm.org:jpdl-3.2">
+
+  <start-state name="start">
+    <!-- 10 bad transitions -->
+    <transition to="node" condition="#{AAA != null}" name="cond-a"/>
+    <transition to="state" condition="#{AAA != null}" name="cond-b"/>
+    <transition to="task-node" condition="#{AAA != null}" name="cond-c"/>
+    <transition to="mail-node" condition="#{AAA != null}" name="cond-d"/>
+    <transition to="process-state" condition="#{AAA != null}" name="cond-e"/>
+    <transition to="fork" condition="#{AAA != null}" name="cond-f"/>
+    <transition to="join" condition="#{AAA != null}" name="cond-g"/>
+
+    <transition to="end" condition="#{AAA != null}" name="cond-z-0"/>
+
+		<!-- Backwards compat style: transition w/ condition element -->
+		<transition to="end" name="cond-z-1">
+			<condition>{AAA != null}</condition>
+		</transition>
+
+		<!-- New style: transition w/ condition element w/ expression element -->
+		<transition to="end" name="cond-z-2">
+			<condition expression="#{AAA != null}" />
+		</transition>
+	</start-state>
+
+  <node name="node">
+    <!-- 9 bad transitions -->
+    <transition to="node" condition="#{AAA != null}" name="cond-a"/>
+    <transition to="state" condition="#{AAA != null}" name="cond-b"/>
+    <transition to="task-node" condition="#{AAA != null}" name="cond-c"/>
+    <transition to="mail-node" condition="#{AAA != null}" name="cond-d"/>
+    <transition to="process-state" condition="#{AAA != null}" name="cond-e"/>
+    <transition to="fork" condition="#{AAA != null}" name="cond-f"/>
+    <transition to="join" condition="#{AAA != null}" name="cond-g"/>
+
+		<!-- Backwards compat style: transition w/ condition element -->
+		<transition to="end" name="cond-z-1">
+			<condition>{AAA != null}</condition>
+		</transition>
+
+		<!-- New style: transition w/ condition element w/ expression element -->
+		<transition to="end" name="cond-z-2">
+			<condition expression="#{AAA != null}" />
+		</transition>
+	</node>
+
+	<state name="state">
+    <!-- 9 bad transitions -->
+    <transition to="node" condition="#{AAA != null}" name="cond-a"/>
+    <transition to="state" condition="#{AAA != null}" name="cond-b"/>
+    <transition to="task-node" condition="#{AAA != null}" name="cond-c"/>
+    <transition to="mail-node" condition="#{AAA != null}" name="cond-d"/>
+    <transition to="process-state" condition="#{AAA != null}" name="cond-e"/>
+    <transition to="fork" condition="#{AAA != null}" name="cond-f"/>
+    <transition to="join" condition="#{AAA != null}" name="cond-g"/>
+
+		<!-- Backwards compat style: transition w/ condition element -->
+		<transition to="end" name="cond-z-1">
+			<condition>{AAA != null}</condition>
+		</transition>
+
+		<!-- New style: transition w/ condition element w/ expression element -->
+		<transition to="end" name="cond-z-2">
+			<condition expression="#{AAA != null}" />
+		</transition>
+  </state>
+
+	<task-node name="task-node">
+    <!-- 9 bad transitions -->
+    <transition to="node" condition="#{AAA != null}" name="cond-a"/>
+    <transition to="state" condition="#{AAA != null}" name="cond-b"/>
+    <transition to="task-node" condition="#{AAA != null}" name="cond-c"/>
+    <transition to="mail-node" condition="#{AAA != null}" name="cond-d"/>
+    <transition to="process-state" condition="#{AAA != null}" name="cond-e"/>
+    <transition to="fork" condition="#{AAA != null}" name="cond-f"/>
+    <transition to="join" condition="#{AAA != null}" name="cond-g"/>
+
+		<!-- Backwards compat style: transition w/ condition element -->
+		<transition to="end" name="cond-z-1">
+			<condition>{AAA != null}</condition>
+		</transition>
+
+		<!-- New style: transition w/ condition element w/ expression element -->
+		<transition to="end" name="cond-z-2">
+			<condition expression="#{AAA != null}" />
+		</transition>
+  </task-node>
+
+	<mail-node name="mail-node">
+    <!-- 9 bad transitions -->
+    <transition to="node" condition="#{AAA != null}" name="cond-a"/>
+    <transition to="state" condition="#{AAA != null}" name="cond-b"/>
+    <transition to="task-node" condition="#{AAA != null}" name="cond-c"/>
+    <transition to="mail-node" condition="#{AAA != null}" name="cond-d"/>
+    <transition to="process-state" condition="#{AAA != null}" name="cond-e"/>
+    <transition to="fork" condition="#{AAA != null}" name="cond-f"/>
+    <transition to="join" condition="#{AAA != null}" name="cond-g"/>
+
+		<!-- Backwards compat style: transition w/ condition element -->
+		<transition to="end" name="cond-z-1">
+			<condition>{AAA != null}</condition>
+		</transition>
+
+		<!-- New style: transition w/ condition element w/ expression element -->
+		<transition to="end" name="cond-z-2">
+			<condition expression="#{AAA != null}" />
+		</transition>
+  </mail-node>
+
+	<process-state name="process-state">
+		<sub-process name="soa2010pbs"/>
+    <!-- 9 bad transitions -->
+    <transition to="node" condition="#{AAA != null}" name="cond-a"/>
+    <transition to="state" condition="#{AAA != null}" name="cond-b"/>
+    <transition to="task-node" condition="#{AAA != null}" name="cond-c"/>
+    <transition to="mail-node" condition="#{AAA != null}" name="cond-d"/>
+    <transition to="process-state" condition="#{AAA != null}" name="cond-e"/>
+    <transition to="fork" condition="#{AAA != null}" name="cond-f"/>
+    <transition to="join" condition="#{AAA != null}" name="cond-g"/>
+
+		<!-- Backwards compat style: transition w/ condition element -->
+		<transition to="end" name="cond-z-1">
+			<condition>{AAA != null}</condition>
+		</transition>
+
+		<!-- New style: transition w/ condition element w/ expression element -->
+		<transition to="end" name="cond-z-2">
+			<condition expression="#{AAA != null}" />
+		</transition>
+	</process-state>
+
+	<fork name="fork">
+    <!-- 9 bad transitions -->
+    <transition to="node" condition="#{AAA != null}" name="cond-a"/>
+    <transition to="state" condition="#{AAA != null}" name="cond-b"/>
+    <transition to="task-node" condition="#{AAA != null}" name="cond-c"/>
+    <transition to="mail-node" condition="#{AAA != null}" name="cond-d"/>
+    <transition to="process-state" condition="#{AAA != null}" name="cond-e"/>
+    <transition to="fork" condition="#{AAA != null}" name="cond-f"/>
+    <transition to="join" condition="#{AAA != null}" name="cond-g"/>
+
+		<!-- Backwards compat style: transition w/ condition element -->
+		<transition to="end" name="cond-z-1">
+			<condition>{AAA != null}</condition>
+		</transition>
+
+		<!-- New style: transition w/ condition element w/ expression element -->
+		<transition to="end" name="cond-z-2">
+			<condition expression="#{AAA != null}" />
+		</transition>
+  </fork>
+
+	<join name="join">
+    <!-- 9 bad transitions -->
+    <transition to="node" condition="#{AAA != null}" name="cond-a"/>
+    <transition to="state" condition="#{AAA != null}" name="cond-b"/>
+    <transition to="task-node" condition="#{AAA != null}" name="cond-c"/>
+    <transition to="mail-node" condition="#{AAA != null}" name="cond-d"/>
+    <transition to="process-state" condition="#{AAA != null}" name="cond-e"/>
+    <transition to="fork" condition="#{AAA != null}" name="cond-f"/>
+    <transition to="join" condition="#{AAA != null}" name="cond-g"/>
+
+		<!-- Backwards compat style: transition w/ condition element -->
+		<transition to="end" name="cond-z-1">
+			<condition>{AAA != null}</condition>
+		</transition>
+
+		<!-- New style: transition w/ condition element w/ expression element -->
+		<transition to="end" name="cond-z-2">
+			<condition expression="#{AAA != null}" />
+		</transition>
+  </join>
+
+	<end-state name="end" />
+
+</process-definition>


Property changes on: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_bad_complex.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Added: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_bad_simple.jpg
===================================================================
(Binary files differ)


Property changes on: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_bad_simple.jpg
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_bad_simple.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_bad_simple.xml	                        (rev 0)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_bad_simple.xml	2011-05-17 14:41:32 UTC (rev 6934)
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<process-definition name="soa2010pbs" xmlns="urn:jbpm.org:jpdl-3.2">
+
+	<start-state name="start">
+		<transition to="node1" />
+	</start-state>
+
+	<node name="node1">
+		<!-- transition w/ condition attribute -->
+		<transition to="true-cond-attr-end" condition="#{AAA == null}" name="to true" />
+
+		<!-- Backwards compat style: transition w/ condition element -->
+		<transition to="false-cond-elem-end" name="to false">
+			<condition>
+				#{BBB != null}
+			</condition>
+		</transition>
+
+		<!-- New style: transition w/ condition element w/ expression element -->
+		<transition to="false-cond-elem-attr-end" name="to false">
+			<condition expression="#{CCC != null}" />
+		</transition>
+	</node>
+
+	<end-state name="true-cond-attr-end" />
+	<end-state name="false-cond-elem-end" />
+	<end-state name="false-cond-elem-attr-end" />
+
+</process-definition>


Property changes on: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_bad_simple.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Added: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_good_complex.jpg
===================================================================
(Binary files differ)


Property changes on: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_good_complex.jpg
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_good_complex.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_good_complex.xml	                        (rev 0)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_good_complex.xml	2011-05-17 14:41:32 UTC (rev 6934)
@@ -0,0 +1,181 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<process-definition name="soa2010a" xmlns="urn:jbpm.org:jpdl-3.2">
+
+  <start-state name="start">
+		<transition to="node-1" />
+	</start-state>
+
+  <node name="node-1">
+    <transition to="decision" />
+    <transition to="node-2" name="trans-a" />
+    <transition to="state" name="trans-b"/>
+    <transition to="task-node" name="trans-c"/>
+    <transition to="mail-node" name="trans-d"/>
+    <transition to="process-state" name="trans-e"/>
+    <transition to="fork" name="trans-f"/>
+    <transition to="join" name="trans-g"/>
+  </node>
+
+	<state name="state">
+    <transition to="decision" />
+    <transition to="node-2" name="trans-a" />
+    <transition to="state" name="trans-b"/>
+    <transition to="task-node" name="trans-c"/>
+    <transition to="mail-node" name="trans-d"/>
+    <transition to="process-state" name="trans-e"/>
+    <transition to="fork" name="trans-f"/>
+    <transition to="join" name="trans-g"/>
+  </state>
+
+	<task-node name="task-node">
+    <transition to="decision" />
+    <transition to="node-2" name="trans-a" />
+    <transition to="state" name="trans-b"/>
+    <transition to="task-node" name="trans-c"/>
+    <transition to="mail-node" name="trans-d"/>
+    <transition to="process-state" name="trans-e"/>
+    <transition to="fork" name="trans-f"/>
+    <transition to="join" name="trans-g"/>
+	</task-node>
+
+	<mail-node name="mail-node">
+    <transition to="decision" />
+    <transition to="node-2" name="trans-a" />
+    <transition to="state" name="trans-b"/>
+    <transition to="task-node" name="trans-c"/>
+    <transition to="mail-node" name="trans-d"/>
+    <transition to="process-state" name="trans-e"/>
+    <transition to="fork" name="trans-f"/>
+    <transition to="join" name="trans-g"/>
+	</mail-node>
+
+	<process-state name="process-state">
+		<sub-process name="soa2010pbs"/>
+    <transition to="decision" />
+    <transition to="node-2" name="trans-a" />
+    <transition to="state" name="trans-b"/>
+    <transition to="task-node" name="trans-c"/>
+    <transition to="mail-node" name="trans-d"/>
+    <transition to="process-state" name="trans-e"/>
+    <transition to="fork" name="trans-f"/>
+    <transition to="join" name="trans-g"/>
+	</process-state>
+
+	<fork name="fork">
+    <transition to="decision" />
+    <transition to="node-2" name="trans-a" />
+    <transition to="state" name="trans-b"/>
+    <transition to="task-node" name="trans-c"/>
+    <transition to="mail-node" name="trans-d"/>
+    <transition to="process-state" name="trans-e"/>
+    <transition to="fork" name="trans-f"/>
+    <transition to="join" name="trans-g"/>
+	</fork>
+ 
+ 	<join name="join">
+    <transition to="decision" />
+    <transition to="node-2" name="trans-a" />
+    <transition to="state" name="trans-b"/>
+    <transition to="task-node" name="trans-c"/>
+    <transition to="mail-node" name="trans-d"/>
+    <transition to="process-state" name="trans-e"/>
+    <transition to="fork" name="trans-f"/>
+    <transition to="join" name="trans-g"/>
+  </join>
+
+  <decision name="decision">
+    <transition to="node-2" condition="#{AAA != null}" name="cond-a-0"/>
+
+		<!-- Backwards compat style: transition w/ condition element -->
+		<transition to="node-2" name="cond-a-1">
+			<condition>{AAA != null}</condition>
+		</transition>
+
+		<!-- New style: transition w/ condition element w/ expression element -->
+		<transition to="node-2" name="cond-a-2">
+			<condition expression="#{AAA != null}" />
+		</transition>
+    <transition to="state" condition="#{AAA != null}" name="cond-b-0"/>
+
+		<!-- Backwards compat style: transition w/ condition element -->
+		<transition to="state" name="cond-b-1">
+			<condition>{AAA != null}</condition>
+		</transition>
+
+		<!-- New style: transition w/ condition element w/ expression element -->
+		<transition to="state" name="cond-b-2">
+			<condition expression="#{AAA != null}" />
+		</transition>
+    <transition to="task-node" condition="#{AAA != null}" name="cond-c-0"/>
+
+		<!-- Backwards compat style: transition w/ condition element -->
+		<transition to="task-node" name="cond-c-1">
+			<condition>{AAA != null}</condition>
+		</transition>
+
+		<!-- New style: transition w/ condition element w/ expression element -->
+		<transition to="task-node" name="cond-c-2">
+			<condition expression="#{AAA != null}" />
+		</transition>
+    <transition to="mail-node" condition="#{AAA != null}" name="cond-d-0"/>
+
+		<!-- Backwards compat style: transition w/ condition element -->
+		<transition to="mail-node" name="cond-d-1">
+			<condition>{AAA != null}</condition>
+		</transition>
+
+		<!-- New style: transition w/ condition element w/ expression element -->
+		<transition to="mail-node" name="cond-d-2">
+			<condition expression="#{AAA != null}" />
+		</transition>
+    <transition to="process-state" condition="#{AAA != null}" name="cond-e-0"/>
+
+		<!-- Backwards compat style: transition w/ condition element -->
+		<transition to="process-state" name="cond-e-1">
+			<condition>{AAA != null}</condition>
+		</transition>
+
+		<!-- New style: transition w/ condition element w/ expression element -->
+		<transition to="process-state" name="cond-e-2">
+			<condition expression="#{AAA != null}" />
+		</transition>
+    <transition to="fork" condition="#{AAA != null}" name="cond-f-0"/>
+
+		<!-- Backwards compat style: transition w/ condition element -->
+		<transition to="fork" name="cond-f-1">
+			<condition>{AAA != null}</condition>
+		</transition>
+
+		<!-- New style: transition w/ condition element w/ expression element -->
+		<transition to="fork" name="cond-f-2">
+			<condition expression="#{AAA != null}" />
+		</transition>
+    <transition to="join" condition="#{AAA != null}" name="cond-g-0"/>
+
+		<!-- Backwards compat style: transition w/ condition element -->
+		<transition to="join" name="cond-g-1">
+			<condition>{AAA != null}</condition>
+		</transition>
+
+		<!-- New style: transition w/ condition element w/ expression element -->
+		<transition to="join" name="cond-g-2">
+			<condition expression="#{AAA != null}" />
+		</transition>
+	</decision>
+
+  <node name="node-2">
+    <transition to="decision" />
+    <transition to="node-2" name="trans-a" />
+    <transition to="state" name="trans-b"/>
+    <transition to="task-node" name="trans-c"/>
+    <transition to="mail-node" name="trans-d"/>
+    <transition to="process-state" name="trans-e"/>
+    <transition to="fork" name="trans-f"/>
+    <transition to="join" name="trans-g"/>
+    <transition to="end" />
+  </node>
+  
+  <end-state name="end" />
+
+</process-definition>


Property changes on: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_good_complex.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Added: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_good_simple.jpg
===================================================================
(Binary files differ)


Property changes on: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_good_simple.jpg
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_good_simple.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_good_simple.xml	                        (rev 0)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_good_simple.xml	2011-05-17 14:41:32 UTC (rev 6934)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<process-definition name="soa2010pgs" xmlns="urn:jbpm.org:jpdl-3.2">
+
+  <start-state name="start">
+    <transition to="node-1" />
+  </start-state>
+
+  <node name="node-1">
+    <transition to="decision" />
+  </node>
+  
+  <decision name="decision">
+    <transition to="node-2" condition="#{AAA != null}" name="cond-z-0"/>
+
+    <!-- Backwards compat style: transition w/ condition element -->
+    <transition to="state" name="cond-z-1">
+      <condition>{AAA != null}</condition>
+    </transition>
+
+    <!-- New style: transition w/ condition element w/ expression element -->
+    <transition to="task-node" name="cond-z-2">
+      <condition expression="#{AAA != null}" />
+    </transition>
+  </decision>
+
+  <node name="node-2">
+    <transition to="end" />
+  </node>
+  
+  <state name="state">
+    <transition to="end" />
+  </state>
+  
+  <task-node name="task-node">
+    <transition to="end" />
+  </task-node>
+  
+
+  <end-state name="end" />
+
+</process-definition>


Property changes on: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/procdef_parse_good_simple.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Deleted: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/processdefinitiona.jpg
===================================================================
(Binary files differ)

Deleted: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/processdefinitiona.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/processdefinitiona.xml	2011-05-17 14:39:43 UTC (rev 6933)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/processdefinitiona.xml	2011-05-17 14:41:32 UTC (rev 6934)
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<process-definition name="soa2010a" xmlns="urn:jbpm.org:jpdl-3.2">
-
-  <start-state name="start">
-		<transition to="node1" />
-	</start-state>
-
-  <node name="node1">
-    <transition to="false-condition-end" condition="#{AAA != null}" name="to false"/>
-		<transition to="true-condition-end" condition="#{AAA == null}" name="to true" />
-	</node>
-
-  <end-state name="false-condition-end" />
-
-	<end-state name="true-condition-end" />
-
-</process-definition>
\ No newline at end of file

Deleted: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/processdefinitionb.jpg
===================================================================
(Binary files differ)

Deleted: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/processdefinitionb.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/processdefinitionb.xml	2011-05-17 14:39:43 UTC (rev 6933)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/processdefinitionb.xml	2011-05-17 14:41:32 UTC (rev 6934)
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<process-definition name="soa2010b" xmlns="urn:jbpm.org:jpdl-3.2">
-
-  <start-state name="start">
-		<transition to="node1" />
-	</start-state>
-
-  <node name="node1">
-    <transition to="true-condition-end" condition="#{AAA == null}" name="to true" />
-    <transition to="false-condition-end" condition="#{AAA != null}" name="to false"/>
-	</node>
-
-  <end-state name="false-condition-end" />
-
-	<end-state name="true-condition-end" />
-
-</process-definition>
\ No newline at end of file



More information about the jbpm-commits mailing list