[jbpm-commits] JBoss JBPM SVN: r4159 - in jbpm3/branches/jbpm-3.2.6.GA: modules/core/src/main/java/org/jbpm/graph/def and 3 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Thu Mar 5 16:46:19 EST 2009


Author: alex.guizar at jboss.com
Date: 2009-03-05 16:46:19 -0500 (Thu, 05 Mar 2009)
New Revision: 4159

Removed:
   jbpm3/branches/jbpm-3.2.6.GA/modules/core/src/test/resources/org/jbpm/jbpm1755/gpd.xml
Modified:
   jbpm3/branches/jbpm-3.2.6.GA/.project
   jbpm3/branches/jbpm-3.2.6.GA/modules/core/src/main/java/org/jbpm/graph/def/EventCallback.java
   jbpm3/branches/jbpm-3.2.6.GA/modules/core/src/test/java/org/jbpm/jbpm1755/JBPM1755Test.java
   jbpm3/branches/jbpm-3.2.6.GA/modules/enterprise/src/test/java/org/jbpm/enterprise/ejbtimer/EjbSchedulerTest.java
Log:
restore callback time unit to milliseconds

Modified: jbpm3/branches/jbpm-3.2.6.GA/.project
===================================================================
--- jbpm3/branches/jbpm-3.2.6.GA/.project	2009-03-05 21:10:18 UTC (rev 4158)
+++ jbpm3/branches/jbpm-3.2.6.GA/.project	2009-03-05 21:46:19 UTC (rev 4159)
@@ -6,12 +6,18 @@
 	</projects>
 	<buildSpec>
 		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
 			<name>org.maven.ide.eclipse.maven2Builder</name>
 			<arguments>
 			</arguments>
 		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.maven.ide.eclipse.maven2Nature</nature>
 	</natures>
 </projectDescription>

Modified: jbpm3/branches/jbpm-3.2.6.GA/modules/core/src/main/java/org/jbpm/graph/def/EventCallback.java
===================================================================
--- jbpm3/branches/jbpm-3.2.6.GA/modules/core/src/main/java/org/jbpm/graph/def/EventCallback.java	2009-03-05 21:10:18 UTC (rev 4158)
+++ jbpm3/branches/jbpm-3.2.6.GA/modules/core/src/main/java/org/jbpm/graph/def/EventCallback.java	2009-03-05 21:46:19 UTC (rev 4159)
@@ -38,7 +38,7 @@
 
 public class EventCallback implements Serializable {
 
-  public static final int DEFAULT_TIMEOUT = 5 * 60;
+  public static final int DEFAULT_TIMEOUT = 5 * 60 * 1000;
 
   private static final long serialVersionUID = 1L;
   private static final Log log = LogFactory.getLog(EventCallback.class);
@@ -158,11 +158,11 @@
     log.debug("waiting for " + event);
     Semaphore eventSemaphore = getEventSemaphore(event);
     try {
-      if (eventSemaphore.tryAcquire(occurrences, timeout, TimeUnit.SECONDS)) {
+      if (eventSemaphore.tryAcquire(occurrences, timeout, TimeUnit.MILLISECONDS)) {
         log.debug("received '" + event + "' notification");
       }
       else {
-        throw new JbpmException("event '" + event + "' did not occur within " + timeout + " sec");
+        throw new JbpmException("event '" + event + "' did not occur within " + timeout + " ms");
       }
     }
     catch (InterruptedException e) {
@@ -192,4 +192,4 @@
       eventSemaphores.clear();
     }
   }
-}
\ No newline at end of file
+}

Modified: jbpm3/branches/jbpm-3.2.6.GA/modules/core/src/test/java/org/jbpm/jbpm1755/JBPM1755Test.java
===================================================================
--- jbpm3/branches/jbpm-3.2.6.GA/modules/core/src/test/java/org/jbpm/jbpm1755/JBPM1755Test.java	2009-03-05 21:10:18 UTC (rev 4158)
+++ jbpm3/branches/jbpm-3.2.6.GA/modules/core/src/test/java/org/jbpm/jbpm1755/JBPM1755Test.java	2009-03-05 21:46:19 UTC (rev 4159)
@@ -1,7 +1,5 @@
 package org.jbpm.jbpm1755;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.hibernate.LockMode;
 import org.jbpm.db.AbstractDbTestCase;
 import org.jbpm.graph.def.Event;
