[jbpm-commits] JBoss JBPM SVN: r5597 - jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jbpm983.

do-not-reply at jboss.org do-not-reply at jboss.org
Mon Aug 31 05:00:33 EDT 2009


Author: alex.guizar at jboss.com
Date: 2009-08-31 05:00:32 -0400 (Mon, 31 Aug 2009)
New Revision: 5597

Modified:
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jbpm983/JBPM983Test.java
Log:
[JBPM-983] stabilize test under hsqldb

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jbpm983/JBPM983Test.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jbpm983/JBPM983Test.java	2009-08-31 08:26:10 UTC (rev 5596)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jbpm983/JBPM983Test.java	2009-08-31 09:00:32 UTC (rev 5597)
@@ -20,11 +20,11 @@
  */
 public class JBPM983Test extends AbstractDbTestCase {
 
-  private static Log log = LogFactory.getLog(JBPM983Test.class);
-
-  private long subProcessDefinitionId;
   private long processDefinitionId;
+  private long subProcessDefinitionId;
 
+  private static Log log = LogFactory.getLog(JBPM983Test.class);
+
   protected void setUp() throws Exception {
     super.setUp();
 
@@ -43,11 +43,9 @@
         && dialect.indexOf("HSQL") == -1) { // multiple threads will not be supported on HSQL
       jbpmConfiguration.getJobExecutor().setNbrOfThreads(4);
     }
-    startJobExecutor();
   }
 
   protected void tearDown() throws Exception {
-    stopJobExecutor();
     jbpmConfiguration.getJobExecutor().setNbrOfThreads(1);
 
     graphSession.deleteProcessDefinition(processDefinitionId);
@@ -56,68 +54,51 @@
     super.tearDown();
   }
 
-  static final String SUBPROCESS_XML = "<?xml version='1.0' encoding='UTF-8'?>"
+  static final String SUBPROCESS_XML = "<?xml version='1.0'?>"
       + "<process-definition xmlns='urn:jbpm.org:jpdl-3.2' name='subprocess'>"
       + "<start-state name='start-state1'>"
       + "   <description>start of the process</description>"
-      + "   <transition name='start-to-check' to='fileCheck' />"
+      + "   <transition name='start-to-check' to='fileCheck'/>"
       + "</start-state>"
-      + ""
       + "<node name='fileCheck' async='exclusive'>"
-      + "   <action name='action_filecheck' class='"
-      + TestAction.class.getName()
-      + "'>"
+      + "   <action name='action_filecheck' class='" + TestAction.class.getName() + "'>"
       + "   </action>"
-      + "   <transition name='check-to-do' to='doWhatever'></transition>"
-      + "</node>"
-      + ""
+      + "   <transition name='check-to-do' to='doWhatever'/>"
+      + "</node>" 
       + "<node name='doWhatever' async='exclusive'>"
-      + "   <action name='action_do' class='"
-      + TestAction.class.getName()
-      + "'>"
-      + "   </action>"
-      + "   <transition name='check-to-end' to='end-state-success'></transition>"
+      + "   <action name='action_do' class='" + TestAction.class.getName() + "'/>"
+      + "   <transition name='check-to-end' to='end-state-success'/>"
       + "</node>"
-      + ""
       + "<end-state name='end-state-success'>"
-      + "   <description>process finished normally</description>"
+      + "   <description>process finished normally</description>" 
       + "</end-state>"
       + "</process-definition>";
 
-  static final String PROCESS_XML = "<?xml version='1.0' encoding='UTF-8'?>"
+  static final String PROCESS_XML = "<?xml version='1.0'?>"
       + "<process-definition xmlns='urn:jbpm.org:jpdl-3.2' name='superprocess'>"
       + "<start-state name='start-state1'>"
       + "   <description>start of the process</description>"
-      + "   <transition name='start-to-check' to='fileCheck' />"
-      + "</start-state>"
-      + ""
+      + "   <transition name='start-to-check' to='fileCheck'/>" 
+      + "</start-state>" + ""
       + "<node name='fileCheck' async='true'>"
