JBoss JBPM SVN: r6205 - jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/forkjoin.
by do-not-reply@jboss.org
Author: kukeltje
Date: 2010-02-27 18:58:01 -0500 (Sat, 27 Feb 2010)
New Revision: 6205
Added:
jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/forkjoin/JBPM2581ForkAndJoinTest.java
jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/forkjoin/fullynested.jpdl.xml
jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/forkjoin/weirdForkAndJoin.jpdl.xml
Log:
Testcases for JBPM-2581
Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/forkjoin/JBPM2581ForkAndJoinTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/forkjoin/JBPM2581ForkAndJoinTest.java (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/forkjoin/JBPM2581ForkAndJoinTest.java 2010-02-27 23:58:01 UTC (rev 6205)
@@ -0,0 +1,94 @@
+package org.jbpm.test.activity.forkjoin;
+
+import java.util.List;
+
+import org.jbpm.api.Execution;
+import org.jbpm.api.task.Task;
+import org.jbpm.test.JbpmTestCase;
+
+public class JBPM2581ForkAndJoinTest extends JbpmTestCase {
+ String deploymentId;
+
+
+ public void testFullyNested() {
+
+ deploymentId = repositoryService
+ .createDeployment()
+ .addResourceFromClasspath(
+ "org/jbpm/test/activity/forkjoin/fullynested.jpdl.xml")
+ .deploy();
+
+ Execution execution = executionService
+ .startProcessInstanceByKey("FullyNested");
+
+ assertActivitiesActive(execution.getId(), "task3", "task1", "task2");
+
+ List<Task> taskList = taskService.findPersonalTasks("otto");
+ Task task = getTask(taskList, "task3");
+ taskService.completeTask(task.getId());
+
+ assertActivitiesActive(execution.getId(), "task1", "task2");
+
+ taskList = taskService.findPersonalTasks("otto");
+ task = getTask(taskList, "task2");
+ taskService.completeTask(task.getId());
+
+ assertActivitiesActive(execution.getId(), "task1");
+
+ task = getTask(taskList, "task1");
+ taskService.completeTask(task.getId());
+
+ assertActivitiesActive(execution.getId(), "task9");
+
+ taskList = taskService.findPersonalTasks("otto");
+ task = getTask(taskList, "task9");
+ taskService.completeTask(task.getId());
+
+ assertActivitiesActive(execution.getId(), "task8");
+
+ taskList = taskService.findPersonalTasks("otto");
+ task = getTask(taskList, "task8");
+ taskService.completeTask(task.getId());
+
+ assertProcessInstanceEnded(execution.getId());
+
+ repositoryService.deleteDeploymentCascade(deploymentId);
+ }
+
+ public void testWeirdNested() {
+
+ deploymentId = repositoryService
+ .createDeployment()
+ .addResourceFromClasspath(
+ "org/jbpm/test/activity/forkjoin/weirdForkAndJoin.jpdl.xml")
+ .deploy();
+
+ Execution execution = executionService
+ .startProcessInstanceByKey("WeirdNested");
+
+ List<Task> taskList = taskService.findPersonalTasks("otto");
+ assertEquals(2, taskList.size());
+ assertActivitiesActive(execution.getId(), "task1", "task2");
+
+ Task task1 = getTask(taskList, "task1");
+ taskService.completeTask(task1.getId());
+
+ taskList = taskService.findPersonalTasks("otto");
+
+ assertEquals(2, taskList.size());
+ assertActivitiesActive(execution.getId(), "task3", "task2");
+
+ Task task2 = getTask(taskList, "task2");
+ taskService.completeTask(task2.getId());
+
+ taskList = taskService.findPersonalTasks("otto");
+
+ assertEquals(2, taskList.size());
+ assertActivitiesActive(execution.getId(), "task3", "task4");
+
+ assertProcessInstanceActive(execution.getId());
+
+ repositoryService.deleteDeploymentCascade(deploymentId);
+ }
+
+}
Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/forkjoin/fullynested.jpdl.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/forkjoin/fullynested.jpdl.xml (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/forkjoin/fullynested.jpdl.xml 2010-02-27 23:58:01 UTC (rev 6205)
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<process name="FullyNested" xmlns="http://jbpm.org/4.3/jpdl">
+
+ <start g="24,132,48,48" name="start1">
+ <transition to="fork2"/>
+ </start>
+ <end g="768,132,48,48" name="end1"/>
+
+ <task assignee="otto" g="264,192,97,49" name="task2">
+ <transition g="409,217:" to="join1"/>
+ </task>
+ <task assignee="otto" g="72,264,97,49" name="task3">
+ <transition g="610,287:" to="join2"/>
+ </task>
+ <task assignee="otto" g="660,132,85,49" name="task8">
+ <transition to="end1"/>
+ </task>
+ <task assignee="otto" g="456,132,92,52" name="task9">
+ <transition to="join2"/>
+ </task>
+ <task assignee="otto" g="264,48,97,51" name="task1">
+ <transition g="408,70:" to="join1"/>
+ </task>
+ <fork g="204,132,48,48" name="fork1">
+ <transition g="228,73:" to="task1"/>
+ <transition g="230,219:" to="task2"/>
+ </fork>
+ <join g="384,132,48,48" name="join1">
+ <transition to="task9"/>
+ </join>
+ <join g="588,132,48,48" name="join2">
+ <transition to="task8"/>
+ </join>
+ <fork g="96,132,48,48" name="fork2">
+ <transition to="task3"/>
+ <transition to="fork1"/>
+ </fork>
+</process>
\ No newline at end of file
Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/forkjoin/weirdForkAndJoin.jpdl.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/forkjoin/weirdForkAndJoin.jpdl.xml (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/forkjoin/weirdForkAndJoin.jpdl.xml 2010-02-27 23:58:01 UTC (rev 6205)
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<process name="WeirdNested" xmlns="http://jbpm.org/4.3/jpdl">
+ <start g="264,64,48,48" name="start1">
+ <transition g="-43,-18" name="to fork2" to="fork2"/>
+ </start>
+
+ <fork g="263,140,48,48" name="fork2">
+ <transition g="-44,-18" name="to task1" to="task1"/>
+ <transition g="-44,-18" name="to task2" to="task2"/>
+ </fork>
+
+ <task assignee="otto" g="102,169,92,52" name="task1">
+ <transition g="-43,-18" name="to fork1" to="fork1"/>
+ </task>
+ <task assignee="otto" g="402,174,92,52" name="task2">
+ <transition g="-41,-18" name="to join1-via2" to="join1"/>
+ </task>
+
+ <fork g="119,280,48,48" name="fork1">
+ <transition g="-44,-18" name="to task3" to="task3"/>
+ <transition g="-41,-18" name="to join1-via1" to="join1"/>
+ </fork>
+
+ <join g="271,380,48,48" name="join1">
+ <transition g="-44,-18" name="to task4" to="task4"/>
+ </join>
+
+ <task assignee="otto" g="26,465,92,52" name="task3"/>
+ <task assignee="otto" g="248,466,92,52" name="task4"/>
+
+</process>
\ No newline at end of file
14 years, 3 months
JBoss JBPM SVN: r6204 - in jbpm4/trunk/modules: test-db/src/test/java/org/jbpm/test/activity/subprocess and 1 other directory.
by do-not-reply@jboss.org
Author: kukeltje
Date: 2010-02-27 17:46:37 -0500 (Sat, 27 Feb 2010)
New Revision: 6204
Modified:
jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/SubProcessActivity.java
jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/subprocess/SubProcessTest.java
Log:
EL for subprocess keys JBPM-2444
Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/SubProcessActivity.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/SubProcessActivity.java 2010-02-27 18:48:14 UTC (rev 6203)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/SubProcessActivity.java 2010-02-27 22:46:37 UTC (rev 6204)
@@ -24,6 +24,9 @@
import java.util.List;
import java.util.Map;
+import javax.el.PropertyNotFoundException;
+
+import org.jbpm.api.JbpmException;
import org.jbpm.api.activity.ActivityExecution;
import org.jbpm.api.model.Activity;
import org.jbpm.pvm.internal.client.ClientProcessDefinition;
@@ -64,7 +67,22 @@
if (subProcessId!=null) {
processDefinition = repositorySession.findProcessDefinitionById(subProcessId);
} else {
- processDefinition = repositorySession.findProcessDefinitionByKey(subProcessKey);
+ String subProcessKeyEval = null;
+ try {
+ Expression subProcessKeyExpression = Expression.create(subProcessKey, Expression.LANGUAGE_UEL_VALUE);
+ subProcessKeyEval = (String) subProcessKeyExpression.evaluate(execution);
+ if (subProcessKeyEval == null) {
+ throw new JbpmException("Subprocess key '" + subProcessKey +"' resolved to null.");
+ }
+ } catch (PropertyNotFoundException e) {
+ throw new JbpmException("Subprocess key '" + subProcessKey +"' could not be resolved.");
+ }
+
+ processDefinition = repositorySession.findProcessDefinitionByKey(subProcessKeyEval);
+ if (processDefinition == null) {
+ throw new JbpmException("Subprocess '" + subProcessKeyEval + "' could not be found.");
+ }
+
}
ExecutionImpl subProcessInstance = (ExecutionImpl) processDefinition.createProcessInstance(null, execution);
Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/subprocess/SubProcessTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/subprocess/SubProcessTest.java 2010-02-27 18:48:14 UTC (rev 6203)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/subprocess/SubProcessTest.java 2010-02-27 22:46:37 UTC (rev 6204)
@@ -24,6 +24,11 @@
*/
package org.jbpm.test.activity.subprocess;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.jdt.internal.compiler.ast.AssertStatement;
+import org.jbpm.api.JbpmException;
import org.jbpm.api.ProcessInstance;
import org.jbpm.api.task.Task;
import org.jbpm.test.JbpmTestCase;
@@ -85,6 +90,21 @@
" <end name='theEnd' />" +
"</process>";
+ private static final String MAIN_PROCESS_SUB_EL =
+ "<process name='mainProcess'>" +
+ " <start>" +
+ " <transition to='review' />" +
+ " </start>" +
+ " <sub-process name='review' sub-process-key='#{dynamic_subprocess}'>" +
+ " <transition name='ok' to='next step'/>" +
+ " <transition name='nok' to='update'/>" +
+ " <transition name='reject' to='close'/>" +
+ " </sub-process>" +
+ " <state name='next step'/>" +
+ " <state name='update'/>" +
+ " <end name='close'/>" +
+ "</process>";
+
public void testSubProcessOutcomeToState() {
deployJpdlXmlString(SUB_PROCESS);
deployJpdlXmlString(MAIN_PROCESS);
@@ -96,6 +116,48 @@
}
+ public void testDynamicSubProcess() {
+ deployJpdlXmlString(SUB_PROCESS);
+ deployJpdlXmlString(MAIN_PROCESS_SUB_EL);
+
+ Map<String, String> vars = new HashMap<String, String>();
+ vars.put("dynamic_subprocess", "SubProcessReview");
+ ProcessInstance processInstance = executionService.startProcessInstanceByKey("mainProcess",vars);
+ Task task = taskService.findPersonalTasks("johndoe").get(0);
+ taskService.completeTask(task.getId(), "reject");
+ assertProcessInstanceEnded(processInstance);
+ }
+
+ public void testDynamicSubProcessNotFound() {
+ String expectedError = "Subprocess 'DOES_NOT_EXIST' could not be found.";
+ deployJpdlXmlString(SUB_PROCESS);
+ deployJpdlXmlString(MAIN_PROCESS_SUB_EL);
+
+ Map<String, String> vars = new HashMap<String, String>();
+ vars.put("dynamic_subprocess", "DOES_NOT_EXIST");
+ try {
+ ProcessInstance processInstance = executionService.startProcessInstanceByKey("mainProcess",vars);
+ fail("Should not happen, error expected: " + expectedError);
+ } catch (JbpmException je) {
+ assertEquals(expectedError, je.getMessage());
+ }
+ }
+
+ public void testDynamicSubProcessWrongProperty() {
+ String expectedError = "Subprocess key '#{dynamic_subprocess}' could not be resolved.";
+ deployJpdlXmlString(SUB_PROCESS);
+ deployJpdlXmlString(MAIN_PROCESS_SUB_EL);
+
+ Map<String, String> vars = new HashMap<String, String>();
+ vars.put("WRONG_PROPERTY", "VALUE_DOES_NOT_MATTER");
+ try {
+ ProcessInstance processInstance = executionService.startProcessInstanceByKey("mainProcess",vars);
+ fail("Should not happen, error expected: " + expectedError);
+ } catch (JbpmException je) {
+ assertEquals(expectedError, je.getMessage());
+ }
+ }
+
public void testSubProcessOutcomeToEnd() {
deployJpdlXmlString(SUB_PROCESS);
deployJpdlXmlString(MAIN_PROCESS);
@@ -105,8 +167,8 @@
taskService.completeTask(task.getId(), "reject");
assertProcessInstanceEnded(processInstance);
}
+
-
// Test for JBPM-2651
public void testSubProcessNoWaitStates() {
deployJpdlXmlString(SUB_PROCESS_NO_WAIT_STATE);
14 years, 3 months
JBoss JBPM SVN: r6203 - jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity.
by do-not-reply@jboss.org
Author: kukeltje
Date: 2010-02-27 13:48:14 -0500 (Sat, 27 Feb 2010)
New Revision: 6203
Modified:
jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/StartBinding.java
Log:
Added name and continuation check for JBPM-2771
Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/StartBinding.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/StartBinding.java 2010-02-27 18:03:29 UTC (rev 6202)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/StartBinding.java 2010-02-27 18:48:14 UTC (rev 6203)
@@ -24,11 +24,11 @@
import org.jbpm.jpdl.internal.model.JpdlProcessDefinition;
import org.jbpm.jpdl.internal.xml.JpdlParser;
import org.jbpm.pvm.internal.model.ActivityImpl;
+import org.jbpm.pvm.internal.model.Continuation;
import org.jbpm.pvm.internal.util.XmlUtil;
import org.jbpm.pvm.internal.xml.Parse;
import org.w3c.dom.Element;
-
/**
* @author Tom Baeyens
*/
@@ -41,22 +41,28 @@
public Object parseJpdl(Element element, Parse parse, JpdlParser parser) {
ActivityImpl startActivity = parse.contextStackFind(ActivityImpl.class);
JpdlProcessDefinition processDefinition = parse.contextStackFind(JpdlProcessDefinition.class);
-
- if (processDefinition.getInitial()==null) {
+
+ if (processDefinition.getInitial() == null) {
processDefinition.setInitial(startActivity);
-
- } else if (startActivity.getParentActivity()==null) {
+
+ } else if (startActivity.getParentActivity() == null) {
parse.addProblem("multiple start events not yet supported", element);
}
-
+
StartActivity startActivityBehaviour = new StartActivity();
-
+
+ if (startActivity.getContinuation() == Continuation.ASYNCHRONOUS && startActivity.getName() == null) {
+ parse.addProblem("Using continuation=\"async\" on a start node requires a name to be present", element);
+ }
+
startActivityBehaviour.setFormResourceName(XmlUtil.attribute(element, "form"));
-
+
return startActivityBehaviour;
}
public boolean isNameRequired() {
+ // This factually is dependent on having an async continuation on the
+ // startnode or not. Cannot be decided here, so added it to the parse part
return false;
}
}
14 years, 3 months
JBoss JBPM SVN: r6202 - jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/async.
by do-not-reply@jboss.org
Author: kukeltje
Date: 2010-02-27 13:03:29 -0500 (Sat, 27 Feb 2010)
New Revision: 6202
Modified:
jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/async/AsyncBasicsTest.java
Log:
Added testcase for async start state. It requires a name attribute to work (see JBPM-2771)
Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/async/AsyncBasicsTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/async/AsyncBasicsTest.java 2010-02-27 15:28:26 UTC (rev 6201)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/async/AsyncBasicsTest.java 2010-02-27 18:03:29 UTC (rev 6202)
@@ -35,6 +35,7 @@
/**
* @author Tom Baeyens
+ * @author Ronald van Kuijk
*/
public class AsyncBasicsTest extends JbpmTestCase {
@@ -188,4 +189,31 @@
assertTextPresent("is not active: async", e.getMessage());
}
}
+
+ public void testAsyncStart() {
+ deployJpdlXmlString(
+ "<process name='AsyncStart'>" +
+ " <start continue='async' name='start'>" +
+ " <transition to='end' />" +
+ " </start>" +
+ " <end name='end' />" +
+ "</process>"
+ );
+
+ ProcessInstance processInstance = executionService.startProcessInstanceByKey("AsyncStart");
+ String processInstanceId = processInstance.getId();
+
+ assertEquals(Execution.STATE_ASYNC, processInstance.getState());
+
+ List<Job> jobs = managementService
+ .createJobQuery()
+ .processInstanceId(processInstanceId)
+ .list();
+
+ assertEquals(1, jobs.size());
+ managementService.executeJob(jobs.get(0).getId());
+
+ assertProcessInstanceEnded(processInstanceId);
+
+ }
}
14 years, 3 months
JBoss JBPM SVN: r6201 - jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities.
by do-not-reply@jboss.org
Author: kukeltje
Date: 2010-02-27 10:28:26 -0500 (Sat, 27 Feb 2010)
New Revision: 6201
Added:
jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/NonNestedForkJoin.java
Log:
Testcase for JBPM-2570
Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/NonNestedForkJoin.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/NonNestedForkJoin.java (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/NonNestedForkJoin.java 2010-02-27 15:28:26 UTC (rev 6201)
@@ -0,0 +1,115 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.test.activities;
+
+import org.jbpm.api.ProcessInstance;
+import org.jbpm.api.TaskQuery;
+import org.jbpm.api.task.Task;
+
+import org.jbpm.test.JbpmTestCase;
+
+/**
+ * Testcase for a not fully nested fork/join JBPM-2570
+ *
+ * @author Ronald van Kuijk
+ */
+public class NonNestedForkJoin extends JbpmTestCase {
+
+ public void testNotFullyNestedWithSwimlanes () {
+
+ deployJpdlXmlString("<?xml version='1.0' encoding='UTF-8'?>"
+ + "<process name='JBPM-2570'> "
+ + " <swimlane candidate-groups='A' name='A'/>"
+ + " <swimlane candidate-groups='B' name='B'/>"
+ + " <swimlane candidate-groups='C' name='C'/>"
+ + " <start name='start1'>"
+ + " <transition to='fork1'/>"
+ + " </start>"
+ + " <fork name='fork1'>"
+ + " <transition to='task1a'/>"
+ + " <transition to='task1b'/>"
+ + " <transition to='task1c'/>"
+ + " </fork>"
+ + " <task name='task1a' swimlane='A'>"
+ + " <transition to='join1'/>"
+ + " </task>"
+ + " <task name='task1b' swimlane='B'>"
+ + " <transition to='join1'/>"
+ + " </task>"
+ + " <task name='task1c' swimlane='C'>"
+ + " <transition to='join2'/>"
+ + " </task>"
+ + " <join name='join1'>"
+ + " <transition to='task2a'/>"
+ + " </join>"
+ + " <task name='task2a' swimlane='B'>"
+ + " <transition to='join2'/>"
+ + " </task>"
+ + " <join name='join2'>"
+ + " <transition to='task3a'/>"
+ + " </join>"
+ + " <task name='task3a'>"
+ + " <transition to='end1'/>"
+ + " </task>"
+ + " <end name='end1'/>"
+ + "</process>");
+
+
+ ProcessInstance processInstance = executionService.startProcessInstanceByKey("JBPM-2570");
+
+ String processInstanceId = processInstance.getId();
+
+ TaskQuery taskQuery = taskService.createTaskQuery();
+ taskQuery.processInstanceId(processInstanceId);
+
+ assertEquals(3, taskQuery.list().size());
+
+ assertActivityActive(processInstanceId, "task1a");
+ Task t1a = getTask(taskQuery.list(),"task1a");
+ taskService.assignTask(t1a.getId(), "For SLA");
+ taskService.completeTask(t1a.getId());
+
+ assertActivityActive(processInstanceId, "task1b");
+ Task t1b = getTask(taskQuery.list(),"task1b");
+ taskService.assignTask(t1b.getId(), "For SLB");
+ taskService.completeTask(t1b.getId());
+
+ assertActivitiesActive(processInstanceId, "task1c", "task2a");
+
+ assertNotActivityActive(processInstanceId, "task3a");
+
+ assertActivityActive(processInstanceId, "task2a");
+ taskService.completeTask(getTask(taskQuery.list(),"task2a").getId());
+
+ Task t1c = getTask(taskQuery.list(),"task1c");
+ taskService.assignTask(t1c.getId(), "For SLC");
+ taskService.completeTask(t1c.getId());
+
+ assertActivitiesActive(processInstanceId, "task3a");
+
+ Task t3a = getTask(taskQuery.list(),"task3a");
+ taskService.completeTask(t3a.getId());
+
+ assertProcessInstanceEnded(processInstance);
+ }
+
+}
14 years, 3 months
JBoss JBPM SVN: r6200 - jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities.
by do-not-reply@jboss.org
Author: kukeltje
Date: 2010-02-27 10:21:46 -0500 (Sat, 27 Feb 2010)
New Revision: 6200
Removed:
jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/JoinSwimlane2749.java
Log:
Wrong test/issue JBPM-2749
Deleted: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/JoinSwimlane2749.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/JoinSwimlane2749.java 2010-02-27 15:16:29 UTC (rev 6199)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/JoinSwimlane2749.java 2010-02-27 15:21:46 UTC (rev 6200)
@@ -1,199 +0,0 @@
-package org.jbpm.test.activities;
-
-import java.util.List;
-
-import org.jbpm.api.Execution;
-import org.jbpm.api.ProcessInstance;
-import org.jbpm.api.TaskQuery;
-import org.jbpm.api.job.Job;
-import org.jbpm.api.task.Task;
-import org.jbpm.test.JbpmTestCase;
-
-/**
- * @author Ronald van Kuijk
- */
-public class JoinSwimlane2749 extends JbpmTestCase {
-
- public void testJoinSwimlaneAsync () {
-
- deployJpdlXmlString("<?xml version='1.0' encoding='UTF-8'?>"
- +"<process name='JoinSwimlaneBugAsync2749' xmlns='http://jbpm.org/4.4/jpdl'>"
- +" <swimlane candidate-groups='A' name='A'/>"
- +" <swimlane candidate-groups='B' name='B'/>"
- +" <start name='start'>"
- +" <transition to='task1A'/>"
- +" </start>"
- +" <task name='task1A' swimlane='A'>"
- +" <transition to='task1B'/>"
- +" </task>"
- +" <task name='task1B' swimlane='B'>"
- +" <transition to='fork'/>"
- +" </task>"
- +" <fork name='fork'>"
- +" <transition to='task2A'/>"
- +" <transition to='task2B'/>"
- +" </fork>"
- +" <task name='task2A' swimlane='A'>"
- +" <transition to='join'/>"
- +" </task>"
- +" <task name='task2B' swimlane='B'>"
- +" <transition to='join'/>"
- +" </task>"
- +" <join name='join' continue='async'>"
- +" <transition to='end'/>"
- +" </join>"
- +" <end name='end'/>"
- +"</process>"
- );
-
-
- ProcessInstance processInstance = executionService.startProcessInstanceByKey("JoinSwimlaneBugAsync2749");
-
- String processInstanceId = processInstance.getId();
-
- assertActivitiesActive(processInstanceId, "task1A");
-
- TaskQuery taskQuery = taskService.createTaskQuery();
- taskQuery.processInstanceId(processInstanceId);
-
- Task t1a = getTask(taskQuery.list(),"task1A");
- taskService.assignTask(t1a.getId(), "someone2");
- taskService.completeTask(t1a.getId());
-
- assertActivitiesActive(processInstanceId, "task1B");
-
- Task t1b = getTask(taskQuery.list(),"task1B");
- taskService.assignTask(t1b.getId(), "someone1");
- taskService.completeTask(t1b.getId());
-
- assertActivitiesActive(processInstanceId, "task2A","task2B");
-
- taskService.completeTask(getTask(taskQuery.list(),"task2A").getId());
-
- assertNotActivityActive(processInstanceId, "task1A");
- assertActivitiesActive(processInstanceId, "task2B");
-
- Task t2b = getTask(taskQuery.list(),"task2B");
- taskService.completeTask(t2b.getId());
-
- assertEquals(Execution.STATE_ACTIVE_ROOT, processInstance.getState());
-
- List<Job> jobs = managementService
- .createJobQuery()
- .processInstanceId(processInstanceId)
- .list();
-
- assertEquals(2, jobs.size());
-
- managementService.executeJob(jobs.get(0).getId());
- managementService.executeJob(jobs.get(1).getId());
-
- jobs = managementService
- .createJobQuery()
- .processInstanceId(processInstanceId)
- .list();
-
- assertEquals(0, jobs.size());
-
- assertProcessInstanceEnded(processInstance);
- }
-
- public void testJoinSwimlane () {
-
- deployJpdlXmlString("<?xml version='1.0' encoding='UTF-8'?>"
- +"<process name='JoinSwimlaneBug2749' xmlns='http://jbpm.org/4.4/jpdl'>"
- +" <swimlane candidate-groups='A' name='A'/>"
- +" <swimlane candidate-groups='B' name='B'/>"
- +" <start name='start'>"
- +" <transition to='task1A'/>"
- +" </start>"
- +" <task name='task1A' swimlane='A'>"
- +" <transition to='task1B'/>"
- +" </task>"
- +" <task name='task1B' swimlane='B'>"
- +" <transition to='fork'/>"
- +" </task>"
- +" <fork name='fork'>"
- +" <transition to='task2A'/>"
- +" <transition to='task2B'/>"
- +" </fork>"
- +" <task name='task2A' swimlane='A'>"
- +" <transition to='join'/>"
- +" </task>"
- +" <task name='task2B' swimlane='B'>"
- +" <transition to='join'/>"
- +" </task>"
- +" <join name='join'>"
- +" <transition to='end'/>"
- +" </join>"
- +" <end name='end'/>"
- +"</process>"
- );
-
-
- ProcessInstance processInstance = executionService.startProcessInstanceByKey("JoinSwimlaneBug2749");
-
- String processInstanceId = processInstance.getId();
-
- assertActivitiesActive(processInstanceId, "task1A");
-
- TaskQuery taskQuery = taskService.createTaskQuery();
- taskQuery.processInstanceId(processInstanceId);
-
- Task t1a = getTask(taskQuery.list(),"task1A");
- taskService.assignTask(t1a.getId(), "someone2");
- taskService.completeTask(t1a.getId());
-
- assertActivitiesActive(processInstanceId, "task1B");
-
- Task t1b = getTask(taskQuery.list(),"task1B");
- taskService.assignTask(t1b.getId(), "someone1");
- taskService.completeTask(t1b.getId());
-
- assertActivitiesActive(processInstanceId, "task2A","task2B");
-
- taskService.completeTask(getTask(taskQuery.list(),"task2A").getId());
-
- assertNotActivityActive(processInstanceId, "task1A");
- assertActivitiesActive(processInstanceId, "task2B");
-
- Task t2b = getTask(taskQuery.list(),"task2B");
- taskService.completeTask(t2b.getId());
-
- assertProcessInstanceEnded(processInstance);
-}
-
-
-
- public void testSwimlane () {
-
- deployJpdlXmlString("<?xml version='1.0' encoding='UTF-8'?>"
- +"<process name='SwimlaneBug2749' xmlns='http://jbpm.org/4.4/jpdl'>"
- +" <swimlane candidate-groups='A' name='A'/>"
- +" <start name='start'>"
- +" <transition to='task1A'/>"
- +" </start>"
- +" <task name='task1A' swimlane='A'>"
- +" <transition to='end'/>"
- +" </task>"
- +" <end name='end'/>"
- +"</process>"
- );
-
-
- ProcessInstance processInstance = executionService.startProcessInstanceByKey("SwimlaneBug2749");
-
- assertActivitiesActive(processInstance.getId(), "task1A");
-
- TaskQuery taskQuery = taskService.createTaskQuery();
- taskQuery.processInstanceId(processInstance.getId());
-
- Task t1a = getTask(taskQuery.list(),"task1A");
- taskService.assignTask(t1a.getId(), "someone2");
- taskService.completeTask(t1a.getId());
-
- assertProcessInstanceEnded(processInstance);
- }
-
-
-}
14 years, 3 months
JBoss JBPM SVN: r6199 - jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities.
by do-not-reply@jboss.org
Author: kukeltje
Date: 2010-02-27 10:16:29 -0500 (Sat, 27 Feb 2010)
New Revision: 6199
Added:
jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/JoinSwimlane2749.java
Log:
Test for JBPM-2749
Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/JoinSwimlane2749.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/JoinSwimlane2749.java (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/JoinSwimlane2749.java 2010-02-27 15:16:29 UTC (rev 6199)
@@ -0,0 +1,199 @@
+package org.jbpm.test.activities;
+
+import java.util.List;
+
+import org.jbpm.api.Execution;
+import org.jbpm.api.ProcessInstance;
+import org.jbpm.api.TaskQuery;
+import org.jbpm.api.job.Job;
+import org.jbpm.api.task.Task;
+import org.jbpm.test.JbpmTestCase;
+
+/**
+ * @author Ronald van Kuijk
+ */
+public class JoinSwimlane2749 extends JbpmTestCase {
+
+ public void testJoinSwimlaneAsync () {
+
+ deployJpdlXmlString("<?xml version='1.0' encoding='UTF-8'?>"
+ +"<process name='JoinSwimlaneBugAsync2749' xmlns='http://jbpm.org/4.4/jpdl'>"
+ +" <swimlane candidate-groups='A' name='A'/>"
+ +" <swimlane candidate-groups='B' name='B'/>"
+ +" <start name='start'>"
+ +" <transition to='task1A'/>"
+ +" </start>"
+ +" <task name='task1A' swimlane='A'>"
+ +" <transition to='task1B'/>"
+ +" </task>"
+ +" <task name='task1B' swimlane='B'>"
+ +" <transition to='fork'/>"
+ +" </task>"
+ +" <fork name='fork'>"
+ +" <transition to='task2A'/>"
+ +" <transition to='task2B'/>"
+ +" </fork>"
+ +" <task name='task2A' swimlane='A'>"
+ +" <transition to='join'/>"
+ +" </task>"
+ +" <task name='task2B' swimlane='B'>"
+ +" <transition to='join'/>"
+ +" </task>"
+ +" <join name='join' continue='async'>"
+ +" <transition to='end'/>"
+ +" </join>"
+ +" <end name='end'/>"
+ +"</process>"
+ );
+
+
+ ProcessInstance processInstance = executionService.startProcessInstanceByKey("JoinSwimlaneBugAsync2749");
+
+ String processInstanceId = processInstance.getId();
+
+ assertActivitiesActive(processInstanceId, "task1A");
+
+ TaskQuery taskQuery = taskService.createTaskQuery();
+ taskQuery.processInstanceId(processInstanceId);
+
+ Task t1a = getTask(taskQuery.list(),"task1A");
+ taskService.assignTask(t1a.getId(), "someone2");
+ taskService.completeTask(t1a.getId());
+
+ assertActivitiesActive(processInstanceId, "task1B");
+
+ Task t1b = getTask(taskQuery.list(),"task1B");
+ taskService.assignTask(t1b.getId(), "someone1");
+ taskService.completeTask(t1b.getId());
+
+ assertActivitiesActive(processInstanceId, "task2A","task2B");
+
+ taskService.completeTask(getTask(taskQuery.list(),"task2A").getId());
+
+ assertNotActivityActive(processInstanceId, "task1A");
+ assertActivitiesActive(processInstanceId, "task2B");
+
+ Task t2b = getTask(taskQuery.list(),"task2B");
+ taskService.completeTask(t2b.getId());
+
+ assertEquals(Execution.STATE_ACTIVE_ROOT, processInstance.getState());
+
+ List<Job> jobs = managementService
+ .createJobQuery()
+ .processInstanceId(processInstanceId)
+ .list();
+
+ assertEquals(2, jobs.size());
+
+ managementService.executeJob(jobs.get(0).getId());
+ managementService.executeJob(jobs.get(1).getId());
+
+ jobs = managementService
+ .createJobQuery()
+ .processInstanceId(processInstanceId)
+ .list();
+
+ assertEquals(0, jobs.size());
+
+ assertProcessInstanceEnded(processInstance);
+ }
+
+ public void testJoinSwimlane () {
+
+ deployJpdlXmlString("<?xml version='1.0' encoding='UTF-8'?>"
+ +"<process name='JoinSwimlaneBug2749' xmlns='http://jbpm.org/4.4/jpdl'>"
+ +" <swimlane candidate-groups='A' name='A'/>"
+ +" <swimlane candidate-groups='B' name='B'/>"
+ +" <start name='start'>"
+ +" <transition to='task1A'/>"
+ +" </start>"
+ +" <task name='task1A' swimlane='A'>"
+ +" <transition to='task1B'/>"
+ +" </task>"
+ +" <task name='task1B' swimlane='B'>"
+ +" <transition to='fork'/>"
+ +" </task>"
+ +" <fork name='fork'>"
+ +" <transition to='task2A'/>"
+ +" <transition to='task2B'/>"
+ +" </fork>"
+ +" <task name='task2A' swimlane='A'>"
+ +" <transition to='join'/>"
+ +" </task>"
+ +" <task name='task2B' swimlane='B'>"
+ +" <transition to='join'/>"
+ +" </task>"
+ +" <join name='join'>"
+ +" <transition to='end'/>"
+ +" </join>"
+ +" <end name='end'/>"
+ +"</process>"
+ );
+
+
+ ProcessInstance processInstance = executionService.startProcessInstanceByKey("JoinSwimlaneBug2749");
+
+ String processInstanceId = processInstance.getId();
+
+ assertActivitiesActive(processInstanceId, "task1A");
+
+ TaskQuery taskQuery = taskService.createTaskQuery();
+ taskQuery.processInstanceId(processInstanceId);
+
+ Task t1a = getTask(taskQuery.list(),"task1A");
+ taskService.assignTask(t1a.getId(), "someone2");
+ taskService.completeTask(t1a.getId());
+
+ assertActivitiesActive(processInstanceId, "task1B");
+
+ Task t1b = getTask(taskQuery.list(),"task1B");
+ taskService.assignTask(t1b.getId(), "someone1");
+ taskService.completeTask(t1b.getId());
+
+ assertActivitiesActive(processInstanceId, "task2A","task2B");
+
+ taskService.completeTask(getTask(taskQuery.list(),"task2A").getId());
+
+ assertNotActivityActive(processInstanceId, "task1A");
+ assertActivitiesActive(processInstanceId, "task2B");
+
+ Task t2b = getTask(taskQuery.list(),"task2B");
+ taskService.completeTask(t2b.getId());
+
+ assertProcessInstanceEnded(processInstance);
+}
+
+
+
+ public void testSwimlane () {
+
+ deployJpdlXmlString("<?xml version='1.0' encoding='UTF-8'?>"
+ +"<process name='SwimlaneBug2749' xmlns='http://jbpm.org/4.4/jpdl'>"
+ +" <swimlane candidate-groups='A' name='A'/>"
+ +" <start name='start'>"
+ +" <transition to='task1A'/>"
+ +" </start>"
+ +" <task name='task1A' swimlane='A'>"
+ +" <transition to='end'/>"
+ +" </task>"
+ +" <end name='end'/>"
+ +"</process>"
+ );
+
+
+ ProcessInstance processInstance = executionService.startProcessInstanceByKey("SwimlaneBug2749");
+
+ assertActivitiesActive(processInstance.getId(), "task1A");
+
+ TaskQuery taskQuery = taskService.createTaskQuery();
+ taskQuery.processInstanceId(processInstance.getId());
+
+ Task t1a = getTask(taskQuery.list(),"task1A");
+ taskService.assignTask(t1a.getId(), "someone2");
+ taskService.completeTask(t1a.getId());
+
+ assertProcessInstanceEnded(processInstance);
+ }
+
+
+}
14 years, 3 months
JBoss JBPM SVN: r6198 - jbpm3/branches/jbpm-3.2-soa/docs.
by do-not-reply@jboss.org
Author: jbarrez
Date: 2010-02-26 03:43:29 -0500 (Fri, 26 Feb 2010)
New Revision: 6198
Modified:
jbpm3/branches/jbpm-3.2-soa/docs/jbpm3.tooling.interfaces.odt
Log:
added diretcory layout and correct location of version.info.xml
Modified: jbpm3/branches/jbpm-3.2-soa/docs/jbpm3.tooling.interfaces.odt
===================================================================
(Binary files differ)
14 years, 3 months
JBoss JBPM SVN: r6197 - jbpm3/branches/jbpm-3.2-soa/docs.
by do-not-reply@jboss.org
Author: jbarrez
Date: 2010-02-26 03:38:32 -0500 (Fri, 26 Feb 2010)
New Revision: 6197
Modified:
jbpm3/branches/jbpm-3.2-soa/docs/jbpm3.database.odt
Log:
Added precise db requirements to doc
Modified: jbpm3/branches/jbpm-3.2-soa/docs/jbpm3.database.odt
===================================================================
(Binary files differ)
14 years, 3 months
JBoss JBPM SVN: r6196 - in jbpm3/branches/jbpm-3.2-soa/modules/core/src: test/java/org/jbpm/jpdl/par and 1 other directory.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2010-02-26 00:26:54 -0500 (Fri, 26 Feb 2010)
New Revision: 6196
Modified:
jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/svc/Services.java
jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jpdl/par/ProcessClassLoaderTest.java
Log:
JBPM-2802: revert regression in Services.hasService
Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/svc/Services.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/svc/Services.java 2010-02-26 04:40:39 UTC (rev 6195)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/svc/Services.java 2010-02-26 05:26:54 UTC (rev 6196)
@@ -137,7 +137,7 @@
}
public boolean hasService(String name) {
- return getService(name) != null;
+ return services != null ? services.containsKey(name) : false;
}
public Service getService(String name) {
Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jpdl/par/ProcessClassLoaderTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jpdl/par/ProcessClassLoaderTest.java 2010-02-26 04:40:39 UTC (rev 6195)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jpdl/par/ProcessClassLoaderTest.java 2010-02-26 05:26:54 UTC (rev 6196)
@@ -13,10 +13,11 @@
import org.jbpm.util.ClassLoaderUtil;
/**
- * Test case for ProcessClassLoader hierarchy and setting the ContextClassLoader correctly. Relates
- * to {@link ConfigurableClassLoadersTest}.
+ * Test case for ProcessClassLoader hierarchy and setting the ContextClassLoader
+ * correctly. Relates to {@link ConfigurableClassLoadersTest}.
*
- * @author Tom Baeyens, bernd.ruecker(a)camunda.com
+ * @author Tom Baeyens
+ * @author bernd.ruecker(a)camunda.com
*/
public class ProcessClassLoaderTest extends AbstractJbpmTestCase {
@@ -27,8 +28,8 @@
}
}
- static int contextLoadedActionInvocations = 0;
- static ClassLoader originalClassLoader = null;
+ static int contextLoadedActionInvocations;
+ static ClassLoader originalClassLoader;
protected void setUp() throws Exception {
super.setUp();
@@ -52,23 +53,23 @@
}
/*
- * DOES NOT configure usage of the context classloader. So this tests the default (backwards
- * compatible) behaviour. so the classloading hierarchy of DefaultLoadedAction should be
- * ProcessClassloader -> jbpm-lib classloader
+ * DOES NOT configure usage of the context classloader. So this tests the
+ * default (backwards compatible) behaviour. so the classloading hierarchy of
+ * DefaultLoadedAction should be ProcessClassloader -> jbpm-lib classloader
*/
public void testDefaultClassLoader() {
ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
- + " <start-state name='start'>"
- + " <transition to='state'>"
- + " <action class='"
- + DefaultLoadedAction.class.getName()
- + "' />"
- + " </transition>"
- + " </start-state>"
- + " <state name='state'>"
- + " <transition to='end'/>"
- + " </state>"
- + "</process-definition>");
+ + " <start-state name='start'>"
+ + " <transition to='state'>"
+ + " <action class='"
+ + DefaultLoadedAction.class.getName()
+ + "' />"
+ + " </transition>"
+ + " </start-state>"
+ + " <state name='state'>"
+ + " <transition to='end'/>"
+ + " </state>"
+ + "</process-definition>");
// create the process instance
ProcessInstance processInstance = new ProcessInstance(processDefinition);
@@ -89,40 +90,38 @@
assertSame(TestContextClassLoader.class, testContextClassLoader.getClass());
assertSame(originalClassLoader, testContextClassLoader.getParent());
-
contextLoadedActionInvocations++;
}
}
/*
- * configures usage of the context classloader so the classloading hierarchy of
- * ContextLoadedAction should be ProcessClassloader -> TestContextClassLoader ->
- * Thread.currentContextClassLoader
+ * configures usage of the context classloader so the classloading hierarchy
+ * of ContextLoadedAction should be ProcessClassloader ->
+ * TestContextClassLoader -> Thread.currentContextClassLoader
*/
public void testContextClassLoader() {
-
JbpmConfiguration jbpmConfiguration = JbpmConfiguration.parseXmlString("<jbpm-configuration>"
- + " <string name='jbpm.class.loader' value='context' />"
- + "</jbpm-configuration>");
+ + " <string name='jbpm.class.loader' value='context' />"
+ + "</jbpm-configuration>");
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
try {
TestContextClassLoader testContextClassLoader = new TestContextClassLoader(
- originalClassLoader);
+ originalClassLoader);
Thread.currentThread().setContextClassLoader(testContextClassLoader);
ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
- + " <start-state name='start'>"
- + " <transition to='state'>"
- + " <action class='"
- + ContextLoadedAction.class.getName()
- + "' />"
- + " </transition>"
- + " </start-state>"
- + " <state name='state'>"
- + " <transition to='end'/>"
- + " </state>"
- + "</process-definition>");
+ + " <start-state name='start'>"
+ + " <transition to='state'>"
+ + " <action class='"
+ + ContextLoadedAction.class.getName()
+ + "' />"
+ + " </transition>"
+ + " </start-state>"
+ + " <state name='state'>"
+ + " <transition to='end'/>"
+ + " </state>"
+ + "</process-definition>");
// create the process instance
ProcessInstance processInstance = new ProcessInstance(processDefinition);
@@ -139,9 +138,10 @@
}
/*
- * a third test should set the testcontextClassLoader in the test and then let the action throw an
- * exception. Then it should be verified that the original classloader is still restored
- * correctly. Easiest is to start from a copy of the testContextClassLoader
+ * a third test should set the testcontextClassLoader in the test and then let
+ * the action throw an exception. Then it should be verified that the original
+ * classloader is still restored correctly. Easiest is to start from a copy of
+ * the testContextClassLoader
*/
public static class ContextLoadedExceptionAction implements ActionHandler {
@@ -155,7 +155,6 @@
assertSame(TestContextClassLoader.class, testContextClassLoader.getClass());
assertSame(originalClassLoader, testContextClassLoader.getParent());
-
contextLoadedActionInvocations++;
throw new JbpmException("simulate exception");
@@ -164,37 +163,36 @@
public void testContextClassLoaderException() {
JbpmConfiguration jbpmConfiguration = JbpmConfiguration.parseXmlString("<jbpm-configuration>"
- + " <string name='jbpm.class.loader' value='context' />"
- + "</jbpm-configuration>");
+ + " <string name='jbpm.class.loader' value='context' />"
+ + "</jbpm-configuration>");
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
- TestContextClassLoader testContextClassLoader = new TestContextClassLoader(originalClassLoader);
+ TestContextClassLoader testContextClassLoader = new TestContextClassLoader(
+ originalClassLoader);
try {
Thread.currentThread().setContextClassLoader(testContextClassLoader);
ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
- + " <start-state name='start'>"
- + " <transition to='state'>"
- + " <action class='"
- + ContextLoadedExceptionAction.class.getName()
- + "' />"
- + " </transition>"
- + " </start-state>"
- + " <state name='state'>"
- + " <transition to='end'/>"
- + " </state>"
- + "</process-definition>");
+ + " <start-state name='start'>"
+ + " <transition to='state'>"
+ + " <action class='"
+ + ContextLoadedExceptionAction.class.getName()
+ + "' />"
+ + " </transition>"
+ + " </start-state>"
+ + " <state name='state'>"
+ + " <transition to='end'/>"
+ + " </state>"
+ + "</process-definition>");
// create the process instance
ProcessInstance processInstance = new ProcessInstance(processDefinition);
processInstance.signal();
-
}
catch (JbpmException ex) {
assertEquals(1, contextLoadedActionInvocations);
assertEquals("simulate exception", ex.getMessage());
assertSame(testContextClassLoader, Thread.currentThread().getContextClassLoader());
-
}
finally {
Thread.currentThread().setContextClassLoader(originalClassLoader);
14 years, 3 months