person.setName("John Doe");
parameters.put("Person", person);
WorkflowProcessInstance processInstance = (WorkflowProcessInstance)
ksession.startProcess("org.drools.actions", parameters);
assertEquals(ProcessInstance.STATE_ACTIVE, processInstance.getState());
WorkItem workItem = handler.getWorkItem();
assertNotNull(workItem);
assertEquals("John Doe", workItem.getParameter("ActorId"));
assertEquals("John Doe", workItem.getParameter("Content"));
assertEquals("John Doe", workItem.getParameter("Comment"));
ksession.getWorkItemManager().completeWorkItem(workItem.getId(), null);
assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
parameters = new HashMap<String, Object>();
parameters.put("UserName", "Jane Doe");
parameters.put("MyObject", "SomeString");
person = new Person();
person.setName("Jane Doe");
parameters.put("Person", person);
processInstance = (WorkflowProcessInstance)
ksession.startProcess("org.drools.actions", parameters);
assertEquals(ProcessInstance.STATE_ACTIVE, processInstance.getState());
workItem = handler.getWorkItem();
assertNotNull(workItem);
assertEquals("Jane Doe", workItem.getParameter("ActorId"));
assertEquals("SomeString", workItem.getParameter("Attachment"));
assertEquals("Jane Doe", workItem.getParameter("Content"));
assertEquals("Jane Doe", workItem.getParameter("Comment"));
Map<String, Object> results = new HashMap<String, Object>();
results.put("Result", "SomeOtherString");
ksession.getWorkItemManager().completeWorkItem(workItem.getId(), results);
assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
assertEquals("SomeOtherString", processInstance.getVariable("MyObject"));
assertEquals(15, processInstance.getVariable("Number"));
}