@Test public void testErrornousHandlerWithStrategyAbortWaitState() throws Exception { KieBase kbase = createKnowledgeBaseWithoutDumper("handler/BPMN2-UserTaskWithBooleanOutput.bpmn2", "handler/BPMN2-ReceiveTask.bpmn2"); KieSession ksession = createKnowledgeSession(kbase); ErrornousWorkItemHandler workItemHandler = new ErrornousWorkItemHandler("ReceiveTask", HandlingStrategy.ABORT); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler); TestWorkItemHandler testHandler = new TestWorkItemHandler(); ksession.getWorkItemManager().registerWorkItemHandler("Receive Task", testHandler); Map<String, Object> params = new HashMap<>(); params.put("isChecked", false); ProcessInstance processInstance = ksession.startProcess("com.sample.boolean", params); assertEquals(ProcessInstance.STATE_ACTIVE, processInstance.getState()); WorkItem receiveWorkItem = testHandler.getWorkItem(); Map<String, Object> results = new HashMap<>(); results.put("Message", true); ksession.getWorkItemManager().completeWorkItem(receiveWorkItem.getId(), results); assertProcessVarValue(processInstance, "isChecked", "false"); assertProcessInstanceCompleted(processInstance); }
@Test public void testErrornousHandlerWithStrategyCompleteWaitState() throws Exception { KieBase kbase = createKnowledgeBaseWithoutDumper("handler/BPMN2-UserTaskWithBooleanOutput.bpmn2", "handler/BPMN2-ReceiveTask.bpmn2"); KieSession ksession = createKnowledgeSession(kbase); TestWorkItemHandler testHandler = new TestWorkItemHandler(); ErrornousWorkItemHandler workItemHandler = new ErrornousWorkItemHandler("ReceiveTask", HandlingStrategy.COMPLETE); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler); ksession.getWorkItemManager().registerWorkItemHandler("Receive Task", testHandler); ProcessInstance processInstance = ksession.startProcess("com.sample.boolean"); assertEquals(ProcessInstance.STATE_ACTIVE, processInstance.getState()); WorkItem receiveWorkItem = testHandler.getWorkItem(); Map<String, Object> results = new HashMap<>(); results.put("Message", true); ksession.getWorkItemManager().completeWorkItem(receiveWorkItem.getId(), results); assertProcessVarValue(processInstance, "isChecked", "true"); assertProcessInstanceCompleted(processInstance); }
@Test public void testErrornousHandlerWithStrategyAbortWaitState() throws Exception { KieBase kbase = createKnowledgeBaseWithoutDumper("handler/BPMN2-UserTaskWithBooleanOutput.bpmn2", "handler/BPMN2-ReceiveTask.bpmn2"); KieSession ksession = createKnowledgeSession(kbase); ErrornousWorkItemHandler workItemHandler = new ErrornousWorkItemHandler("ReceiveTask", HandlingStrategy.ABORT); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler); TestWorkItemHandler testHandler = new TestWorkItemHandler(); ksession.getWorkItemManager().registerWorkItemHandler("Receive Task", testHandler); Map<String, Object> params = new HashMap<>(); params.put("isChecked", false); ProcessInstance processInstance = ksession.startProcess("com.sample.boolean", params); assertEquals(ProcessInstance.STATE_ACTIVE, processInstance.getState()); WorkItem receiveWorkItem = testHandler.getWorkItem(); Map<String, Object> results = new HashMap<>(); results.put("Message", true); ksession.getWorkItemManager().completeWorkItem(receiveWorkItem.getId(), results); assertProcessVarValue(processInstance, "isChecked", "false"); assertProcessInstanceCompleted(processInstance); }
@Test public void testErrornousHandlerWithStrategyCompleteWaitState() throws Exception { KieBase kbase = createKnowledgeBaseWithoutDumper("handler/BPMN2-UserTaskWithBooleanOutput.bpmn2", "handler/BPMN2-ReceiveTask.bpmn2"); KieSession ksession = createKnowledgeSession(kbase); TestWorkItemHandler testHandler = new TestWorkItemHandler(); ErrornousWorkItemHandler workItemHandler = new ErrornousWorkItemHandler("ReceiveTask", HandlingStrategy.COMPLETE); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler); ksession.getWorkItemManager().registerWorkItemHandler("Receive Task", testHandler); ProcessInstance processInstance = ksession.startProcess("com.sample.boolean"); assertEquals(ProcessInstance.STATE_ACTIVE, processInstance.getState()); WorkItem receiveWorkItem = testHandler.getWorkItem(); Map<String, Object> results = new HashMap<>(); results.put("Message", true); ksession.getWorkItemManager().completeWorkItem(receiveWorkItem.getId(), results); assertProcessVarValue(processInstance, "isChecked", "true"); assertProcessInstanceCompleted(processInstance); }