[jbpm-commits] JBoss JBPM SVN: r5087 - in jbpm4/trunk/modules: test-db/src/test/java/org/jbpm/test/history and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Jun 23 03:43:34 EDT 2009


Author: jbarrez
Date: 2009-06-23 03:43:34 -0400 (Tue, 23 Jun 2009)
New Revision: 5087

Modified:
   jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskActivity.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/EndProcessInstanceTest.java
Log:
Added Test for JBPM-2319 and added log message to case when task outcome is not known.

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskActivity.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskActivity.java	2009-06-23 06:53:18 UTC (rev 5086)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskActivity.java	2009-06-23 07:43:34 UTC (rev 5087)
@@ -30,6 +30,7 @@
 import org.jbpm.api.model.Transition;
 import org.jbpm.api.task.Task;
 import org.jbpm.api.task.TaskHandler;
+import org.jbpm.internal.log.Log;
 import org.jbpm.jpdl.internal.model.JpdlExecution;
 import org.jbpm.pvm.internal.model.ExecutionImpl;
 import org.jbpm.pvm.internal.session.DbSession;
@@ -43,6 +44,8 @@
 public class TaskActivity extends JpdlExternalActivity {
 
   private static final long serialVersionUID = 1L;
+  
+  private static final Log log = Log.getLog(TaskActivity.class.getName());
 
   protected TaskDefinitionImpl taskDefinition;
   
@@ -90,6 +93,8 @@
           // if a user specified outcome was provided and it doesn't
           // match with an outgoing transition name, then the process 
           // instance is suspended.  parked for admin intervention.
+          log.info("No outcome named '" + signalName + "' was found." 
+                  + "The process instance is now suspended.");
           ((ExecutionImpl)execution.getProcessInstance()).suspend();
         }
       }

Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/EndProcessInstanceTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/EndProcessInstanceTest.java	2009-06-23 06:53:18 UTC (rev 5086)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/EndProcessInstanceTest.java	2009-06-23 07:43:34 UTC (rev 5087)
@@ -26,6 +26,7 @@
 import org.jbpm.api.Execution;
 import org.jbpm.api.ProcessInstance;
 import org.jbpm.api.history.HistoryProcessInstance;
+import org.jbpm.api.task.Task;
 import org.jbpm.test.JbpmTestCase;
 
 
@@ -64,4 +65,36 @@
     assertNotNull(historyProcessInstance.getEndTime());
     assertEquals("cancel", historyProcessInstance.getState());
   }
+  
+  // Test case for JBPM-2319
+  public void testProcessInstanceEndState() {
+    deployJpdlXmlString(
+      "<process name='test1'>" +
+      "  <start g='4,289,48,48' name='start1'>" +
+      "    <transition name='to task1' to='task1' g='-44,-18'/>" +
+      "  </start>" +
+      "  <task name='task1' g='152,277,92,52'>" +
+      "    <transition name='Reject (risk)' to='Rejected by risk' g='-42,-18'/>" +
+      "    <transition name='Reject (reporting)' to='Rejected by reporting' g='-42,-18'/>" +
+      "  </task>" +
+      "  <end name='Rejected by risk' g='328,232,48,48'/>" +
+      "  <end name='Rejected by reporting' g='335,347,48,48'/>" +
+      "</process>"      
+    );
+    
+    // Start a process instance and complete the task which ends the process instance
+    ProcessInstance pi = executionService.startProcessInstanceByKey("test1");
+    Task task = taskService.createTaskQuery()
+                           .processInstanceId(pi.getId())
+                           .uniqueResult();
+    taskService.completeTask(task.getDbid(), "Reject (risk)");
+    assertProcessInstanceEnded(pi);
+    
+    // Check the state of the process instance
+    HistoryProcessInstance historyPi = historyService.createHistoryProcessInstanceQuery()
+                                                     .processInstanceId(pi.getId())
+                                                     .uniqueResult();
+    assertEquals("ended", historyPi.getState());
+  }
+  
 }




More information about the jbpm-commits mailing list