[jbpm-commits] JBoss JBPM SVN: r5700 - in jbpm4/trunk/modules/jpdl/src/test/java/org/jbpm/jpdl: migration and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Mon Oct 5 14:43:35 EDT 2009


Author: koen.aers at jboss.com
Date: 2009-10-05 14:43:35 -0400 (Mon, 05 Oct 2009)
New Revision: 5700

Added:
   jbpm4/trunk/modules/jpdl/src/test/java/org/jbpm/jpdl/migration/
   jbpm4/trunk/modules/jpdl/src/test/java/org/jbpm/jpdl/migration/InstanceMigratorTest.java
Log:
basic test for instance migration

Added: jbpm4/trunk/modules/jpdl/src/test/java/org/jbpm/jpdl/migration/InstanceMigratorTest.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/java/org/jbpm/jpdl/migration/InstanceMigratorTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/jpdl/src/test/java/org/jbpm/jpdl/migration/InstanceMigratorTest.java	2009-10-05 18:43:35 UTC (rev 5700)
@@ -0,0 +1,95 @@
+package org.jbpm.jpdl.migration;
+
+import java.util.List;
+
+import org.jbpm.api.Execution;
+import org.jbpm.api.ProcessDefinition;
+import org.jbpm.api.ProcessInstance;
+import org.jbpm.api.history.HistoryDetail;
+import org.jbpm.pvm.internal.history.model.HistoryProcessInstanceMigrationImpl;
+import org.jbpm.test.JbpmTestCase;
+
+
+public class InstanceMigratorTest extends JbpmTestCase {
+  
+  private String firstVersion = 
+    "<process name='foobar'>" +
+    "  <start>" +
+    "    <transition to='foo'/>" +
+    "  </start>" +
+    "  <state name='foo'>" +
+    "    <transition to='bar'/>" +
+    "  </state>" +
+    "  <state name='bar'>" +
+    "    <transition to='end'/>" +
+    "  </state>" +
+    "  <end name='end'/>" +
+    "</process>";
+  
+  private String secondVersion = 
+    "<process name='foobar'>" +
+    "  <start>" +
+    "    <transition to='foo'/>" +
+    "  </start>" +
+    "  <state name='foo'>" +
+    "    <transition to='bar'/>" +
+    "  </state>" +
+    "  <state name='bar'>" +
+    "    <transition to='end'/>" +
+    "  </state>" +
+    "  <end name='end'/>" +
+    "  <migrate-instances/>" +
+    "</process>";
+  
+  
+  public void testSimpleMigration() {
+    String deploymentId1 = repositoryService.createDeployment()
+        .addResourceFromString("foobar.jpdl.xml", firstVersion)
+        .deploy();
+    ProcessDefinition processDefinition1 = repositoryService
+        .createProcessDefinitionQuery()
+        .deploymentId(deploymentId1)
+        .uniqueResult();
+    Execution execution = executionService
+        .startProcessInstanceById(processDefinition1.getId())
+        .findActiveExecutionIn("foo");
+    executionService.signalExecutionById(execution.getId());
+    ProcessInstance processInstance1 = executionService
+        .createProcessInstanceQuery()
+        .processDefinitionId(processDefinition1.getId())
+        .uniqueResult();
+    assertNotNull(processInstance1.findActiveExecutionIn("bar"));
+    
+    String deploymentId2 = repositoryService.createDeployment()
+        .addResourceFromString("foobar.jpdl.xml", secondVersion)
+        .deploy();
+    ProcessDefinition processDefinition2 = repositoryService
+        .createProcessDefinitionQuery()
+        .deploymentId(deploymentId2)
+        .uniqueResult();
+    ProcessInstance processInstance2 = executionService
+        .createProcessInstanceQuery()
+        .processDefinitionId(processDefinition2.getId())
+        .uniqueResult();
+    
+    assertNotNull(processInstance2);
+    
+    List<HistoryDetail> historyDetails = historyService
+        .createHistoryDetailQuery()
+        .processInstanceId(processInstance2.getId())
+        .list();
+    HistoryProcessInstanceMigrationImpl historyProcessInstanceMigration = null;
+    for (HistoryDetail historyDetail : historyDetails) {
+      if (historyDetail instanceof HistoryProcessInstanceMigrationImpl) {
+        historyProcessInstanceMigration = (HistoryProcessInstanceMigrationImpl)historyDetail;
+      }
+    }
+    
+    assertNotNull(historyProcessInstanceMigration);
+    
+    repositoryService.deleteDeploymentCascade(deploymentId2);
+    repositoryService.deleteDeploymentCascade(deploymentId1);
+    
+  }
+
+}


Property changes on: jbpm4/trunk/modules/jpdl/src/test/java/org/jbpm/jpdl/migration/InstanceMigratorTest.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain



More information about the jbpm-commits mailing list