[jbpm-commits] JBoss JBPM SVN: r2558 - in jbpm3/branches/tbaeyens/modules/core/src: test/java/org/jbpm/graph/node and 1 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Mon Oct 20 08:21:59 EDT 2008
Author: tom.baeyens at jboss.com
Date: 2008-10-20 08:21:59 -0400 (Mon, 20 Oct 2008)
New Revision: 2558
Modified:
jbpm3/branches/tbaeyens/modules/core/src/main/java/org/jbpm/db/AbstractDbTestCase.java
jbpm3/branches/tbaeyens/modules/core/src/main/java/org/jbpm/db/JbpmSchema.java
jbpm3/branches/tbaeyens/modules/core/src/test/java/org/jbpm/graph/node/ProcessStateDbTest.java
jbpm3/branches/tbaeyens/modules/core/src/test/java/org/jbpm/jbpm1452/JBPM1452Test.java
Log:
test fixes
Modified: jbpm3/branches/tbaeyens/modules/core/src/main/java/org/jbpm/db/AbstractDbTestCase.java
===================================================================
--- jbpm3/branches/tbaeyens/modules/core/src/main/java/org/jbpm/db/AbstractDbTestCase.java 2008-10-20 10:09:11 UTC (rev 2557)
+++ jbpm3/branches/tbaeyens/modules/core/src/main/java/org/jbpm/db/AbstractDbTestCase.java 2008-10-20 12:21:59 UTC (rev 2558)
@@ -49,7 +49,7 @@
{
private static Log log = LogFactory.getLog(AbstractDbTestCase.class);
- private JbpmConfiguration jbpmConfiguration;
+ protected JbpmConfiguration jbpmConfiguration;
protected JbpmContext jbpmContext;
protected SchemaExport schemaExport;
@@ -98,7 +98,7 @@
|| (count != 0)
) {
hasLeftOvers = true;
- System.err.println("FIXME: "+count+" left over records in " + tableName);
+ System.err.println("FIXME: "+getClass().getName()+"."+getName()+" left "+count+" records in " + tableName);
}
}
Modified: jbpm3/branches/tbaeyens/modules/core/src/main/java/org/jbpm/db/JbpmSchema.java
===================================================================
--- jbpm3/branches/tbaeyens/modules/core/src/main/java/org/jbpm/db/JbpmSchema.java 2008-10-20 10:09:11 UTC (rev 2557)
+++ jbpm3/branches/tbaeyens/modules/core/src/main/java/org/jbpm/db/JbpmSchema.java 2008-10-20 12:21:59 UTC (rev 2558)
@@ -117,6 +117,8 @@
{
if (cleanSql == null)
{
+ new SchemaExport(configuration);
+
String catalog = properties.getProperty(Environment.DEFAULT_CATALOG);
String schema = properties.getProperty(Environment.DEFAULT_SCHEMA);
@@ -134,25 +136,16 @@
{
ForeignKey fk = (ForeignKey)subIter.next();
- // Prevent NPE in ForeignKey.isPhysicalConstraint
- // http://opensource.atlassian.com/projects/hibernate/browse/HHH-3479
- if (fk.getReferencedTable() != null)
+ if (fk.isPhysicalConstraint())
{
- if (fk.isPhysicalConstraint())
- {
- // collect the drop foreign key constraint sql
- String sqlDropString = fk.sqlDropString(dialect, catalog, schema);
- dropForeignKeysSql.add(sqlDropString);
+ // collect the drop foreign key constraint sql
+ String sqlDropString = fk.sqlDropString(dialect, catalog, schema);
+ dropForeignKeysSql.add(sqlDropString);
- // and collect the create foreign key constraint sql
- String sqlCreateString = fk.sqlCreateString(dialect, mapping, catalog, schema);
- createForeignKeysSql.add(sqlCreateString);
- }
+ // and collect the create foreign key constraint sql
+ String sqlCreateString = fk.sqlCreateString(dialect, mapping, catalog, schema);
+ createForeignKeysSql.add(sqlCreateString);
}
- else
- {
- System.out.println("NoReferencedTable: " + fk);
- }
}
}
}
Modified: jbpm3/branches/tbaeyens/modules/core/src/test/java/org/jbpm/graph/node/ProcessStateDbTest.java
===================================================================
--- jbpm3/branches/tbaeyens/modules/core/src/test/java/org/jbpm/graph/node/ProcessStateDbTest.java 2008-10-20 10:09:11 UTC (rev 2557)
+++ jbpm3/branches/tbaeyens/modules/core/src/test/java/org/jbpm/graph/node/ProcessStateDbTest.java 2008-10-20 12:21:59 UTC (rev 2558)
@@ -33,6 +33,10 @@
public class ProcessStateDbTest extends AbstractDbTestCase
{
+ static{
+ // making sure System.err and System.out are synchronized
+ System.setErr(System.out);
+ }
public void testProcessStateName()
{
@@ -54,6 +58,73 @@
}
}
+ public void testRecursiveProcessDefinition()
+ {
+ ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
+ "<process-definition name='recursive process'>" +
+ " <start-state>" +
+ " <transition to='first wait' />" +
+ " </start-state>" +
+ " <state name='first wait'>" +
+ " <transition to='subprocessnode' />" +
+ " <transition name='done' to='end' />" +
+ " </state>" +
+ " <process-state name='subprocessnode'>" +
+ " <sub-process name='recursive process' />" +
+ " <transition to='end' />" +
+ " </process-state>" +
+ " <end-state name='end' />" +
+ "</process-definition>"
+ );
+
+ processDefinition = saveAndReload(processDefinition);
+ try
+ {
+ ProcessInstance superProcessInstance = processDefinition.createProcessInstance();
+ superProcessInstance.signal();
+ superProcessInstance.signal();
+
+ superProcessInstance = saveAndReload(superProcessInstance);
+
+ Token superToken = superProcessInstance.getRootToken();
+ assertEquals("subprocessnode", superToken.getNode().getName());
+
+ ProcessInstance subProcessInstance = superToken.getSubProcessInstance();
+ assertNotNull(subProcessInstance);
+ assertEquals("recursive process", subProcessInstance.getProcessDefinition().getName());
+ Token subToken = subProcessInstance.getRootToken();
+
+ assertEquals("first wait", subToken.getNode().getName());
+
+ subProcessInstance.signal("done");
+
+ subProcessInstance = saveAndReload(subProcessInstance);
+ superProcessInstance = graphSession.loadProcessInstance(superProcessInstance.getId());
+
+ assertTrue(subProcessInstance.hasEnded());
+ assertTrue(superProcessInstance.hasEnded());
+
+ }
+ finally
+ {
+ newTransaction();
+ try {
+ jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
+ } catch (RuntimeException e) {
+ e.printStackTrace();
+ } finally {
+ newTransaction();
+ }
+ }
+ }
+
+ public void testMultipleRecursiveProcessDefinitions() {
+ for (int i=0; i<20; i++) {
+ testRecursiveProcessDefinition();
+ }
+ }
+
+
public void testProcessStateSubProcessDefinition()
{
// create the subprocess
@@ -108,6 +179,41 @@
}
}
+ public void testSubProcessBindingWithLatestVersion()
+ {
+ jbpmContext.deployProcessDefinition(new ProcessDefinition("the multiversion subprocess"));
+ jbpmContext.deployProcessDefinition(new ProcessDefinition("the multiversion subprocess"));
+ jbpmContext.deployProcessDefinition(new ProcessDefinition("the multiversion subprocess"));
+
+ newTransaction();
+
+ ProcessDefinition processDefinitionTwo = ProcessDefinition.parseXmlString(
+ "<process-definition>" +
+ " <process-state name='the sub process state'>" +
+ " <sub-process name='the multiversion subprocess'/>" +
+ " </process-state>" +
+ "</process-definition>"
+ );
+ processDefinitionTwo = saveAndReload(processDefinitionTwo);
+ try
+ {
+ ProcessState processState = (ProcessState) processDefinitionTwo.getNode("the sub process state");
+ assertEquals("the multiversion subprocess", processState.getSubProcessDefinition().getName() );
+ assertEquals(3, processState.getSubProcessDefinition().getVersion() );
+ }
+ finally
+ {
+ newTransaction();
+ ProcessDefinition processDefinition = graphSession.findProcessDefinition("the multiversion subprocess", 1);
+ graphSession.deleteProcessDefinition(processDefinition.getId());
+ processDefinition = graphSession.findProcessDefinition("the multiversion subprocess", 2);
+ graphSession.deleteProcessDefinition(processDefinition.getId());
+ processDefinition = graphSession.findProcessDefinition("the multiversion subprocess", 3);
+ graphSession.deleteProcessDefinition(processDefinition.getId());
+ graphSession.deleteProcessDefinition(processDefinitionTwo.getId());
+ }
+ }
+
public void testAverageSubProcess()
{
ProcessDefinition subProcessDefinition = ProcessDefinition.parseXmlString(
@@ -223,91 +329,6 @@
}
}
- public void testSubProcessBindingWithLatestVersion()
- {
- ProcessDefinition processDefinitionOne = new ProcessDefinition("the multiversion subprocess");
- jbpmContext.deployProcessDefinition(processDefinitionOne);
- jbpmContext.deployProcessDefinition(processDefinitionOne);
- jbpmContext.deployProcessDefinition(processDefinitionOne);
-
- newTransaction();
-
- ProcessDefinition processDefinitionTwo = ProcessDefinition.parseXmlString(
- "<process-definition>" +
- " <process-state name='the sub process state'>" +
- " <sub-process name='the multiversion subprocess'/>" +
- " </process-state>" +
- "</process-definition>"
- );
- processDefinitionTwo = saveAndReload(processDefinitionTwo);
- try
- {
- ProcessState processState = (ProcessState) processDefinitionTwo.getNode("the sub process state");
- assertEquals("the multiversion subprocess", processState.getSubProcessDefinition().getName() );
- assertEquals(3, processState.getSubProcessDefinition().getVersion() );
- }
- finally
- {
- newTransaction();
- jbpmContext.getGraphSession().deleteProcessDefinition(processDefinitionOne.getId());
- jbpmContext.getGraphSession().deleteProcessDefinition(processDefinitionTwo.getId());
- }
- }
-
- public void testRecursiveProcessDefinition()
- {
- ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
- "<process-definition name='recursive process'>" +
- " <start-state>" +
- " <transition to='first wait' />" +
- " </start-state>" +
- " <state name='first wait'>" +
- " <transition to='subprocessnode' />" +
- " <transition name='done' to='end' />" +
- " </state>" +
- " <process-state name='subprocessnode'>" +
- " <sub-process name='recursive process' />" +
- " <transition to='end' />" +
- " </process-state>" +
- " <end-state name='end' />" +
- "</process-definition>"
- );
-
- processDefinition = saveAndReload(processDefinition);
- try
- {
- ProcessInstance superProcessInstance = new ProcessInstance(processDefinition);
- superProcessInstance.signal();
- superProcessInstance.signal();
-
- superProcessInstance = saveAndReload(superProcessInstance);
-
- Token superToken = superProcessInstance.getRootToken();
- assertEquals("subprocessnode", superToken.getNode().getName());
-
- ProcessInstance subProcessInstance = superToken.getSubProcessInstance();
- assertNotNull(subProcessInstance);
- assertEquals("recursive process", subProcessInstance.getProcessDefinition().getName());
- Token subToken = subProcessInstance.getRootToken();
-
- assertEquals("first wait", subToken.getNode().getName());
-
- subProcessInstance.signal("done");
-
- subProcessInstance = saveAndReload(subProcessInstance);
- superProcessInstance = graphSession.loadProcessInstance(superProcessInstance.getId());
-
- assertTrue(subProcessInstance.hasEnded());
- assertTrue(superProcessInstance.hasEnded());
-
- }
- finally
- {
- newTransaction();
- jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
- }
- }
-
public void testSubProcessLogs() {
ProcessDefinition subProcessDefinition = ProcessDefinition.parseXmlString(
"<process-definition name='subprocess'>" +
Modified: jbpm3/branches/tbaeyens/modules/core/src/test/java/org/jbpm/jbpm1452/JBPM1452Test.java
===================================================================
--- jbpm3/branches/tbaeyens/modules/core/src/test/java/org/jbpm/jbpm1452/JBPM1452Test.java 2008-10-20 10:09:11 UTC (rev 2557)
+++ jbpm3/branches/tbaeyens/modules/core/src/test/java/org/jbpm/jbpm1452/JBPM1452Test.java 2008-10-20 12:21:59 UTC (rev 2558)
@@ -36,13 +36,23 @@
*/
public class JBPM1452Test extends AbstractDbTestCase
{
- @Override
+
+ static{
+ // making sure System.err and System.out are synchronized
+ System.setErr(System.out);
+ }
+
+ at Override
protected JbpmConfiguration getJbpmConfiguration()
{
- return JbpmConfiguration.parseXmlString(
- "<jbpm-configuration>" +
- " <null name='jbpm.job.executor' />" +
- "</jbpm-configuration>");
+ if (jbpmConfiguration == null)
+ {
+ jbpmConfiguration = JbpmConfiguration.parseXmlString(
+ "<jbpm-configuration>" +
+ " <null name='jbpm.job.executor' />" +
+ "</jbpm-configuration>");
+ }
+ return jbpmConfiguration;
}
public void testNoJobExecutor()
@@ -52,8 +62,15 @@
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
- jbpmContext.deployProcessDefinition(new ProcessDefinition("Audit"));
- ProcessInstance processInstance = jbpmContext.newProcessInstanceForUpdate("Audit");
- processInstance.end();
+ ProcessDefinition processDefinition = new ProcessDefinition("Audit");
+ jbpmContext.deployProcessDefinition(processDefinition);
+ try {
+ jbpmContext.newProcessInstanceForUpdate("Audit");
+ } catch(Throwable t) {
+ t.printStackTrace();
+ } finally {
+ newTransaction();
+ graphSession.deleteProcessDefinition(processDefinition.getId());
+ }
}
}
More information about the jbpm-commits
mailing list