[jbpm-commits] JBoss JBPM SVN: r6789 - in jbpm3/branches/jbpm-3.2-soa: core/src/test/java/org/jbpm/jbpm2605 and 5 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Oct 29 03:04:28 EDT 2010


Author: alex.guizar at jboss.com
Date: 2010-10-29 03:04:27 -0400 (Fri, 29 Oct 2010)
New Revision: 6789

Modified:
   jbpm3/branches/jbpm-3.2-soa/core/pom.xml
   jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/jbpm2605/JBPM2605Test.java
   jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/jbpm2630/JBPM2630Test.java
   jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/persistence/db/PersistenceServiceDbTest.java
   jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/taskmgmt/exe/SwimlaneDbTest.java
   jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/taskmgmt/exe/SwimlaneTest.java
   jbpm3/branches/jbpm-3.2-soa/db/pom.xml
   jbpm3/branches/jbpm-3.2-soa/db/scripts/antrun-jbpmschema.xml
Log:
JBPM-2971 work around lack of configurable delimiter in DatabaseInitializer;
sanetize various custom configuration tests

Modified: jbpm3/branches/jbpm-3.2-soa/core/pom.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/pom.xml	2010-10-28 02:12:59 UTC (rev 6788)
+++ jbpm3/branches/jbpm-3.2-soa/core/pom.xml	2010-10-29 07:04:27 UTC (rev 6789)
@@ -185,12 +185,21 @@
           </execution>
         </executions>
       </plugin>
+
+      <plugin>
+      	<artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <excludes>
+            <exclude>org/jbpm/db/JbpmSchemaDbTest.java</exclude>
+            <exclude>org/jbpm/perf/PerformanceTest.java</exclude>
+          </excludes>
+        </configuration>
+      </plugin>
     </plugins>
   </build>
 
   <!-- Profiles -->
   <profiles>
-
     <!--
       Name: jdk14
       Desc: Dependencies specific to JDK 1.4
@@ -210,32 +219,6 @@
     </profile>
 
     <!--
-      Name: db2
-      Desc: DB2 Test Exclusions
-    -->
-    <profile>
-      <id>db2</id>
-      <activation>
-        <property>
-          <name>database</name>
-          <value>db2</value>
-        </property>
-      </activation>
-      <build>
-        <plugins>
-          <plugin>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <configuration>
-              <excludes>
-                <exclude>org/jbpm/db/JbpmSchemaDbTest.java</exclude>
-              </excludes>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-
-    <!--
       Name: mssql
       Desc: SQL Server Test Exclusions   
     -->
@@ -253,7 +236,9 @@
             <artifactId>maven-surefire-plugin</artifactId>
             <configuration>
               <excludes>
+                <exclude>org/jbpm/db/JbpmSchemaDbTest.java</exclude>
                 <exclude>org/jbpm/job/executor/JobExecutorDbTest.java</exclude>
+                <exclude>org/jbpm/perf/PerformanceTest.java</exclude>
               </excludes>
             </configuration>
           </plugin>
@@ -262,15 +247,15 @@
     </profile>
 
     <!--
-      Name: oracle
-      Desc: Oracle Test Exclusions
+      Name: sybase
+      Desc: Sybase Test Exclusions
     -->
     <profile>
-      <id>oracle</id>
+      <id>sybase</id>
       <activation>
         <property>
           <name>database</name>
-          <value>oracle</value>
+          <value>sybase</value>
         </property>
       </activation>
       <build>
@@ -280,6 +265,8 @@
             <configuration>
               <excludes>
                 <exclude>org/jbpm/db/JbpmSchemaDbTest.java</exclude>
+                <exclude>org/jbpm/jbpm2958/TimerCalendarTest.java</exclude>
+                <exclude>org/jbpm/perf/PerformanceTest.java</exclude>
               </excludes>
             </configuration>
           </plugin>

Modified: jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/jbpm2605/JBPM2605Test.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/jbpm2605/JBPM2605Test.java	2010-10-28 02:12:59 UTC (rev 6788)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/jbpm2605/JBPM2605Test.java	2010-10-29 07:04:27 UTC (rev 6789)
@@ -22,10 +22,12 @@
 package org.jbpm.jbpm2605;
 
 import org.hibernate.SessionFactory;
-import org.hibernate.cfg.Configuration;
-import org.jbpm.db.AbstractDbTestCase;
-import org.jbpm.graph.def.ProcessDefinition;
+
+import org.jbpm.AbstractJbpmTestCase;
+import org.jbpm.JbpmConfiguration;
+import org.jbpm.JbpmContext;
 import org.jbpm.persistence.db.DbPersistenceServiceFactory;
