[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