[jbpm-commits] JBoss JBPM SVN: r5781 - in jbpm4/trunk/modules: test-db/src/test/java/org/jbpm/test/migration and 1 other directory.
do-not-reply at jboss.org
do-not-reply at jboss.org
Fri Oct 23 17:20:46 EDT 2009
Author: koen.aers at jboss.com
Date: 2009-10-23 17:20:45 -0400 (Fri, 23 Oct 2009)
New Revision: 5781
Modified:
jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/MigrationHelper.java
jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/migration/InstanceMigratorTest.java
Log:
migration handlers are called after default migration and before ending process instances
Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/MigrationHelper.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/MigrationHelper.java 2009-10-23 19:27:31 UTC (rev 5780)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/MigrationHelper.java 2009-10-23 21:20:45 UTC (rev 5781)
@@ -25,11 +25,11 @@
}
MigrationDescriptor migrationDescriptor = new MigrationDescriptor();
String action = migrationElement.getAttribute("action");
- if ("abort".equals(action)) {
+ if ("end".equals(action)) {
migrationDescriptor.addMigrationHandlerClassName(AbortMigrationHandler.class.getName());
- } else if ("custom".equals(action)) {
- parseMigrationHandlers(migrationElement, migrationDescriptor);
- } else {
+ }
+ parseMigrationHandlers(migrationElement, migrationDescriptor);
+ if (!"end".equals(action)) {
migrationDescriptor.addMigrationHandlerClassName(DefaultMigrationHandler.class.getName());
parseActivityMappings(migrationElement, migrationDescriptor);
}
Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/migration/InstanceMigratorTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/migration/InstanceMigratorTest.java 2009-10-23 19:27:31 UTC (rev 5780)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/migration/InstanceMigratorTest.java 2009-10-23 21:20:45 UTC (rev 5781)
@@ -44,12 +44,12 @@
" <transition to='end'/>" +
" </state>" +
" <end name='end'/>" +
- " <migrate-instances action='custom'>" +
+ " <migrate-instances>" +
" <migration-handler class='org.jbpm.test.migration.InstanceMigratorTest$TestHandler'/>" +
" </migrate-instances>" +
"</process>";
- private String versionWithSimpleAbortion =
+ private String versionWithAbortion =
"<process name='foobar'>" +
" <start>" +
" <transition to='a'/>" +
@@ -64,7 +64,9 @@
" <transition to='end'/>" +
" </state>" +
" <end name='end'/>" +
- " <migrate-instances action='abort'/>" +
+ " <migrate-instances action='end'>" +
+ " <migration-handler class='org.jbpm.test.migration.InstanceMigratorTest$TestHandler'/>" +
+ " </migrate-instances>" +
"</process>";
private String versionWithSimpleMigration =
@@ -262,6 +264,12 @@
ProcessDefinition pd2 = deployProcessDefinition("foobar", versionWithMigrationHandler);
assertTrue(PROCESS_INSTANCES_SET.contains(pi1.getId()));
assertTrue(PROCESS_INSTANCES_SET.contains(pi2.getId()));
+ pi1 = executionService.findProcessInstanceById(pi1.getId());
+ pi2 = executionService.findProcessInstanceById(pi2.getId());
+ assertEquals(pd2.getId(), pi1.getProcessDefinitionId());
+ assertEquals(pd2.getId(), pi2.getProcessDefinitionId());
+ assertEquals(pi1, pi1.findActiveExecutionIn("a"));
+ assertEquals(pi2, pi2.findActiveExecutionIn("b"));
repositoryService.deleteDeploymentCascade(pd1.getDeploymentId());
repositoryService.deleteDeploymentCascade(pd2.getDeploymentId());
}
@@ -270,7 +278,9 @@
ProcessDefinition pd1 = deployProcessDefinition("foobar", originalVersion);
ProcessInstance pi1 = startAndSignal(pd1, "a");
ProcessInstance pi2 = startAndSignal(pd1, "b");
- ProcessDefinition pd2 = deployProcessDefinition("foobar", versionWithSimpleAbortion);
+ ProcessDefinition pd2 = deployProcessDefinition("foobar", versionWithAbortion);
+ assertTrue(PROCESS_INSTANCES_SET.contains(pi1.getId()));
+ assertTrue(PROCESS_INSTANCES_SET.contains(pi2.getId()));
pi1 = executionService.findProcessInstanceById(pi1.getId());
pi2 = executionService.findProcessInstanceById(pi2.getId());
assertNull(pi1);
More information about the jbpm-commits
mailing list