-      + "   <action name='action_check' class='"
-      + TestAction.class.getName()
-      + "'>"
-      + "   </action>"
-      + "   <transition name='check-to-fork' to='fork1'></transition>"
+      + "   <action name='action_check' class='" + TestAction.class.getName() + "'/>"
+      + "   <transition name='check-to-fork' to='fork1'/>"
       + "</node>"
-      + ""
       + "<fork name='fork1'>"
-      + "   <transition name='toNode1' to='node1'></transition>"
-      + "   <transition name='toNode2' to='node2'></transition>"
+      + "   <transition name='toNode1' to='node1'/>"
+      + "   <transition name='toNode2' to='node2'/>"
       + "</fork>"
-      + ""
       + "<process-state name='node1' async='exclusive'>"
-      + "   <sub-process name='subprocess' />"
-      + "   <transition name='node1toJoin1' to='join1'></transition>"
+      + "   <sub-process name='subprocess'/>"
+      + "   <transition name='node1toJoin1' to='join1'/>"
       + "</process-state>"
-      + ""
       + "<process-state name='node2' async='exclusive'>"
-      + "   <sub-process name='subprocess' />"
-      + "   <transition name='node2toJoin1' to='join1'></transition>"
+      + "   <sub-process name='subprocess'/>"
+      + "   <transition name='node2toJoin1' to='join1'/>"
       + "</process-state>"
-      + ""
       + "<join name='join1'>"
-      + "   <transition name='joinToEnd' to='end-state-success'></transition>"
+      + "   <transition name='joinToEnd' to='end-state-success'/>"
       + "</join>"
-      + ""
       + "<end-state name='end-state-success'>"
       + "   <description>process finished normally</description>"
       + "</end-state>"
@@ -138,74 +119,35 @@
       newTransaction();
     }
 
+    processJobs(5 * 60 * 1000);
+
     for (int i = 0; i < processCount; i++) {
       long piId = processInstanceIds[i];
-      waitFor(piId);
-
       ProcessInstance pi = jbpmContext.loadProcessInstance(piId);
       assertEquals("end-state-success", pi.getRootToken().getNode().getName());
     }
   }
 
-  protected void waitFor(long piId) throws Exception {
-    final int endTimeout = 60;
-    long startTime = System.currentTimeMillis();
-
-    while (!jbpmContext.loadProcessInstance(piId).hasEnded()) {
-      if (System.currentTimeMillis() - startTime > endTimeout * 1000) {
-        fail("Aborting after " + endTimeout + " seconds.");
-        break;
-      }
-
-      newTransaction();
-
-      log.info("waiting for workflow completion....");
-      try {
-        Thread.sleep(200);
-      }
-      catch (InterruptedException e) {
-        log.error("wait for workflow was interruputed", e);
-        break;
-      }
-    }
-  }
-
   public static class TestAction implements ActionHandler {
 
     private static final long serialVersionUID = 1L;
 
     public void execute(ExecutionContext executionContext) throws Exception {
-      String processName = executionContext.getProcessDefinition().getName()
-          + ":"
+      String processName = executionContext.getProcessDefinition().getName() + ":"
           + executionContext.getProcessInstance().getId();
-      String nodeName = executionContext.getToken().getNode().getName();
+      String nodeName = executionContext.getNode().getName();
       String tokenName = executionContext.getToken().toString();
 
-      log.info("ACTION (process="
-          + processName
-          + ",node="
-          + nodeName
-          + ",token="
-          + tokenName
+      log.info("ACTION (process=" + processName + ",node=" + nodeName + ",token=" + tokenName
           + "): begin");
 
       for (int i = 0; i < 5; i++) {
-        log.info("ACTION (process="
-            + processName
-            + ",node="
-            + nodeName
-            + ",token="
-            + tokenName
+        log.info("ACTION (process=" + processName + ",node=" + nodeName + ",token=" + tokenName
             + "): working...");
         Thread.sleep(100);
       }
 
-      log.info("ACTION (process="
-          + processName
-          + ",node="
-          + nodeName
-          + ",token="
-          + tokenName
+      log.info("ACTION (process=" + processName + ",node=" + nodeName + ",token=" + tokenName
           + "): end");
 
       executionContext.leaveNode();



More information about the jbpm-commits mailing list