@@ -19,30 +17,23 @@
  */
 public class JBPM1755Test extends AbstractDbTestCase {
 
-  private long processDefinitionId;
+  private ProcessDefinition processDefinition;
 
-  private static final int processInstanceCount = 5;
-  private static final long maxWaitTime = 10 * 1000;
-  private static final Log log = LogFactory.getLog(JBPM1755Test.class);
+  private static final int PROCESS_INSTANCE_COUNT = 5;
 
   @Override
   protected void setUp() throws Exception {
     super.setUp();
-
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("org/jbpm/jbpm1755/parallelprocess.xml");
-    jbpmContext.deployProcessDefinition(processDefinition);
-    processDefinitionId = processDefinition.getId();
-
+    processDefinition = ProcessDefinition.parseXmlResource("org/jbpm/jbpm1755/parallelprocess.xml");
     startJobExecutor();
   }
 
   @Override
   protected void tearDown() throws Exception {
     stopJobExecutor();
-    graphSession.deleteProcessDefinition(processDefinitionId);
-    super.tearDown();
-    
+    graphSession.deleteProcessDefinition(processDefinition.getId());
     EventCallback.clear();
+    super.tearDown();
   }
 
   public void testReadLock() {
@@ -58,48 +49,33 @@
   }
 
   private void launchProcessInstances(LockMode lockMode) {
-    ProcessDefinition processDefinition = graphSession.loadProcessDefinition(processDefinitionId);
     Join join = (Join) processDefinition.getNode("join1");
     join.setParentLockMode(lockMode.toString());
+    jbpmContext.deployProcessDefinition(processDefinition);
 
-    long[] processInstanceIds = new long[processInstanceCount];
-    for (int i = 0; i < processInstanceCount; i++) {
+    long[] processInstanceIds = new long[PROCESS_INSTANCE_COUNT];
+    for (int i = 0; i < PROCESS_INSTANCE_COUNT; i++) {
+      newTransaction();
       ProcessInstance processInstance = new ProcessInstance(processDefinition);
       processInstanceIds[i] = processInstance.getId();
       processInstance.getContextInstance().setVariable("eventCallback", new EventCallback());
       processInstance.signal();
       jbpmContext.save(processInstance);
     }
-    commitAndCloseSession();
 
-    for (int i = 0; i < processInstanceCount; i++) {
-      long processInstanceId = processInstanceIds[i];
-      waitForProcessInstanceEnd(processInstanceId);
-      assertTrue(hasProcessInstanceEnded(processInstanceId));
-    }
-
-    processJobs(maxWaitTime);
-  }
-
-  private void waitForProcessInstanceEnd(long processInstanceId) {
-    long startTime = System.currentTimeMillis();
-    do {
-      EventCallback.waitForEvent(Event.EVENTTYPE_PROCESS_END, 1000);
-      if (System.currentTimeMillis() - startTime > maxWaitTime) {
-        log.warn("process instance " + processInstanceId + " took too long");
-        break;
-      }
-    } while (!hasProcessInstanceEnded(processInstanceId));
-  }
-
-  private boolean hasProcessInstanceEnded(long processInstanceId) {
-    beginSessionTransaction();
+    commitAndCloseSession();
     try {
-      return jbpmContext.loadProcessInstance(processInstanceId).hasEnded();
+      EventCallback.waitForEvent(PROCESS_INSTANCE_COUNT, Event.EVENTTYPE_PROCESS_END);
     }
     finally {
-      commitAndCloseSession();
+      beginSessionTransaction();
     }
+
+    for (int i = 0; i < PROCESS_INSTANCE_COUNT; i++) {
+      long processInstanceId = processInstanceIds[i];
+      assertTrue("expected process instance " + processInstanceId + " to have ended",
+          jbpmContext.loadProcessInstance(processInstanceId).hasEnded());
+    }
   }
 
 }

Deleted: jbpm3/branches/jbpm-3.2.6.GA/modules/core/src/test/resources/org/jbpm/jbpm1755/gpd.xml
===================================================================
--- jbpm3/branches/jbpm-3.2.6.GA/modules/core/src/test/resources/org/jbpm/jbpm1755/gpd.xml	2009-03-05 21:10:18 UTC (rev 4158)
+++ jbpm3/branches/jbpm-3.2.6.GA/modules/core/src/test/resources/org/jbpm/jbpm1755/gpd.xml	2009-03-05 21:46:19 UTC (rev 4159)
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<root-container name="raceCondition" width="798" height="531">
-  <node name="start" x="135" y="52" width="140" height="40">
-    <edge>
-      <label x="5" y="-10"/>
-    </edge>
-  </node>
-  <node name="fork1" x="79" y="136" 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>
-  </node>
-  <node name="join1" x="79" y="311" width="252" height="24">
-    <edge>
-      <label x="5" y="-10"/>
-    </edge>
-  </node>
-  <node name="node2" x="155" y="219" width="100" height="36">
-    <edge>
-      <label x="5" y="-10"/>
-    </edge>
-  </node>
-  <node name="node3" x="276" y="220" width="98" height="36">
-    <edge>
-      <label x="5" y="-10"/>
-    </edge>
-  </node>
-  <node name="node1" x="31" y="218" width="105" height="36">
-    <edge>
-      <label x="5" y="-10"/>
-    </edge>
-  </node>
-  <node name="end" x="134" y="377" width="140" height="40"/>
-</root-container>

Modified: jbpm3/branches/jbpm-3.2.6.GA/modules/enterprise/src/test/java/org/jbpm/enterprise/ejbtimer/EjbSchedulerTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2.6.GA/modules/enterprise/src/test/java/org/jbpm/enterprise/ejbtimer/EjbSchedulerTest.java	2009-03-05 21:10:18 UTC (rev 4158)
+++ jbpm3/branches/jbpm-3.2.6.GA/modules/enterprise/src/test/java/org/jbpm/enterprise/ejbtimer/EjbSchedulerTest.java	2009-03-05 21:46:19 UTC (rev 4159)
@@ -137,7 +137,13 @@
     long rootTokenId = processInstance.getRootToken().getId();
     cancelTimer("a", rootTokenId);
     // no more expirations
-    EventCallback.waitForEvent(Event.EVENTTYPE_TIMER, 2000);
+    try {
+      EventCallback.waitForEvent(Event.EVENTTYPE_TIMER, 2000);
+      fail("expected timeout exception");
+    }
+    catch (org.jbpm.JbpmException e) {
+      // timeout exception was expected
+    }
 
     signalToken(rootTokenId);
     assertTrue("expected process instance " + processInstanceId + " to have ended",




More information about the jbpm-commits mailing list