JBoss JBPM SVN: r2600 - jbpm3/trunk/modules/core/src/main/java/org/jbpm/instantiation.
by do-not-reply@jboss.org
Author: camunda
Date: 2008-10-23 09:39:39 -0400 (Thu, 23 Oct 2008)
New Revision: 2600
Modified:
jbpm3/trunk/modules/core/src/main/java/org/jbpm/instantiation/Delegation.java
Log:
added comments on selecting class loader for delegation
Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/instantiation/Delegation.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/instantiation/Delegation.java 2008-10-23 12:18:48 UTC (rev 2599)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/instantiation/Delegation.java 2008-10-23 13:39:39 UTC (rev 2600)
@@ -132,7 +132,11 @@
Object newInstance = null;
- // find the classloader to use
+ // The thread class loader was set before the instantiation correctly
+ // to the ProcesClassLoader which can be directly used here
+ // If we would construct a JbpmConfiguration.getProcessClassLoder here
+ // we would have the hierarchy ProcessClassLoader -> ProcessClassLoader -> Context...
+ // this is one ProcessClassLoader too much
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
// load the class that needs to be instantiated
17 years, 6 months
JBoss JBPM SVN: r2599 - jbpm3/trunk.
by do-not-reply@jboss.org
Author: heiko.braun(a)jboss.com
Date: 2008-10-23 08:18:48 -0400 (Thu, 23 Oct 2008)
New Revision: 2599
Modified:
jbpm3/trunk/pom.xml
Log:
Add jboss repositories back to pom.xml
Modified: jbpm3/trunk/pom.xml
===================================================================
--- jbpm3/trunk/pom.xml 2008-10-23 09:09:59 UTC (rev 2598)
+++ jbpm3/trunk/pom.xml 2008-10-23 12:18:48 UTC (rev 2599)
@@ -389,6 +389,14 @@
</site>
</distributionManagement>
+ <!-- Repositories -->
+ <repositories>
+ <repository>
+ <id>repository.jboss.org</id>
+ <url>http://repository.jboss.org/maven2</url>
+ </repository>
+ </repositories>
+
<!-- Profiles -->
<profiles>
17 years, 6 months
JBoss JBPM SVN: r2597 - in projects: gwt-console and 1 other directory.
by do-not-reply@jboss.org
Author: heiko.braun(a)jboss.com
Date: 2008-10-23 05:03:07 -0400 (Thu, 23 Oct 2008)
New Revision: 2597
Added:
projects/gwt-console/
projects/gwt-console/branches/
projects/gwt-console/tags/
projects/gwt-console/trunk/
Removed:
projects/bak/
Log:
new trunk code base
Copied: projects/gwt-console/trunk (from rev 2596, projects/bak)
17 years, 6 months
JBoss JBPM SVN: r2596 - in projects: bak and 1 other directory.
by do-not-reply@jboss.org
Author: heiko.braun(a)jboss.com
Date: 2008-10-23 05:00:45 -0400 (Thu, 23 Oct 2008)
New Revision: 2596
Added:
projects/bak/
projects/bak/pom.xml
Removed:
projects/bak/pom.xml
projects/gwt-console/
Log:
Move on..
Copied: projects/bak (from rev 2592, projects/gwt-console)
Deleted: projects/bak/pom.xml
===================================================================
--- projects/gwt-console/pom.xml 2008-10-23 08:34:28 UTC (rev 2592)
+++ projects/bak/pom.xml 2008-10-23 09:00:45 UTC (rev 2596)
@@ -1,100 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <name>JBoss jBPM3 - GWT Console</name>
- <groupId>org.jbpm.jbpm3</groupId>
- <artifactId>gwt-console-parent</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- <packaging>pom</packaging>
-
- <!-- Parent -->
- <parent>
- <groupId>org.jbpm.jbpm3</groupId>
- <artifactId>jbpm</artifactId>
- <version>3.3.0-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
-
- <properties>
- <gchart.version>2.2</gchart.version>
- <gwtext.version>2.0.5</gwtext.version>
- <stax-api.version>1.0-2</stax-api.version>
- <jaf.version>1.1</jaf.version>
- <resteasy.version>1.0-beta-8</resteasy.version>
- <gson.version>1.2.2</gson.version>
- <commons.fileupload.version>1.2.1</commons.fileupload.version>
- <commons.io.version>1.3.2</commons.io.version>
- <jbpm.version>3.3.0-SNAPSHOT</jbpm.version>
- </properties>
-
- <modules>
- <module>rpc</module>
- <module>server</module>
- <module>war</module>
- </modules>
-
- <dependencyManagement>
- <dependencies>
-
- <!-- JBPM -->
- <dependency>
- <groupId>org.jbpm.jbpm3</groupId>
- <artifactId>jbpm-core</artifactId>
- <scope>provided</scope>
- <version>${jbpm.version}</version>
- </dependency>
- <dependency>
- <groupId>org.jbpm.jbpm3</groupId>
- <artifactId>jbpm-enterprise-beans</artifactId>
- <scope>provided</scope>
- <version>${jbpm.version}</version>
- </dependency>
-
- <!-- GET related -->
- <dependency>
- <groupId>com.gwtext</groupId>
- <artifactId>gwtext</artifactId>
- <version>${gwtext.version}</version>
- </dependency>
- <dependency>
- <groupId>com.google.gwt</groupId>
- <artifactId>gchart</artifactId>
- <version>${gchart.version}</version>
- </dependency>
- <dependency>
- <groupId>com.google.code.gson</groupId>
- <artifactId>gson</artifactId>
- <version>${gson.version}</version>
- </dependency>
-
- <!-- Other -->
- <dependency>
- <groupId>javax.xml.stream</groupId>
- <artifactId>stax-api</artifactId>
- <version>${stax-api.version}</version>
- </dependency>
- <dependency>
- <groupId>javax.activation</groupId>
- <artifactId>activation</artifactId>
- <version>${jaf.version}</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-jaxrs</artifactId>
- <version>${resteasy.version}</version>
- </dependency>
-
- <dependency>
- <groupId>commons-fileupload</groupId>
- <artifactId>commons-fileupload</artifactId>
- <version>${commons.fileupload.version}</version>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>${commons.io.version}</version>
- </dependency>
-
- </dependencies>
- </dependencyManagement>
-</project>
Copied: projects/bak/pom.xml (from rev 2595, projects/gwt-console/pom.xml)
===================================================================
--- projects/bak/pom.xml (rev 0)
+++ projects/bak/pom.xml 2008-10-23 09:00:45 UTC (rev 2596)
@@ -0,0 +1,126 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <name>JBoss jBPM3 - GWT Console</name>
+ <groupId>org.jbpm.jbpm3</groupId>
+ <artifactId>gwt-console-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <!-- Parent -->
+ <parent>
+ <groupId>org.jbpm.jbpm3</groupId>
+ <artifactId>jbpm</artifactId>
+ <version>3.3.0-SNAPSHOT</version>
+ </parent>
+
+ <properties>
+ <gwt.version>1.5.2</gwt.version>
+ <gchart.version>2.2</gchart.version>
+ <gwtext.version>2.0.5</gwtext.version>
+ <stax-api.version>1.0-2</stax-api.version>
+ <jaf.version>1.1</jaf.version>
+ <resteasy.version>1.0-beta-8</resteasy.version>
+ <gson.version>1.2.2</gson.version>
+ <commons.fileupload.version>1.2.1</commons.fileupload.version>
+ <commons.io.version>1.3.2</commons.io.version>
+ <jbpm.version>3.3.0-SNAPSHOT</jbpm.version>
+ </properties>
+
+ <modules>
+ <module>rpc</module>
+ <module>server</module>
+ <module>war</module>
+ </modules>
+
+ <dependencyManagement>
+ <dependencies>
+
+ <!-- JBPM -->
+ <dependency>
+ <groupId>org.jbpm.jbpm3</groupId>
+ <artifactId>jbpm-core</artifactId>
+ <scope>provided</scope>
+ <version>${jbpm.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jbpm.jbpm3</groupId>
+ <artifactId>jbpm-enterprise-beans</artifactId>
+ <scope>provided</scope>
+ <version>${jbpm.version}</version>
+ </dependency>
+
+ <!-- GET related -->
+ <dependency>
+ <groupId>com.google.gwt</groupId>
+ <artifactId>gwt-servlet</artifactId>
+ <version>${gwt.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.gwt</groupId>
+ <artifactId>gwt-user</artifactId>
+ <version>${gwt.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.gwtext</groupId>
+ <artifactId>gwtext</artifactId>
+ <version>${gwtext.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.gwt</groupId>
+ <artifactId>gchart</artifactId>
+ <version>${gchart.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ <version>${gson.version}</version>
+ </dependency>
+
+ <!-- Other -->
+ <dependency>
+ <groupId>javax.xml.stream</groupId>
+ <artifactId>stax-api</artifactId>
+ <version>${stax-api.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.activation</groupId>
+ <artifactId>activation</artifactId>
+ <version>${jaf.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-jaxrs</artifactId>
+ <version>${resteasy.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>commons-fileupload</groupId>
+ <artifactId>commons-fileupload</artifactId>
+ <version>${commons.fileupload.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>${commons.io.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+ <!-- Repositories -->
+ <repositories>
+ <repository>
+ <id>repository.jboss.org</id>
+ <url>http://repository.jboss.org/maven2</url>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>gwt-maven</id>
+ <url>http://gwt-maven.googlecode.com/svn/trunk/mavenrepo</url>
+ </pluginRepository>
+ </pluginRepositories>
+
+</project>
17 years, 6 months
JBoss JBPM SVN: r2595 - projects/gwt-console.
by do-not-reply@jboss.org
Author: heiko.braun(a)jboss.com
Date: 2008-10-23 04:59:51 -0400 (Thu, 23 Oct 2008)
New Revision: 2595
Modified:
projects/gwt-console/pom.xml
Log:
Clean dependencies
Modified: projects/gwt-console/pom.xml
===================================================================
--- projects/gwt-console/pom.xml 2008-10-23 08:56:49 UTC (rev 2594)
+++ projects/gwt-console/pom.xml 2008-10-23 08:59:51 UTC (rev 2595)
@@ -12,10 +12,10 @@
<groupId>org.jbpm.jbpm3</groupId>
<artifactId>jbpm</artifactId>
<version>3.3.0-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
</parent>
<properties>
+ <gwt.version>1.5.2</gwt.version>
<gchart.version>2.2</gchart.version>
<gwtext.version>2.0.5</gwtext.version>
<stax-api.version>1.0-2</stax-api.version>
@@ -52,6 +52,17 @@
<!-- GET related -->
<dependency>
+ <groupId>com.google.gwt</groupId>
+ <artifactId>gwt-servlet</artifactId>
+ <version>${gwt.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.gwt</groupId>
+ <artifactId>gwt-user</artifactId>
+ <version>${gwt.version}</version>
+ </dependency>
+
+ <dependency>
<groupId>com.gwtext</groupId>
<artifactId>gwtext</artifactId>
<version>${gwtext.version}</version>
@@ -97,4 +108,19 @@
</dependencies>
</dependencyManagement>
+
+ <!-- Repositories -->
+ <repositories>
+ <repository>
+ <id>repository.jboss.org</id>
+ <url>http://repository.jboss.org/maven2</url>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>gwt-maven</id>
+ <url>http://gwt-maven.googlecode.com/svn/trunk/mavenrepo</url>
+ </pluginRepository>
+ </pluginRepositories>
+
</project>
17 years, 6 months
JBoss JBPM SVN: r2594 - jbpm3/trunk/modules/core/src/main/java/org/jbpm/db.
by do-not-reply@jboss.org
Author: tom.baeyens(a)jboss.com
Date: 2008-10-23 04:56:49 -0400 (Thu, 23 Oct 2008)
New Revision: 2594
Modified:
jbpm3/trunk/modules/core/src/main/java/org/jbpm/db/JbpmSchema.java
Log:
changed collection of table names. it was based on connection.getTables (which turned out not to be portable across DBs) and now its based on the hibernate mapping information
Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/db/JbpmSchema.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/db/JbpmSchema.java 2008-10-23 08:54:42 UTC (rev 2593)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/db/JbpmSchema.java 2008-10-23 08:56:49 UTC (rev 2594)
@@ -182,27 +182,15 @@
{
// delete all the data in the jbpm tables
List jbpmTableNames = new ArrayList();
- try
+ Iterator iter = configuration.getTableMappings();
+ while (iter.hasNext())
{
- createConnection();
- ResultSet resultSet = connection.getMetaData().getTables(null, null, null, null);
- while (resultSet.next())
+ Table table = (Table)iter.next();
+ if (table.isPhysicalTable())
{
- String tableName = resultSet.getString("TABLE_NAME");
- if ((tableName != null) && (tableName.length() > 5) && (JBPM_TABLE_PREFIX.equalsIgnoreCase(tableName.substring(0, 5))))
- {
- jbpmTableNames.add(tableName);
- }
+ jbpmTableNames.add(table.getName());
}
}
- catch (SQLException e)
- {
- throw new JbpmException("couldn't get the jbpm table names");
- }
- finally
- {
- closeConnection();
- }
return jbpmTableNames;
}
17 years, 6 months
JBoss JBPM SVN: r2593 - jbpm3/trunk.
by do-not-reply@jboss.org
Author: heiko.braun(a)jboss.com
Date: 2008-10-23 04:54:42 -0400 (Thu, 23 Oct 2008)
New Revision: 2593
Modified:
jbpm3/trunk/pom.xml
Log:
Make gwt-console a standalone project
Modified: jbpm3/trunk/pom.xml
===================================================================
--- jbpm3/trunk/pom.xml 2008-10-23 08:34:28 UTC (rev 2592)
+++ jbpm3/trunk/pom.xml 2008-10-23 08:54:42 UTC (rev 2593)
@@ -50,7 +50,6 @@
<dom4j.version>1.6.1</dom4j.version>
<drools.version>4.0.7</drools.version>
<dumbster.version>1.6</dumbster.version>
- <gwt.version>1.5.2</gwt.version>
<hibernate.version>3.2.6.ga</hibernate.version>
<hibernate.annotations.version>3.3.1.GA</hibernate.annotations.version>
<hibernate.validator.version>3.0.0.ga</hibernate.validator.version>
@@ -152,16 +151,6 @@
<version>${dumbster.version}</version>
</dependency>
<dependency>
- <groupId>com.google.gwt</groupId>
- <artifactId>gwt-servlet</artifactId>
- <version>${gwt.version}</version>
- </dependency>
- <dependency>
- <groupId>com.google.gwt</groupId>
- <artifactId>gwt-user</artifactId>
- <version>${gwt.version}</version>
- </dependency>
- <dependency>
<groupId>jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>${jasper.reports.version}</version>
@@ -400,20 +389,6 @@
</site>
</distributionManagement>
- <!-- Repositories -->
- <repositories>
- <repository>
- <id>repository.jboss.org</id>
- <url>http://repository.jboss.org/maven2</url>
- </repository>
- </repositories>
- <pluginRepositories>
- <pluginRepository>
- <id>gwt-maven</id>
- <url>http://gwt-maven.googlecode.com/svn/trunk/mavenrepo</url>
- </pluginRepository>
- </pluginRepositories>
-
<!-- Profiles -->
<profiles>
@@ -426,7 +401,6 @@
<modules>
<module>modules/distribution</module>
<module>modules/userguide</module>
- <module>modules/gwt-console</module>
</modules>
<build>
<plugins>
17 years, 6 months
JBoss JBPM SVN: r2592 - projects.
by do-not-reply@jboss.org
Author: heiko.braun(a)jboss.com
Date: 2008-10-23 04:34:28 -0400 (Thu, 23 Oct 2008)
New Revision: 2592
Added:
projects/gwt-console/
Log:
Start own project for gwt console
Copied: projects/gwt-console (from rev 2591, jbpm3/trunk/modules/gwt-console)
17 years, 6 months
JBoss JBPM SVN: r2591 - in jbpm3/trunk/modules/core/src: test/java/org/jbpm and 7 other directories.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2008-10-22 20:46:08 -0400 (Wed, 22 Oct 2008)
New Revision: 2591
Added:
jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1755/
jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1755/JBPM1755Test.java
jbpm3/trunk/modules/core/src/test/java/org/jbpm/jpdl/exe/JoinExecutionDbTest.java
jbpm3/trunk/modules/core/src/test/resources/org/jbpm/jbpm1755/
jbpm3/trunk/modules/core/src/test/resources/org/jbpm/jbpm1755/gpd.xml
jbpm3/trunk/modules/core/src/test/resources/org/jbpm/jbpm1755/parallelprocess.xml
Removed:
jbpm3/trunk/modules/core/src/test/java/org/jbpm/jpdl/exe/JoinDbTest.java
Modified:
jbpm3/trunk/modules/core/src/main/java/org/jbpm/db/AbstractDbTestCase.java
jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1072/JBPM1072Test.java
jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1135/JBPM1135Test.java
jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1452/JBPM1452Test.java
Log:
added another test class for JBPM-1755, based on support case
reorganized some other tests that rely on EventCallback
Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/db/AbstractDbTestCase.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/db/AbstractDbTestCase.java 2008-10-23 00:33:38 UTC (rev 2590)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/db/AbstractDbTestCase.java 2008-10-23 00:46:08 UTC (rev 2591)
@@ -118,15 +118,8 @@
protected void newTransaction()
{
- try
- {
- commitAndCloseSession();
- beginSessionTransaction();
- }
- catch (Throwable t)
- {
- throw new RuntimeException("couldn't commit and start new transaction", t);
- }
+ commitAndCloseSession();
+ beginSessionTransaction();
}
public ProcessInstance saveAndReload(ProcessInstance pi)
@@ -308,11 +301,6 @@
{
processAllJobs(maxWait, maxJobs);
}
- catch (Exception e)
- {
- e.printStackTrace();
- throw new RuntimeException(e);
- }
finally
{
stopJobExecutor();
Modified: jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1072/JBPM1072Test.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1072/JBPM1072Test.java 2008-10-23 00:33:38 UTC (rev 2590)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1072/JBPM1072Test.java 2008-10-23 00:46:08 UTC (rev 2591)
@@ -80,6 +80,7 @@
@Override
protected void tearDown() throws Exception {
+ EventCallback.clear();
graphSession.deleteProcessDefinition(processDefinition);
super.tearDown();
}
Modified: jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1135/JBPM1135Test.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1135/JBPM1135Test.java 2008-10-23 00:33:38 UTC (rev 2590)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1135/JBPM1135Test.java 2008-10-23 00:46:08 UTC (rev 2591)
@@ -28,51 +28,54 @@
import org.jbpm.graph.exe.ProcessInstance;
/**
- * JobSession.deleteJobsForProcessInstance doesn't work if jbpm isn't the transaction manager
+ * JobSession.deleteJobsForProcessInstance doesn't work if jbpm isn't the
+ * transaction manager
*
* https://jira.jboss.org/jira/browse/JBPM-1135
*
* @author Alejandro Guizar
*/
-public class JBPM1135Test extends AbstractDbTestCase
-{
+public class JBPM1135Test extends AbstractDbTestCase {
- public void testTimerOnTimer()
- {
+ private long processDefinitionId;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("org/jbpm/jbpm1135/timerprocess.xml");
jbpmContext.deployProcessDefinition(processDefinition);
- try
- {
- ProcessInstance processInstance = jbpmContext.newProcessInstanceForUpdate("timerProcess");
- processInstance.getContextInstance().setVariable("eventCallback", new EventCallback());
- processInstance.signal();
- assertEquals("firstNode", processInstance.getRootToken().getNode().getName());
- commitAndCloseSession();
+ processDefinitionId = processDefinition.getId();
+ startJobExecutor();
+ }
- startJobExecutor();
- try
- {
- EventCallback.waitForEvent(Event.EVENTTYPE_TIMER);
- beginSessionTransaction();
- long processInstanceId = processInstance.getId();
- assertEquals("secondNode", jbpmContext.loadProcessInstance(processInstanceId)
- .getRootToken()
- .getNode()
- .getName());
- commitAndCloseSession();
+ @Override
+ protected void tearDown() throws Exception {
+ EventCallback.clear();
+ stopJobExecutor();
+ graphSession.deleteProcessDefinition(processDefinitionId);
+ super.tearDown();
+ }
- EventCallback.waitForEvent(Event.EVENTTYPE_PROCESS_END);
- beginSessionTransaction();
- assertTrue(jbpmContext.loadProcessInstance(processInstanceId).hasEnded());
- }
- finally
- {
- stopJobExecutor();
- }
- }
- finally
- {
- jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
- }
+ public void testTimerOnTimer() {
+ ProcessDefinition processDefinition = graphSession.loadProcessDefinition(processDefinitionId);
+ ProcessInstance processInstance = new ProcessInstance(processDefinition);
+ processInstance.getContextInstance().setVariable("eventCallback", new EventCallback());
+ processInstance.signal();
+ jbpmContext.save(processInstance);
+ assertEquals("firstNode", processInstance.getRootToken().getNode().getName());
+ commitAndCloseSession();
+
+ EventCallback.waitForEvent(Event.EVENTTYPE_TIMER);
+ beginSessionTransaction();
+ long processInstanceId = processInstance.getId();
+ assertEquals("secondNode", jbpmContext.loadProcessInstance(processInstanceId)
+ .getRootToken()
+ .getNode()
+ .getName());
+ commitAndCloseSession();
+
+ EventCallback.waitForEvent(Event.EVENTTYPE_PROCESS_END);
+ beginSessionTransaction();
+ assertTrue(jbpmContext.loadProcessInstance(processInstanceId).hasEnded());
}
}
Modified: jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1452/JBPM1452Test.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1452/JBPM1452Test.java 2008-10-23 00:33:38 UTC (rev 2590)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1452/JBPM1452Test.java 2008-10-23 00:46:08 UTC (rev 2591)
@@ -34,43 +34,52 @@
*
* @author Alejandro Guizar
*/
-public class JBPM1452Test extends AbstractDbTestCase
-{
+public class JBPM1452Test extends AbstractDbTestCase {
- static{
- // making sure System.err and System.out are synchronized
- System.setErr(System.out);
- }
+ private long processDefinitionId;
-@Override
- protected JbpmConfiguration getJbpmConfiguration()
- {
- if (jbpmConfiguration == null)
- {
- jbpmConfiguration = JbpmConfiguration.parseXmlString(
- "<jbpm-configuration>" +
- " <null name='jbpm.job.executor' />" +
- "</jbpm-configuration>");
+ @Override
+ protected JbpmConfiguration getJbpmConfiguration() {
+ if (jbpmConfiguration == null) {
+ jbpmConfiguration = JbpmConfiguration.parseXmlString("<jbpm-configuration>"
+ + " <null name='jbpm.job.executor' />"
+ + "</jbpm-configuration>");
}
return jbpmConfiguration;
}
- public void testNoJobExecutor()
- {
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ ProcessDefinition processDefinition = new ProcessDefinition("Audit");
+ jbpmContext.deployProcessDefinition(processDefinition);
+ processDefinitionId = processDefinition.getId();
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ graphSession.deleteProcessDefinition(processDefinitionId);
+ super.tearDown();
+ }
+
+ public void testNoJobExecutor() {
// check the job executor is properly nullified
ObjectFactory objectFactory = jbpmContext.getObjectFactory();
- assertTrue("expected object factory to have object jbpm.job.executor", objectFactory.hasObject("jbpm.job.executor"));
+ assertTrue("expected object factory to have object jbpm.job.executor",
+ objectFactory.hasObject("jbpm.job.executor"));
assertNull(objectFactory.createObject("jbpm.job.executor"));
// start and end a process instance, no exception should be thrown
- ProcessDefinition processDefinition = new ProcessDefinition("Audit");
- jbpmContext.deployProcessDefinition(processDefinition);
try {
- jbpmContext.newProcessInstanceForUpdate("Audit");
- } catch(Throwable t) {
- t.printStackTrace();
- } finally {
+ ProcessDefinition processDefinition = graphSession.loadProcessDefinition(processDefinitionId);
+ ProcessInstance processInstance = new ProcessInstance(processDefinition);
+ jbpmContext.save(processInstance);
+
newTransaction();
- graphSession.deleteProcessDefinition(processDefinition.getId());
+ processInstance.end();
}
+ catch (RuntimeException e) {
+ jbpmContext.setRollbackOnly();
+ fail("could not end process instance in absence of job executor: " + e);
+ }
}
}
Added: jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1755/JBPM1755Test.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1755/JBPM1755Test.java (rev 0)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1755/JBPM1755Test.java 2008-10-23 00:46:08 UTC (rev 2591)
@@ -0,0 +1,103 @@
+package org.jbpm.jbpm1755;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.hibernate.LockMode;
+import org.jbpm.EventCallback;
+import org.jbpm.db.AbstractDbTestCase;
+import org.jbpm.graph.def.Event;
+import org.jbpm.graph.def.ProcessDefinition;
+import org.jbpm.graph.exe.ProcessInstance;
+import org.jbpm.graph.node.Join;
+
+/**
+ * Allow process author to set the parent token lock mode in the join token.
+ *
+ * https://jira.jboss.org/jira/browse/JBPM-1755
+ *
+ * @author Alejandro Guizar
+ */
+public class JBPM1755Test extends AbstractDbTestCase {
+
+ private long processDefinitionId;
+
+ private static final int processInstanceCount = 5;
+ private static final long maxWaitTime = 10 * 1000;
+ private static final Log log = LogFactory.getLog(JBPM1755Test.class);
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("org/jbpm/jbpm1755/parallelprocess.xml");
+ jbpmContext.deployProcessDefinition(processDefinition);
+ processDefinitionId = processDefinition.getId();
+
+ startJobExecutor();
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ EventCallback.clear();
+ graphSession.deleteProcessDefinition(processDefinitionId);
+ stopJobExecutor();
+ super.tearDown();
+ }
+
+ public void testReadLock() {
+ launchProcessInstances(LockMode.READ);
+ }
+
+ public void testUpgradeLock() {
+ launchProcessInstances(LockMode.UPGRADE);
+ }
+
+ public void testForceLock() {
+ launchProcessInstances(LockMode.FORCE);
+ }
+
+ private void launchProcessInstances(LockMode lockMode) {
+ ProcessDefinition processDefinition = graphSession.loadProcessDefinition(processDefinitionId);
+ Join join = (Join) processDefinition.getNode("join1");
+ join.setParentLockMode(lockMode.toString());
+
+ long[] processInstanceIds = new long[processInstanceCount];
+ for (int i = 0; i < processInstanceCount; i++) {
+ 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));
+ }
+ beginSessionTransaction();
+ }
+
+ 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();
+ try {
+ return jbpmContext.loadProcessInstance(processInstanceId).hasEnded();
+ }
+ finally {
+ commitAndCloseSession();
+ }
+ }
+
+}
Deleted: jbpm3/trunk/modules/core/src/test/java/org/jbpm/jpdl/exe/JoinDbTest.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/jpdl/exe/JoinDbTest.java 2008-10-23 00:33:38 UTC (rev 2590)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/jpdl/exe/JoinDbTest.java 2008-10-23 00:46:08 UTC (rev 2591)
@@ -1,71 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jbpm.jpdl.exe;
-
-import org.jbpm.db.AbstractDbTestCase;
-import org.jbpm.graph.def.ProcessDefinition;
-import org.jbpm.graph.exe.ProcessInstance;
-
-public class JoinDbTest extends AbstractDbTestCase {
-
- public void testJoinPersistence() {
- ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
- "<process-definition>" +
- " <start-state>" +
- " <transition to='f' />" +
- " </start-state>" +
- " <fork name='f'>" +
- " <transition name='a' to='a' />" +
- " <transition name='b' to='b' />" +
- " </fork>" +
- " <state name='a'>" +
- " <transition to='j' />" +
- " </state>" +
- " <state name='b'>" +
- " <transition to='j' />" +
- " </state>" +
- " <join name='j'>" +
- " <transition to='end' />" +
- " </join>" +
- " <end-state name='end'/>" +
- "</process-definition>"
- );
- graphSession.saveProcessDefinition(processDefinition);
- try
- {
- ProcessInstance processInstance = new ProcessInstance(processDefinition);
- processInstance.signal();
- processInstance.findToken("/a").signal();
-
- processInstance = saveAndReload(processInstance);
- processInstance.findToken("/b").signal();
-
- assertEquals("end", processInstance.getRootToken().getNode().getName());
- assertEquals("j", processInstance.findToken("/a").getNode().getName());
- assertEquals("j", processInstance.findToken("/b").getNode().getName());
- }
- finally
- {
- jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
- }
- }
-}
Copied: jbpm3/trunk/modules/core/src/test/java/org/jbpm/jpdl/exe/JoinExecutionDbTest.java (from rev 2587, jbpm3/trunk/modules/core/src/test/java/org/jbpm/jpdl/exe/JoinDbTest.java)
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/jpdl/exe/JoinExecutionDbTest.java (rev 0)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/jpdl/exe/JoinExecutionDbTest.java 2008-10-23 00:46:08 UTC (rev 2591)
@@ -0,0 +1,71 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.jpdl.exe;
+
+import org.jbpm.db.AbstractDbTestCase;
+import org.jbpm.graph.def.ProcessDefinition;
+import org.jbpm.graph.exe.ProcessInstance;
+
+public class JoinExecutionDbTest extends AbstractDbTestCase {
+
+ public void testJoinPersistence() {
+ ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
+ "<process-definition>" +
+ " <start-state>" +
+ " <transition to='f' />" +
+ " </start-state>" +
+ " <fork name='f'>" +
+ " <transition name='a' to='a' />" +
+ " <transition name='b' to='b' />" +
+ " </fork>" +
+ " <state name='a'>" +
+ " <transition to='j' />" +
+ " </state>" +
+ " <state name='b'>" +
+ " <transition to='j' />" +
+ " </state>" +
+ " <join name='j'>" +
+ " <transition to='end' />" +
+ " </join>" +
+ " <end-state name='end'/>" +
+ "</process-definition>"
+ );
+ graphSession.saveProcessDefinition(processDefinition);
+ try
+ {
+ ProcessInstance processInstance = new ProcessInstance(processDefinition);
+ processInstance.signal();
+ processInstance.findToken("/a").signal();
+
+ processInstance = saveAndReload(processInstance);
+ processInstance.findToken("/b").signal();
+
+ assertEquals("end", processInstance.getRootToken().getNode().getName());
+ assertEquals("j", processInstance.findToken("/a").getNode().getName());
+ assertEquals("j", processInstance.findToken("/b").getNode().getName());
+ }
+ finally
+ {
+ jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
+ }
+ }
+}
Added: jbpm3/trunk/modules/core/src/test/resources/org/jbpm/jbpm1755/gpd.xml
===================================================================
--- jbpm3/trunk/modules/core/src/test/resources/org/jbpm/jbpm1755/gpd.xml (rev 0)
+++ jbpm3/trunk/modules/core/src/test/resources/org/jbpm/jbpm1755/gpd.xml 2008-10-23 00:46:08 UTC (rev 2591)
@@ -0,0 +1,41 @@
+<?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>
Added: jbpm3/trunk/modules/core/src/test/resources/org/jbpm/jbpm1755/parallelprocess.xml
===================================================================
--- jbpm3/trunk/modules/core/src/test/resources/org/jbpm/jbpm1755/parallelprocess.xml (rev 0)
+++ jbpm3/trunk/modules/core/src/test/resources/org/jbpm/jbpm1755/parallelprocess.xml 2008-10-23 00:46:08 UTC (rev 2591)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<process-definition name="raceCondition" xmlns="urn:jbpm.org:jpdl-3.3">
+
+ <start-state name="start">
+ <transition to="fork1"></transition>
+ </start-state>
+
+ <fork name="fork1">
+ <transition to="node2" name="2"></transition>
+ <transition to="node3" name="3"></transition>
+ <transition to="node1" name="1"></transition>
+ </fork>
+
+ <join name="join1" async="exclusive">
+ <transition to="end"></transition>
+ </join>
+
+ <node name="node2" async="true">
+ <transition to="join1"></transition>
+ </node>
+
+ <node name="node3" async="true">
+ <transition to="join1"></transition>
+ </node>
+
+ <node name="node1" async="true">
+ <transition to="join1"></transition>
+ </node>
+
+ <end-state name="end"></end-state>
+
+ <event type="process-end">
+ <action expression="${eventCallback.processEnd}"></action>
+ </event>
+
+</process-definition>
\ No newline at end of file
17 years, 6 months