+import org.jbpm.persistence.db.MockSessionFactory;
 
 /**
  * {@link DbPersistenceServiceFactory} should not close {@link SessionFactory} if it did not
@@ -34,32 +36,20 @@
  * @see <a href="https://jira.jboss.org/browse/JBPM-2605">JBPM-2605</a>
  * @author Alejandro Guizar
  */
-public class JBPM2605Test extends AbstractDbTestCase {
+public class JBPM2605Test extends AbstractJbpmTestCase {
 
-  private SessionFactory sessionFactory;
-
-  protected void setUp() throws Exception {
-    super.setUp();
-    sessionFactory = new Configuration().configure().buildSessionFactory();
-    jbpmContext.setSessionFactory(sessionFactory);
-  }
-
-  protected void tearDown() throws Exception {
-    super.tearDown();
-    sessionFactory.close();
-  }
-
   public void testExternalSessionFactory() {
-    deployProcessDefinition(new ProcessDefinition(getName()));
-    closeJbpmContext();
+    SessionFactory sessionFactory = new MockSessionFactory();
+
+    JbpmConfiguration jbpmConfiguration = JbpmConfiguration.parseResource("jbpm.cfg.xml");
     try {
-      jbpmConfiguration.close();
-      jbpmConfiguration = null;
-      assertFalse("expected external session factory to remain open", sessionFactory.isClosed());
+      JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
+      jbpmContext.setSessionFactory(sessionFactory);
     }
     finally {
-      createJbpmContext();
-      jbpmContext.setSessionFactory(sessionFactory);
+      jbpmConfiguration.close();
     }
+
+    assert !sessionFactory.isClosed() : "expected external session factory to remain open";
   }
 }

Modified: jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/jbpm2630/JBPM2630Test.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/jbpm2630/JBPM2630Test.java	2010-10-28 02:12:59 UTC (rev 6788)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/jbpm2630/JBPM2630Test.java	2010-10-29 07:04:27 UTC (rev 6789)
@@ -35,59 +35,59 @@
  */
 public class JBPM2630Test extends AbstractJbpmTestCase {
 
-  JbpmConfiguration testConfiguration;
-  JbpmConfiguration noLogConfiguration;
+  JbpmConfiguration baseConfiguration;
+  JbpmConfiguration alternateConfiguration;
 
   protected void setUp() throws Exception {
     super.setUp();
-    testConfiguration = JbpmConfiguration.getInstance();
-    noLogConfiguration = JbpmConfiguration.parseResource("org/jbpm/jbpm2630/jbpm.nolog.cfg.xml");
+    baseConfiguration = JbpmConfiguration.parseResource("jbpm.cfg.xml");
+    alternateConfiguration = JbpmConfiguration.parseResource("org/jbpm/jbpm2630/jbpm.nolog.cfg.xml");
   }
 
   protected void tearDown() throws Exception {
-    noLogConfiguration.close();
-    testConfiguration.close();
+    alternateConfiguration.close();
+    baseConfiguration.close();
     super.tearDown();
   }
 
   public void testBlockStructuredContextClose() {
-    JbpmContext testContext1 = testConfiguration.createJbpmContext();
+    JbpmContext baseContext1 = baseConfiguration.createJbpmContext();
     try {
-      JbpmContext noLogContext = noLogConfiguration.createJbpmContext();
+      JbpmContext alternateContext = alternateConfiguration.createJbpmContext();
       try {
-        JbpmContext testContext2 = testConfiguration.createJbpmContext();
+        JbpmContext baseContext2 = baseConfiguration.createJbpmContext();
         try {
-          assertSame(testConfiguration,
+          assertSame(baseConfiguration,
             JbpmConfigurationTestHelper.getCurrentJbpmConfiguration());
         }
         finally {
-          testContext2.close();
+          baseContext2.close();
         }
-        assertSame(noLogConfiguration,
+        assertSame(alternateConfiguration,
           JbpmConfigurationTestHelper.getCurrentJbpmConfiguration());
       }
       finally {
-        noLogContext.close();
+        alternateContext.close();
       }
-      assertSame(testConfiguration, JbpmConfigurationTestHelper.getCurrentJbpmConfiguration());
+      assertSame(baseConfiguration, JbpmConfigurationTestHelper.getCurrentJbpmConfiguration());
     }
     finally {
-      testContext1.close();
+      baseContext1.close();
     }
   }
 
   public void testUnstructuredContextClose() {
-    JbpmContext testContext = testConfiguration.createJbpmContext();
-    assertSame(testConfiguration,
+    JbpmContext baseContext = baseConfiguration.createJbpmContext();
+    assertSame(baseConfiguration,
       JbpmConfigurationTestHelper.getCurrentJbpmConfiguration());
 
-    JbpmContext noLogContext = noLogConfiguration.createJbpmContext();
-    assertSame(noLogConfiguration,
+    JbpmContext alternateContext = alternateConfiguration.createJbpmContext();
+    assertSame(alternateConfiguration,
       JbpmConfigurationTestHelper.getCurrentJbpmConfiguration());
 
     // this will emit a block-structured warning, but still succeed
-    testContext.close();
-    noLogContext.close();
+    baseContext.close();
+    alternateContext.close();
 
     assertNull(JbpmConfigurationTestHelper.getCurrentJbpmConfiguration());
   }

Modified: jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/persistence/db/PersistenceServiceDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/persistence/db/PersistenceServiceDbTest.java	2010-10-28 02:12:59 UTC (rev 6788)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/persistence/db/PersistenceServiceDbTest.java	2010-10-29 07:04:27 UTC (rev 6789)
@@ -44,7 +44,7 @@
   protected void setUp() throws Exception {
     super.setUp();
     // pristine, unshared configuration object
-    jbpmConfiguration = JbpmConfiguration.parseInputStream(null);
+    jbpmConfiguration = JbpmConfiguration.parseResource("jbpm.cfg.xml");
   }
 
   protected void tearDown() throws Exception {

Modified: jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/taskmgmt/exe/SwimlaneDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/taskmgmt/exe/SwimlaneDbTest.java	2010-10-28 02:12:59 UTC (rev 6788)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/taskmgmt/exe/SwimlaneDbTest.java	2010-10-29 07:04:27 UTC (rev 6789)
@@ -634,4 +634,60 @@
     assertNull(changeNappy.getActorId());
     assertEquals(0, changeNappy.getPooledActors().size());
   }
+
+  public void testTwoSwimlanes() {
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='two swimlanes'>"
+      + "  <swimlane name='hooligan'>"
+      + "    <assignment actor-id='johndoe' />"
+      + "  </swimlane>"
+      + "  <swimlane name='policeman'>"
+      + "    <assignment actor-id='joesmoe' />"
+      + "  </swimlane>"
+      + "  <start-state>"
+      + "    <transition to='a' />"
+      + "  </start-state>"
+      + "  <task-node name='a'>"
+      + "    <task name='throw rock' swimlane='hooligan' />"
+      + "    <transition to='b' />"
+      + "  </task-node>"
+      + "  <task-node name='b'>"
+      + "    <task name='hit him with your rithem stick' swimlane='policeman' />"
+      + "    <transition to='c' />"
+      + "  </task-node>"
+      + "  <task-node name='c'>"
+      + "    <task name='get nursed' swimlane='hooligan' />"
+      + "    <transition to='a' />"
+      + "  </task-node>"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
+
+    ProcessInstance processInstance = jbpmContext.newProcessInstanceForUpdate("two swimlanes");
+    processInstance.signal();
+
+    TaskMgmtInstance taskMgmtInstance = processInstance.getTaskMgmtInstance();
+    Token token = processInstance.getRootToken();
+    TaskInstance throwRock = (TaskInstance) taskMgmtInstance.getUnfinishedTasks(token)
+      .iterator()
+      .next();
+    assertEquals("johndoe", throwRock.getActorId());
+    throwRock.end();
+
+    TaskInstance hitWithRithmStick = (TaskInstance) taskMgmtInstance.getUnfinishedTasks(token)
+      .iterator()
+      .next();
+    assertEquals("joesmoe", hitWithRithmStick.getActorId());
+    hitWithRithmStick.end();
+
+    TaskInstance getNursed = (TaskInstance) taskMgmtInstance.getUnfinishedTasks(token)
+      .iterator()
+      .next();
+    assertEquals("johndoe", getNursed.getActorId());
+
+    SwimlaneInstance hooligan = taskMgmtInstance.getSwimlaneInstance("hooligan");
+    hooligan.setActorId("janedane");
+    getNursed.end();
+
+    throwRock = (TaskInstance) taskMgmtInstance.getUnfinishedTasks(token).iterator().next();
+    assertEquals("janedane", throwRock.getActorId());
+  }
 }

Modified: jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/taskmgmt/exe/SwimlaneTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/taskmgmt/exe/SwimlaneTest.java	2010-10-28 02:12:59 UTC (rev 6788)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/taskmgmt/exe/SwimlaneTest.java	2010-10-29 07:04:27 UTC (rev 6789)
@@ -30,6 +30,7 @@
 import org.jbpm.AbstractJbpmTestCase;
 import org.jbpm.JbpmConfiguration;
 import org.jbpm.JbpmContext;
+import org.jbpm.context.exe.ContextInstance;
 import org.jbpm.graph.def.ProcessDefinition;
 import org.jbpm.graph.exe.ExecutionContext;
 import org.jbpm.graph.exe.ProcessInstance;
@@ -38,13 +39,6 @@
 
 public class SwimlaneTest extends AbstractJbpmTestCase {
 
-  static JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
-  static int invocationCount = 0;
-
-  protected void setUp() {
-    invocationCount = 0;
-  }
-
   public void testStartStateSwimlaneInitialization() {
     ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
       + "  <swimlane name='initiator' />"
@@ -55,22 +49,27 @@
       + "  <state name='a' />"
       + "</process-definition>");
 
-    ProcessInstance processInstance;
-    TaskMgmtInstance taskMgmtInstance;
-    JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
-    jbpmContext.setActorId("the other guy");
+    JbpmConfiguration jbpmConfiguration = JbpmConfiguration.parseXmlString("<jbpm-configuration>"
+      + "  <jbpm-context>"
+      + "    <service name='authentication' factory='org.jbpm.security.authentication.DefaultAuthenticationServiceFactory' />"
+      + "    <service name='tx' factory='org.jbpm.tx.TxServiceFactory' />"
+      + "  </jbpm-context>"
+      + "</jbpm-configuration>");
     try {
-      processInstance = new ProcessInstance(processDefinition);
-      taskMgmtInstance = processInstance.getTaskMgmtInstance();
+      JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
+      jbpmContext.setActorId("the other guy");
+
+      ProcessInstance processInstance = new ProcessInstance(processDefinition);
+      TaskMgmtInstance taskMgmtInstance = processInstance.getTaskMgmtInstance();
       taskMgmtInstance.createStartTaskInstance();
       processInstance.signal();
+
+      assertEquals("the other guy", taskMgmtInstance.getSwimlaneInstance("initiator")
+        .getActorId());
     }
     finally {
-      jbpmContext.setActorId(null);
-      jbpmContext.close();
+      jbpmConfiguration.close();
     }
-    assertEquals("the other guy", taskMgmtInstance.getSwimlaneInstance("initiator")
-      .getActorId());
   }
 
   public static class TestAssignmentHandler implements AssignmentHandler {
@@ -78,7 +77,9 @@
 
     public void assign(Assignable assignable, ExecutionContext executionContext)
       throws Exception {
-      invocationCount++;
+      Integer count = (Integer) executionContext.getVariable("count");
+      executionContext.setVariable("count", new Integer(count != null ? count.intValue() + 1
+        : 1));
       assignable.setActorId("me");
     }
   }
@@ -103,20 +104,20 @@
     ProcessInstance processInstance = new ProcessInstance(processDefinition);
     processInstance.signal();
 
+    Integer count = (Integer) processInstance.getContextInstance().getVariable("count");
+    assertEquals(1, count.intValue());
+
     TaskMgmtInstance taskMgmtInstance = processInstance.getTaskMgmtInstance();
+    SwimlaneInstance stalker = taskMgmtInstance.getSwimlaneInstance("stalker");
+    assertEquals("me", stalker.getActorId());
+
     TaskInstance changeNappy = (TaskInstance) taskMgmtInstance.getTaskInstances()
       .iterator()
       .next();
-    SwimlaneInstance stalker = taskMgmtInstance.getSwimlaneInstance("stalker");
-    assertNotNull(stalker);
-    assertEquals(1, invocationCount);
-    assertEquals("me", stalker.getActorId());
     assertEquals("me", changeNappy.getActorId());
-
+    
     changeNappy.end();
-
-    Token token = processInstance.getRootToken();
-    TaskInstance beautySleep = (TaskInstance) taskMgmtInstance.getUnfinishedTasks(token)
+    TaskInstance beautySleep = (TaskInstance) taskMgmtInstance.getUnfinishedTasks(processInstance.getRootToken())
       .iterator()
       .next();
     assertEquals("me", beautySleep.getActorId());
@@ -139,12 +140,12 @@
     processInstance.signal();
 
     TaskMgmtInstance taskMgmtInstance = processInstance.getTaskMgmtInstance();
+    SwimlaneInstance stalker = taskMgmtInstance.getSwimlaneInstance("stalker");
+    assertEquals("johndoe", stalker.getActorId());
+
     TaskInstance changeNappy = (TaskInstance) taskMgmtInstance.getTaskInstances()
       .iterator()
       .next();
-    SwimlaneInstance stalker = taskMgmtInstance.getSwimlaneInstance("stalker");
-    assertNotNull(stalker);
-    assertEquals("johndoe", stalker.getActorId());
     assertEquals("johndoe", changeNappy.getActorId());
   }
 
@@ -165,34 +166,29 @@
     processInstance.signal();
 
     TaskMgmtInstance taskMgmtInstance = processInstance.getTaskMgmtInstance();
+    SwimlaneInstance stalker = taskMgmtInstance.getSwimlaneInstance("stalker");
+    assertNull(stalker.getActorId());
+
     TaskInstance changeNappy = (TaskInstance) taskMgmtInstance.getTaskInstances()
       .iterator()
       .next();
-    SwimlaneInstance stalker = taskMgmtInstance.getSwimlaneInstance("stalker");
-    assertNotNull(stalker);
-    assertNull(stalker.getActorId());
     assertNull(changeNappy.getActorId());
 
     Set retrievedSwimlaneInstancePooledActorIds = new HashSet();
-    Iterator iter = stalker.getPooledActors().iterator();
-    while (iter.hasNext()) {
+    for (Iterator iter = stalker.getPooledActors().iterator(); iter.hasNext();) {
       PooledActor pooledActor = (PooledActor) iter.next();
       retrievedSwimlaneInstancePooledActorIds.add(pooledActor.getActorId());
     }
-
     Set expectedPooledActorIds = new HashSet();
     expectedPooledActorIds.add("hippies");
     expectedPooledActorIds.add("hells angles");
-
     assertEquals(expectedPooledActorIds, retrievedSwimlaneInstancePooledActorIds);
 
     Set retrievedTaskInstancePooledActorIds = new HashSet();
-    iter = changeNappy.getPooledActors().iterator();
-    while (iter.hasNext()) {
+    for (Iterator iter = changeNappy.getPooledActors().iterator(); iter.hasNext();) {
       PooledActor pooledActor = (PooledActor) iter.next();
       retrievedTaskInstancePooledActorIds.add(pooledActor.getActorId());
     }
-
     assertEquals(expectedPooledActorIds, retrievedTaskInstancePooledActorIds);
   }
 
@@ -213,16 +209,15 @@
     processInstance.signal();
 
     TaskMgmtInstance taskMgmtInstance = processInstance.getTaskMgmtInstance();
+    SwimlaneInstance stalker = taskMgmtInstance.getSwimlaneInstance("stalker");
+    assertNull(stalker.getActorId());
+
     TaskInstance changeNappy = (TaskInstance) taskMgmtInstance.getTaskInstances()
       .iterator()
       .next();
-    SwimlaneInstance stalker = taskMgmtInstance.getSwimlaneInstance("stalker");
-    assertNotNull(stalker);
-    assertNull(stalker.getActorId());
     assertNull(changeNappy.getActorId());
-
+    
     changeNappy.setActorId("johndoe");
-
     assertEquals("johndoe", stalker.getActorId());
     assertEquals("johndoe", changeNappy.getActorId());
   }
@@ -244,17 +239,16 @@
     processInstance.signal();
 
     TaskMgmtInstance taskMgmtInstance = processInstance.getTaskMgmtInstance();
+    SwimlaneInstance stalker = taskMgmtInstance.getSwimlaneInstance("stalker");
+    assertNull(stalker.getActorId());
+
     TaskInstance changeNappy = (TaskInstance) taskMgmtInstance.getTaskInstances()
       .iterator()
       .next();
-    SwimlaneInstance stalker = taskMgmtInstance.getSwimlaneInstance("stalker");
-    assertNotNull(stalker);
-    assertNull(stalker.getActorId());
     assertNull(changeNappy.getActorId());
 
     changeNappy.setActorId("johndoe");
     changeNappy.setActorId("joesmoe");
-
     assertEquals("joesmoe", stalker.getActorId());
     assertEquals("joesmoe", changeNappy.getActorId());
   }
@@ -276,16 +270,15 @@
     processInstance.signal();
 
     TaskMgmtInstance taskMgmtInstance = processInstance.getTaskMgmtInstance();
+    SwimlaneInstance stalker = taskMgmtInstance.getSwimlaneInstance("stalker");
+    assertNull(stalker.getActorId());
+
     TaskInstance changeNappy = (TaskInstance) taskMgmtInstance.getTaskInstances()
       .iterator()
       .next();
-    SwimlaneInstance stalker = taskMgmtInstance.getSwimlaneInstance("stalker");
-    assertNotNull(stalker);
-    assertNull(stalker.getActorId());
     assertNull(changeNappy.getActorId());
 
     stalker.setActorId("johndoe");
-
     assertEquals("johndoe", stalker.getActorId());
     assertNull(changeNappy.getActorId());
   }
@@ -325,8 +318,7 @@
     assertEquals("johndoe", makeBottle.getActorId());
 
     Set retrievedTaskInstancePooledActorIds = new HashSet();
-    Iterator iter = makeBottle.getPooledActors().iterator();
-    while (iter.hasNext()) {
+    for (Iterator iter = makeBottle.getPooledActors().iterator(); iter.hasNext();) {
       PooledActor pooledActor = (PooledActor) iter.next();
       retrievedTaskInstancePooledActorIds.add(pooledActor.getActorId());
     }
@@ -334,7 +326,6 @@
     Set expectedPooledActorIds = new HashSet();
     expectedPooledActorIds.add("hippies");
     expectedPooledActorIds.add("hells angles");
-
     assertEquals(expectedPooledActorIds, retrievedTaskInstancePooledActorIds);
   }
 
@@ -361,13 +352,15 @@
     processInstance.signal();
 
     TaskMgmtInstance taskMgmtInstance = processInstance.getTaskMgmtInstance();
+    SwimlaneInstance stalker = taskMgmtInstance.getSwimlaneInstance("hero");
+    stalker.setPooledActors(new String[] {
+      "footballers", "hooligans", "stewards"
+    });
+    
     TaskInstance changeNappy = (TaskInstance) taskMgmtInstance.getTaskInstances()
       .iterator()
       .next();
-    SwimlaneInstance stalker = taskMgmtInstance.getSwimlaneInstance("hero");
     changeNappy.setActorId("johndoe");
-    stalker.setPooledActors(new String[] { "footballers", "hooligans", "stewards" });
-
     changeNappy.end();
 
     Token token = processInstance.getRootToken();
@@ -377,17 +370,14 @@
     assertEquals("johndoe", makeBottle.getActorId());
 
     Set retrievedTaskInstancePooledActorIds = new HashSet();
-    Iterator iter = makeBottle.getPooledActors().iterator();
-    while (iter.hasNext()) {
+    for (Iterator iter = makeBottle.getPooledActors().iterator(); iter.hasNext();) {
       PooledActor pooledActor = (PooledActor) iter.next();
       retrievedTaskInstancePooledActorIds.add(pooledActor.getActorId());
     }
-
     Set expectedPooledActorIds = new HashSet();
     expectedPooledActorIds.add("footballers");
     expectedPooledActorIds.add("hooligans");
     expectedPooledActorIds.add("stewards");
-
     assertEquals(expectedPooledActorIds, retrievedTaskInstancePooledActorIds);
   }
 
@@ -413,18 +403,24 @@
     ProcessInstance processInstance = new ProcessInstance(processDefinition);
     processInstance.signal();
 
+    ContextInstance contextInstance = processInstance.getContextInstance();
+    Integer count = (Integer) contextInstance.getVariable("count");
+    assertEquals(1, count.intValue());
+
     TaskMgmtInstance taskMgmtInstance = processInstance.getTaskMgmtInstance();
     TaskInstance changeNappy = (TaskInstance) taskMgmtInstance.getTaskInstances()
       .iterator()
       .next();
     assertEquals("me", changeNappy.getActorId());
-    assertEquals(1, invocationCount);
+    
     changeNappy.end();
+    TaskInstance makeBottle = (TaskInstance) taskMgmtInstance.getUnfinishedTasks(processInstance.getRootToken())
+      .iterator()
+      .next();
+    assertEquals("me", makeBottle.getActorId());
 
-    TaskInstance makeBottle = (TaskInstance) taskMgmtInstance.getUnfinishedTasks(
-      processInstance.getRootToken()).iterator().next();
-    assertEquals("me", makeBottle.getActorId());
-    assertEquals(1, invocationCount);
+    count = (Integer) contextInstance.getVariable("count");
+    assertEquals(1, count.intValue());
   }
 
   public static class MultipleAssignmentHandler implements AssignmentHandler {
@@ -432,8 +428,13 @@
 
     public void assign(Assignable assignable, ExecutionContext executionContext)
       throws Exception {
-      invocationCount++;
-      assignable.setPooledActors(new String[] { "me", "you", "them" });
+      Integer count = (Integer) executionContext.getVariable("count");
+      executionContext.setVariable("count", new Integer(count != null ? count.intValue() + 1
+        : 1));
+
+      assignable.setPooledActors(new String[] {
+        "me", "you", "them"
+      });
     }
   }
 
@@ -452,6 +453,10 @@
 
     ProcessInstance processInstance = new ProcessInstance(processDefinition);
     processInstance.signal();
+
+    Integer count = (Integer) processInstance.getContextInstance().getVariable("count");
+    assertEquals(1, count.intValue());
+
     TaskMgmtInstance taskMgmtInstance = processInstance.getTaskMgmtInstance();
     TaskInstance changeNappy = (TaskInstance) taskMgmtInstance.getTaskInstances()
       .iterator()
@@ -460,11 +465,11 @@
 
     Set pooledActors = changeNappy.getPooledActors();
     assertEquals(3, pooledActors.size());
-    assertEquals(1, invocationCount);
 
-    List expectedPooledActorIds = Arrays.asList(new String[] { "me", "you", "them" });
-    Iterator iter = pooledActors.iterator();
-    while (iter.hasNext()) {
+    List expectedPooledActorIds = Arrays.asList(new String[] {
+      "me", "you", "them"
+    });
+    for (Iterator iter = pooledActors.iterator(); iter.hasNext();) {
       PooledActor pooledActor = (PooledActor) iter.next();
       assertTrue(expectedPooledActorIds.contains(pooledActor.getActorId()));
     }
@@ -491,22 +496,24 @@
 
     ProcessInstance processInstance = new ProcessInstance(processDefinition);
     processInstance.signal();
+
+    Integer count = (Integer) processInstance.getContextInstance().getVariable("count");
+    assertEquals(1, count.intValue());
+
     TaskMgmtInstance taskMgmtInstance = processInstance.getTaskMgmtInstance();
-    SwimlaneInstance swimlaneInstance = taskMgmtInstance.getSwimlaneInstance("hero");
     TaskInstance changeNappy = (TaskInstance) taskMgmtInstance.getTaskInstances()
       .iterator()
       .next();
-
     assertNull(changeNappy.getActorId());
     assertEquals(3, changeNappy.getPooledActors().size());
+
+    SwimlaneInstance swimlaneInstance = taskMgmtInstance.getSwimlaneInstance("hero");
     assertEquals(changeNappy.getPooledActors(), swimlaneInstance.getPooledActors());
-
+    
     changeNappy.end();
-
-    assertEquals(1, invocationCount);
-
-    TaskInstance makeBottle = (TaskInstance) taskMgmtInstance.getUnfinishedTasks(
-      processInstance.getRootToken()).iterator().next();
+    TaskInstance makeBottle = (TaskInstance) taskMgmtInstance.getUnfinishedTasks(processInstance.getRootToken())
+      .iterator()
+      .next();
     assertNull(makeBottle.getActorId());
     assertEquals(3, makeBottle.getPooledActors().size());
     assertEquals(makeBottle.getPooledActors(), swimlaneInstance.getPooledActors());
@@ -533,24 +540,25 @@
 
     ProcessInstance processInstance = new ProcessInstance(processDefinition);
     processInstance.signal();
+    
+    Integer count = (Integer) processInstance.getContextInstance().getVariable("count");
+    assertEquals(1, count.intValue());
+
     TaskMgmtInstance taskMgmtInstance = processInstance.getTaskMgmtInstance();
     SwimlaneInstance swimlaneInstance = taskMgmtInstance.getSwimlaneInstance("hero");
     TaskInstance changeNappy = (TaskInstance) taskMgmtInstance.getTaskInstances()
       .iterator()
       .next();
     changeNappy.setActorId("should-be-one-of-the-actors-in-the-pool-but-doesnt-have-to");
-
     assertEquals("should-be-one-of-the-actors-in-the-pool-but-doesnt-have-to",
       changeNappy.getActorId());
     assertEquals(3, changeNappy.getPooledActors().size());
     assertEquals(changeNappy.getPooledActors(), swimlaneInstance.getPooledActors());
 
     changeNappy.end();
-
-    assertEquals(1, invocationCount);
-
-    TaskInstance makeBottle = (TaskInstance) taskMgmtInstance.getUnfinishedTasks(
-      processInstance.getRootToken()).iterator().next();
+    TaskInstance makeBottle = (TaskInstance) taskMgmtInstance.getUnfinishedTasks(processInstance.getRootToken())
+      .iterator()
+      .next();
     assertEquals("should-be-one-of-the-actors-in-the-pool-but-doesnt-have-to",
       makeBottle.getActorId());
     assertEquals(3, makeBottle.getPooledActors().size());
@@ -583,12 +591,12 @@
 
     TaskMgmtInstance taskMgmtInstance = processInstance.getTaskMgmtInstance();
     SwimlaneInstance swimlaneInstance = taskMgmtInstance.getSwimlaneInstance("hero");
+    assertNull(swimlaneInstance.getActorId());
+    assertNull(swimlaneInstance.getPooledActors());
+
     TaskInstance changeNappy = (TaskInstance) taskMgmtInstance.getTaskInstances()
       .iterator()
       .next();
-
-    assertNull(swimlaneInstance.getActorId());
-    assertNull(swimlaneInstance.getPooledActors());
     assertNull(changeNappy.getActorId());
     assertNull(changeNappy.getPooledActors());
   }

Modified: jbpm3/branches/jbpm-3.2-soa/db/pom.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/db/pom.xml	2010-10-28 02:12:59 UTC (rev 6788)
+++ jbpm3/branches/jbpm-3.2-soa/db/pom.xml	2010-10-29 07:04:27 UTC (rev 6789)
@@ -105,12 +105,14 @@
                 <condition property="skip">
                   <equals arg1="${database}" arg2="hsqldb" />
                 </condition>
-                <condition property="delimiter" value="go" else=";">
+                <condition property="delimiter" value="" else=";">
                   <equals arg1="${database}" arg2="sybase" />
                 </condition>
+                <!-- JBPM-2971 DatabaseInitializer does not support alternate delimiters
                 <condition property="delimitertype" value="row" else="normal">
                   <equals arg1="${database}" arg2="sybase" />
                 </condition>
+                -->
                 <ant antfile="scripts/antrun-jbpmschema.xml" target="update-schema"
                   inheritRefs="true" />
               </tasks>
@@ -154,7 +156,6 @@
       <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>sql-maven-plugin</artifactId>
-
         <executions>
           <execution>
             <id>drop-current-schema</id>
@@ -489,13 +490,35 @@
               <url>${jdbc.sybase.url}</url>
               <username>${jdbc.sybase.username}</username>
               <password>${jdbc.sybase.password}</password>
-              <delimiter>go</delimiter>
+              <delimiter />
+              <!-- JBPM-2971 DatabaseInitializer does not support alternate delimiters
               <delimiterType>row</delimiterType>
+              -->
             </configuration>
           </plugin>
+
+          <plugin>
+          	<artifactId>maven-antrun-plugin</artifactId>
+          	<executions>
+          		<execution>
+          			<id>remove-row-delimiters</id>
+          			<phase>process-resources</phase>
+          			<goals>
+          				<goal>run</goal>
+          			</goals>
+                <configuration>
+                  <tasks>
+                    <replace file="${previous.version.directory}/jbpm.jpdl.${database}.sql">
+                      <replacetoken><![CDATA[go
+]]></replacetoken>
+                    </replace>
+                  </tasks>
+                </configuration>
+          		</execution>
+          	</executions>
+          </plugin>
         </plugins>
       </build>
     </profile>
-
   </profiles>
 </project>

Modified: jbpm3/branches/jbpm-3.2-soa/db/scripts/antrun-jbpmschema.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/db/scripts/antrun-jbpmschema.xml	2010-10-28 02:12:59 UTC (rev 6788)
+++ jbpm3/branches/jbpm-3.2-soa/db/scripts/antrun-jbpmschema.xml	2010-10-29 07:04:27 UTC (rev 6789)
@@ -37,11 +37,11 @@
     <jbpmschema output="${project.output.dir}/jbpm.jpdl.postgresql.sql"
                 config="hibernate.cfg.postgresql.xml"
                 action="create" />
+    <!-- JBPM-2971 DatabaseInitializer does not support alternate delimiters -->
     <jbpmschema output="${project.output.dir}/jbpm.jpdl.sybase.sql"
                 config="hibernate.cfg.sybase.xml"
                 action="create"
-                delimiter="go"
-                delimiterType="row" />
+                delimiter="" />
   </target>
 
   <target name="drop-schema" depends="init" description="Generate schema drop scripts">
@@ -63,21 +63,21 @@
     <jbpmschema output="${project.output.dir}/jbpm.jpdl.postgresql.drop.sql"
                 config="hibernate.cfg.postgresql.xml"
                 action="drop" />
+    <!-- JBPM-2971 DatabaseInitializer does not support alternate delimiters -->
     <jbpmschema output="${project.output.dir}/jbpm.jpdl.sybase.drop.sql"
                 config="hibernate.cfg.sybase.xml"
                 action="drop"
-                delimiter="go"
-                delimiterType="row" />
+                delimiter="" />
   </target>
 
   <target name="update-schema"
           depends="init"
           unless="skip"
           description="Generate schema update scripts">
+    <!-- JBPM-2971 DatabaseInitializer does not support alternate delimiters -->
     <jbpmschema output="${project.output.dir}/jbpm.jpdl.${database}.update.sql"
                 config="hibernate.cfg.${database}.xml"
                 action="update"
-                delimiter="${delimiter}"
-                delimiterType="${delimitertype}" />
+                delimiter="${delimiter}" />
   </target>
 </project>



More information about the jbpm-commits mailing list