[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