Author: marco.rietveld
Date: 2011-05-12 03:43:49 -0400 (Thu, 12 May 2011)
New Revision: 6917
Added:
jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/soa2010/
jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/soa2010/SOA2010Test.java
jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/
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
Log:
SOA-2010 Conditional transition cannot be considered as a default one
Added: 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
(rev 0)
+++
jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/soa2010/SOA2010Test.java 2011-05-12
07:43:49 UTC (rev 6917)
@@ -0,0 +1,90 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jbpm.soa2010;
+
+import org.jbpm.JbpmException;
+import org.jbpm.db.AbstractDbTestCase;
+import org.jbpm.graph.def.ProcessDefinition;
+import org.jbpm.graph.exe.ProcessInstance;
+
+/**
+ * Conditional transition cannot be considered as a default one (for a Node).
+ *
+ * @see <a
href="https://jira.jboss.org/browse/SOA-2010">SOA-2010</a...
+ * @author Marco Rietveld
+ */
+public class SOA2010Test extends AbstractDbTestCase {
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ /**
+ * Illustrate the following:
+ * - node with no unconditional transitions
+ * - transition with a condition that evaluates to false, as first transition (in jpdl
doc)
+ * - other conditional transitions also present from node
+ *
+ * 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");
+ deployProcessDefinition(processDefinition);
+
+ ProcessInstance processInstance =
jbpmContext.newProcessInstance("soa2010a");
+ boolean exceptionThrown = false;
+ try {
+ processInstance.signal();
+ }
+ catch(JbpmException je) {
+ assertTrue("expected exception on condition",
je.getMessage().contains("guarding Transition(to false) not met"));
+ exceptionThrown = true;
+ }
+ assertTrue("expected exception on condition", exceptionThrown);
+ }
+
+ /**
+ * Illustrate the following:
+ * - node with no unconditional transitions
+ * - transition with a condition that evaluates to true, as first transition (in jpdl
doc)
+ * - other conditional transitions also present from node
+ *
+ * will succeed, because first/default is conditional that eval's to true.
+ *
+ * (otherwise EXACTLY the same jpdl/graph as previous test)
+ */
+ public void testNodeWithTrueDefaultConditionalTransition() {
+ ProcessDefinition processDefinition =
ProcessDefinition.parseXmlResource("org/jbpm/soa2010/processdefinitionb.xml");
+ deployProcessDefinition(processDefinition);
+
+ ProcessInstance processInstance =
jbpmContext.newProcessInstance("soa2010b");
+ try {
+ processInstance.signal();
+ }
+ catch(JbpmException je) {
+ fail("Did not expect exception: " + je.getMessage() );
+ }
+ assertEquals("true-condition-end",
processInstance.getRootToken().getNode().getName());
+
+ }
+
+}
Property changes on:
jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/soa2010/SOA2010Test.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
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
(rev 0)
+++
jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.processdefinition1.xml 2011-05-12
07:43:49 UTC (rev 6917)
@@ -0,0 +1,19 @@
+<?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>
Property changes on:
jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.processdefinition1.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
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
(rev 0)
+++
jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.processdefinition2.xml 2011-05-12
07:43:49 UTC (rev 6917)
@@ -0,0 +1,19 @@
+<?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>
Property changes on:
jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.processdefinition2.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
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
(rev 0)
+++
jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.processdefinitiona.xml 2011-05-12
07:43:49 UTC (rev 6917)
@@ -0,0 +1,19 @@
+<?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>
Property changes on:
jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.processdefinitiona.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
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
(rev 0)
+++
jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.processdefinitionb.xml 2011-05-12
07:43:49 UTC (rev 6917)
@@ -0,0 +1,19 @@
+<?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>
Property changes on:
jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/.gpd.processdefinitionb.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/processdefinitiona.jpg
===================================================================
(Binary files differ)
Property changes on:
jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/processdefinitiona.jpg
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added:
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
(rev 0)
+++
jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/processdefinitiona.xml 2011-05-12
07:43:49 UTC (rev 6917)
@@ -0,0 +1,18 @@
+<?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
Property changes on:
jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/processdefinitiona.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/processdefinitionb.jpg
===================================================================
(Binary files differ)
Property changes on:
jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/processdefinitionb.jpg
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added:
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
(rev 0)
+++
jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/processdefinitionb.xml 2011-05-12
07:43:49 UTC (rev 6917)
@@ -0,0 +1,18 @@
+<?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
Property changes on:
jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/soa2010/processdefinitionb.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain