Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put("name", "John Doe");
ProcessInstance processInstance = ksession.startProcess( "org.drools.test.TestProcess", parameters );
TestWorkItemHandler handler = TestWorkItemHandler.getInstance();
WorkItem workItem = handler.getWorkItem();
assertNotNull( workItem );
assertEquals( "John Doe", workItem.getParameter("name"));
ksession = InfinispanKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env );
processInstance = ksession.getProcessInstance( processInstance.getId() );
assertNotNull( processInstance );
ksession = InfinispanKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env );
ksession.getWorkItemManager().completeWorkItem( workItem.getId(), null );
workItem = handler.getWorkItem();
assertNotNull( workItem );
assertEquals( "John Doe", workItem.getParameter("text"));
ksession = InfinispanKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env );
processInstance = ksession.getProcessInstance( processInstance.getId() );
assertNotNull( processInstance );
ksession = InfinispanKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env );
ksession.getWorkItemManager().completeWorkItem( workItem.getId(), null );
workItem = handler.getWorkItem();
assertNull( workItem );
ksession = InfinispanKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env );
processInstance = ksession.getProcessInstance( processInstance.getId() );
assertNull( processInstance );