Yep! sorry. I deleted some stuff from the previous process definition in order to run it without problems (some custom listeners).
Here the process definition: | <?xml version="1.0" encoding="UTF-8"?> | | <process name="Test Websale" xmlns="http://jbpm.org/4.2/jpdl"> | <swimlane assignee="${buyer}" name="Buyer"/> | <swimlane candidate-groups="sales" name="Sales Representative"/> | <swimlane assignee="jim" name="Finantial Department"/> | <swimlane assignee="luci" name="Shippment Department"/> | | <start form="tasks/form.create.xhtml" g="81,126,48,48" name="Create new web sale order"> | <transition g="-51,-24" name="Start web sale" to="Evaluate web order"/> | </start> | | <task form="tasks/form.evaluate.xhtml" g="209,110,153,80" name="Evaluate web order" swimlane="Sales Representative"> | <reminder duedate="1 day" repeat="4 hours"/> | <transition g="220,245:-67,-3" name="More info needed" to="Fix web order data"/> | <transition g="-31,-24" name="Order ok" to="Processing Fork"/> | </task> | | <task form="tasks/form.fix.xhtml" g="204,300,169,43" name="Fix web order data" swimlane="Buyer"> | <transition g="363,246:-62,-2" name="More info added" to="Evaluate web order"/> | </task> | | <fork g="432,126,48,48" name="Processing Fork"> | <transition g="457,78:-83,-22" name="Process payment" to="Wait for money"/> | <transition g="457,220:-67,4" name="Process shipping" to="Ship item"/> | </fork> | | <task form="tasks/form.money.xhtml" g="509,38,116,80" name="Wait for money" swimlane="Finantial Department"> | <transition g="-42,-24" name="Update stock" to="Update books"/> | </task> | | <state g="615,180,100,80" name="Ship item"> | <transition g="862,221:-136,-23" name="Items sent" to="Processing Join"/> | </state> | | <join g="839,126,48,48" name="Processing Join"> | <transition g="-39,-31" name="Close order" to="Web sale processed"/> | </join> | | <end g="949,126,48,48" name="Web sale processed" state="completed"/> | | <state g="714,39,117,78" name="Update books"> | <transition g="862,76:-30,-26" name="Stock updated" to="Processing Join"/> | </state> | | </process> | And here the test case that force the error: | public class EndProcessInstanceTest extends JbpmTestCase { | // Process deployment id | String deploymentId; | | // Identities | String salesDept; | String finantialDept; | String logisticDept; | String clients; | | String processInstanceId; | String processDefinitionId; | | // Mail server | Wiser wiser = new Wiser(); | | protected void setUp() throws Exception { | super.setUp(); | | // create identities | salesDept = identityService.createGroup("sales"); | finantialDept = identityService.createGroup("finantial"); | logisticDept = identityService.createGroup("logistic"); | clients = identityService.createGroup("clients"); | | identityService.createUser("john", "John", "Doe", "j...@doe"); | identityService.createMembership("john", salesDept, "manager"); | | identityService.createUser("joe", "Joe", "Smoe", "j...@smoe"); | identityService.createMembership("joe", salesDept, "sales-repre"); | | identityService.createUser("jim", "Jim", "Cue", "j...@cue"); | identityService.createMembership("jim", finantialDept, "employee"); | | identityService.createUser("luci", "Luci", "Lee", "l...@lee"); | identityService.createMembership("luci", logisticDept, "employee"); | | identityService.createUser("rex", "Rex", "Frez", "r...@frez"); | identityService.createMembership("rex", clients, "client"); | | // deploy process | deploymentId = repositoryService.createDeployment() | .addResourceFromClasspath("jboss-test-websale.jpdl.xml") | .deploy(); | | // the tearDown of the parent class will dispose the registered deployments | registerDeployment(deploymentId); | | processDefinitionId = repositoryService.createProcessDefinitionQuery(). | deploymentId(deploymentId).uniqueResult().getId(); | | // start mail server | wiser.setPort(2525); | wiser.start(); | } | | protected void tearDown() throws Exception { | // stop mail server | wiser.stop(); | | // delete identities | identityService.deleteUser("john"); | identityService.deleteUser("joe"); | identityService.deleteUser("jim"); | identityService.deleteUser("luci"); | | identityService.deleteUser("rex"); | | identityService.deleteGroup(salesDept); | identityService.deleteGroup(finantialDept); | identityService.deleteGroup(logisticDept); | identityService.deleteGroup(clients); | | super.tearDown(); | } | | /** | * Start a new process instance and force the instance end | * | * - One task and one Job will be created at process startup | * | * @throws Throwable | */ | public void testEndInstance() throws Throwable { | // Prepare start variables and start new process instance | startProcess(); | | // Force the process instance end with a "cancelled" state | executionService.endProcessInstance(processInstanceId, "cancelled"); | | assertProcessInstanceEnded(processDefinitionId); | | // Looking for the jobs for the given instance | List<Job> jobs = managementService.createJobQuery() | .processInstanceId(processInstanceId) | .list(); | | // No jobs should exists | assertEquals("Unexpected number of jobs", 0, jobs.size()); | | // No group tasks should exists for "joe" | List<Task> taskList = taskService.findGroupTasks("joe"); | assertEquals("Expected a single task in joe's task list", 0, taskList.size()); | } | | private void startProcess() throws Throwable { | ProcessDefinition procDef = repositoryService.createProcessDefinitionQuery().deploymentId(deploymentId).uniqueResult(); | | // Prepare process variables | Map<String, Object> orderData = new Hashtable<String, Object>(); | orderData.put("buyer", "rex"); // Used by the "Buyer" Swimlane. | | // Starting a process instance with variables | ProcessInstance instance = executionService.startProcessInstanceByKey("Test_Websale", orderData); | processInstanceId = instance.getId(); | | // Looking for the jobs for the given instance | List<Job> jobs = managementService.createJobQuery() | .processInstanceId(processInstanceId) | .list(); | | // One job must be started at the first activity | assertEquals("Unexpected number of jobs", 1, jobs.size()); | | // A group task must be created for swimlane "Sales Representatives", where joe belongs to | // Cheking the group task for joe | List<Task> taskList = taskService.findGroupTasks("joe"); | assertEquals("Expected a single task in joe's task list", 1, taskList.size()); | } | } | View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4265967#4265967 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4265967 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user