[jbpm-commits] JBoss JBPM SVN: r7061 - in jbpm3/branches/jbpm-3.2-soa/core/src: test/java/org/jbpm and 1 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Tue Feb 21 21:17:01 EST 2012
Author: marco.rietveld
Date: 2012-02-21 21:17:01 -0500 (Tue, 21 Feb 2012)
New Revision: 7061
Added:
jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/Jbpm3421/
jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/Jbpm3421/JBPM3421Test.java
jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/Jbpm3421/JBPM3421TimerTest.java
Modified:
jbpm3/branches/jbpm-3.2-soa/core/src/main/resources/org/jbpm/jpdl/xml/jpdl-3.1.xsd
jbpm3/branches/jbpm-3.2-soa/core/src/main/resources/org/jbpm/jpdl/xml/jpdl-3.2.xsd
Log:
JBPM-3421: adding cancel-event attribute to (3.1,3.2) XSD.
Modified: jbpm3/branches/jbpm-3.2-soa/core/src/main/resources/org/jbpm/jpdl/xml/jpdl-3.1.xsd
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/main/resources/org/jbpm/jpdl/xml/jpdl-3.1.xsd 2012-02-22 02:14:43 UTC (rev 7060)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/main/resources/org/jbpm/jpdl/xml/jpdl-3.1.xsd 2012-02-22 02:17:01 UTC (rev 7061)
@@ -351,6 +351,7 @@
<xs:attribute name="name" type="xs:string" />
<xs:attribute name="repeat" type="xs:string" />
<xs:attribute name="transition" type="xs:string" />
+ <xs:attribute name="cancel-event" type="xs:string" use="optional" default="task-end"/>
</xs:complexType>
</xs:element>
Modified: jbpm3/branches/jbpm-3.2-soa/core/src/main/resources/org/jbpm/jpdl/xml/jpdl-3.2.xsd
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/main/resources/org/jbpm/jpdl/xml/jpdl-3.2.xsd 2012-02-22 02:14:43 UTC (rev 7060)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/main/resources/org/jbpm/jpdl/xml/jpdl-3.2.xsd 2012-02-22 02:17:01 UTC (rev 7061)
@@ -391,6 +391,7 @@
<xs:attribute name="name" type="xs:string" />
<xs:attribute name="repeat" type="xs:string" />
<xs:attribute name="transition" type="xs:string" />
+ <xs:attribute name="cancel-event" type="xs:string" use="optional" default="task-end"/>
</xs:complexType>
</xs:element>
Added: jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/Jbpm3421/JBPM3421Test.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/Jbpm3421/JBPM3421Test.java (rev 0)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/Jbpm3421/JBPM3421Test.java 2012-02-22 02:17:01 UTC (rev 7061)
@@ -0,0 +1,64 @@
+package org.jbpm.Jbpm3421;
+
+import java.util.Iterator;
+
+import junit.framework.TestCase;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jbpm.graph.def.ProcessDefinition;
+import org.jbpm.jpdl.JpdlException;
+import org.jbpm.jpdl.xml.Problem;
+
+public class JBPM3421Test extends TestCase {
+
+ private static final Log log = LogFactory.getLog(JBPM3421Test.class);
+
+ private static final String[] jpdlNamespaces = {
+ "urn:jbpm.org:jpdl-3.0", "urn:jbpm.org:jpdl-3.1", "urn:jbpm.org:jpdl-3.2",
+ };
+
+ public void testCancelEventTimerAttributeIsvalid() {
+ for (int i = 0; i < 3; ++i) {
+ try {
+ ProcessDefinition.parseXmlString(
+ "<process-definition xmlns='" + jpdlNamespaces[i] + "' name='pd'>"
+ + " <task-node name='a'>"
+ + " <task name='clean ceiling'>"
+ + " <timer duedate='2 business minutes' cancel-event='task-end'>"
+ + " <action class='org.jbpm.taskmgmt.exe.TaskEventExecutionTest$PlusPlus' />"
+ + " </timer>"
+ + " </task>"
+ + " </task-node>"
+ + "</process-definition>");
+ }
+ catch (JpdlException je) {
+ Iterator iter = je.getProblems().iterator();
+ while (iter.hasNext()) {
+ Problem xmlProb = (Problem) iter.next();
+ log.error("jpdl 3." + i + ": " + getTypeDescription(xmlProb.getLevel()) + ": "
+ + xmlProb.getDescription());
+ }
+ fail("Exception thrown with jpdl 3." + i + ": " + je.getMessage());
+ }
+ }
+ }
+
+ static String getTypeDescription(int level) {
+ switch (level) {
+ case Problem.LEVEL_FATAL:
+ return "FATAL";
+ case Problem.LEVEL_ERROR:
+ return "ERROR";
+ case Problem.LEVEL_WARNING:
+ return "WARNING";
+ case Problem.LEVEL_INFO:
+ return "INFO";
+ }
+ return null;
+ }
+
+
+
+
+}
Property changes on: jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/Jbpm3421/JBPM3421Test.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/Jbpm3421/JBPM3421TimerTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/Jbpm3421/JBPM3421TimerTest.java (rev 0)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/Jbpm3421/JBPM3421TimerTest.java 2012-02-22 02:17:01 UTC (rev 7061)
@@ -0,0 +1,46 @@
+package org.jbpm.Jbpm3421;
+
+import org.jbpm.db.AbstractDbTestCase;
+import org.jbpm.graph.def.Event;
+import org.jbpm.graph.def.EventCallback;
+import org.jbpm.graph.def.ProcessDefinition;
+import org.jbpm.graph.exe.ProcessInstance;
+
+public class JBPM3421TimerTest extends AbstractDbTestCase {
+
+ public void testCancelEventExecutionInTaskTimer() {
+ // setup
+ ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("org/jbpm/jbpm3421/processdef.xml");
+ deployProcessDefinition(processDefinition);
+ startJobExecutor();
+
+ // test
+ ProcessInstance processInstance = jbpmContext.newProcessInstanceForUpdate("jbpm3421");
+ processInstance.getContextInstance().setVariable("eventCallback", new EventCallback());
+ processInstance.signal();
+ assertEquals("firstNode", processInstance.getRootToken().getNode().getName());
+
+ // Wait for timer and verify that it fired..
+ newTransaction();
+ EventCallback.waitForEvent(Event.EVENTTYPE_TIMER);
+ long processInstanceId = processInstance.getId();
+ assertEquals("firstNode", jbpmContext.loadProcessInstance(processInstanceId)
+ .getRootToken()
+ .getNode()
+ .getName());
+
+ // Task timer does not have a transition (timer fires == do nothing)
+ // so we signal again
+ jbpmContext.loadProcessInstance(processInstanceId).signal();
+
+ // Wait for process to end
+ newTransaction();
+ EventCallback.waitForEvent(Event.EVENTTYPE_PROCESS_END);
+ assertTrue(jbpmContext.loadProcessInstance(processInstanceId).hasEnded());
+
+ // clean up
+ stopJobExecutor();
+ EventCallback.clear();
+ }
+
+}
Property changes on: jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/Jbpm3421/JBPM3421TimerTest.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
More information about the jbpm-commits
mailing list