[jbpm-commits] JBoss JBPM SVN: r6366 - 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 May 21 02:03:10 EDT 2010
Author: rebody
Date: 2010-05-21 02:03:10 -0400 (Fri, 21 May 2010)
New Revision: 6366
Modified:
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/migration/InstanceMigrator.java
jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/migration/InstanceMigratorTest.java
Log:
JBPM-2677 when there is no process definition for migration, we will meet a IndexOutOfBoundsException
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/migration/InstanceMigrator.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/migration/InstanceMigrator.java 2010-05-21 03:26:59 UTC (rev 6365)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/migration/InstanceMigrator.java 2010-05-21 06:03:10 UTC (rev 6366)
@@ -100,7 +100,9 @@
.list();
int startIndex = calculateStartIndex(processDefinitions.size() - 1, migrationDescriptor);
int endIndex = calculateEndIndex(processDefinitions.size() - 1, migrationDescriptor);
- if (startIndex > endIndex) startIndex = endIndex;
+ if (startIndex > endIndex || startIndex < 0) {
+ startIndex = endIndex;
+ }
return processDefinitions.subList(startIndex, endIndex);
}
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 2010-05-21 03:26:59 UTC (rev 6365)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/migration/InstanceMigratorTest.java 2010-05-21 06:03:10 UTC (rev 6366)
@@ -240,8 +240,12 @@
}
return result;
}
-
+ public void testNoProcessInstanceForMigration() {
+ ProcessDefinition pd2 = deployProcessDefinition("foobar", versionWithWildcardVersionRange);
+ repositoryService.deleteDeploymentCascade(pd2.getDeploymentId());
+ }
+
public void testNoMigration() {
ProcessDefinition pd1 = deployProcessDefinition("foobar", originalVersion);
ProcessInstance pi1 = startAndSignal(pd1, "a");
More information about the jbpm-commits
mailing list