Hi, I'm having a problem creating task instances, specifically for the 1st task node in the fairly simple workflow I've created. I can create the first task ok, and I can end it, and save the instance. However upon creating the context again and reloading the process instance, things go badly - I can't create a task instance from there.
Here is a JUnit4 test case that illustrates what I am trying to do, and the processdefinition.xml is below. If anyone can point out what I'm doing wrong or point me in the right direction, I'd be most grateful. | @Test | public void nativeTaskInstanceCommits() { | File f = TestFiles.getFile("SimpleWorkflow"); | JbpmContext context = JbpmConfiguration.getInstance().createJbpmContext(); | | try { | jbpmContext.setActorId("user"); | ProcessDefinition processDefinition = ProcessDefinition.parseXmlReader(new FileReader(f)); | context.deployProcessDefinition(processDefinition); | | ProcessInstance processInstance = new ProcessInstance(processDefinition); | context.save(processInstance); | | TaskInstance taskInstance = processInstance.getTaskMgmtInstance().createStartTaskInstance(); | Long id = processInstance.getId(); | Assert.assertTrue("startTask".equals(taskInstance.getName())); | taskInstance.end(); | context.save(taskInstance); | context.close(); | | context = JbpmConfiguration.getInstance().createJbpmContext(); | | //this doesn't seem to work for me | processInstance = context.loadProcessInstanceForUpdate(id); | taskInstance = processInstance.getTaskMgmtInstance().createTaskInstance(); | Assert.assertTrue("firstTask".equals(taskInstance.getName())); | | List<?> list = taskInstance.getToken().getNode().getLeavingTransitions(); | | for(Object o : list) { | Transition trans = (Transition)o; | String name = trans.getName(); | Assert.assertTrue( (name.equals("finish")) || (name.equals("to taskNode2")) ); | } | | taskInstance.end("finish"); | Assert.assertTrue("end".equals(taskInstance.getToken().getNode().getName())); | | } catch (RuntimeException e) { | Assert.fail(e.getMessage()); | } | catch (Exception e) { | Assert.fail(e.getMessage()); | } | } | | <?xml version="1.0" encoding="UTF-8"?> | | <process-definition xmlns="" name="SimpleWorkflow"> | | | <swimlane name="swimlane1"> | <assignment expression="user(test)"></assignment> | </swimlane> | | | <start-state name="start"> | <task name="startTask" swimlane="swimlane1"> | <description> | The start node's Task | </description> | </task> | <transition to="taskNode1" name="starting transition"></transition> | </start-state> | | | <task-node name="taskNode1"> | <task swimlane="swimlane1" name="firstTask"> | <description> | The first task in the workflow | </description> | </task> | <transition to="taskNode2" name="to taskNode2"></transition> | <transition to="end" name="finish"></transition> | </task-node> | | <task-node name="taskNode2"> | <task name="secondTask" swimlane="swimlane1"> | <description> | The second task in the workflow | </description> | </task> | <transition to="end" name="to end"></transition> | </task-node> | | | <end-state name="end"></end-state> | | | </process-definition> | View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4122220#4122220 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4122220 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user