[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