@Override public Map<String, WorkItemHandler> getWorkItemHandlers(RuntimeEngine runtime) { Map<String, WorkItemHandler> handlers = super.getWorkItemHandlers(runtime); handlers.put("MyTask", new DoNothingWorkItemHandler()); return handlers; }
@Override public Map<String, WorkItemHandler> getWorkItemHandlers(RuntimeEngine runtime) { Map<String, WorkItemHandler> handlers = super.getWorkItemHandlers(runtime); handlers.put("MyTask", new DoNothingWorkItemHandler()); return handlers; }
@Test public void testVariableRefInIntermediateThrowEvent() throws Exception { KieBase kbase = createKnowledgeBase("BPMN2-WorkingMessageModel.bpmn2"); KieSession ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("Send Task", new DoNothingWorkItemHandler()); ksession.getWorkItemManager().registerWorkItemHandler("Service Task", new DoNothingWorkItemHandler()); HashMap<String, Object> parameters = new HashMap<>(); parameters.put("messageContent", "some text"); ProcessInstance processInstance = ksession.startProcess("workingMessageModel", parameters); assertThat(processInstance).isNotNull(); }
@Test public void testUserTaskWithDataStoreScenario() throws Exception { KieBase kbase = createKnowledgeBase("BPMN2-UserTaskWithDataStore.bpmn2"); StatefulKnowledgeSession ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new DoNothingWorkItemHandler()); ksession.startProcess("UserProcess"); // we can't test further as user tasks are asynchronous. }
@Test(timeout=10000) public void testIntermediateCatchEventTimer() throws Exception { NodeLeftCountDownProcessEventListener countDownListener = new NodeLeftCountDownProcessEventListener("timer", 1); KieBase kbase = createKnowledgeBase("BPMN2-IntermediateCatchEventTimerDuration.bpmn2"); KieSession ksession = createKnowledgeSession(kbase); ksession.addEventListener(countDownListener); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new DoNothingWorkItemHandler()); ProcessInstance processInstance = ksession.startProcess("IntermediateCatchEvent"); assertThat(processInstance.getState()).isEqualTo(ProcessInstance.STATE_ACTIVE); // now wait for 1 second for timer to trigger countDownListener.waitTillCompleted(); ksession = restoreSession(ksession, true); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new DoNothingWorkItemHandler()); assertProcessInstanceCompleted(processInstance.getId(), ksession); }
@Test(timeout=10000) public void testTimerBoundaryEvent() throws Exception { NodeLeftCountDownProcessEventListener countDownListener = new NodeLeftCountDownProcessEventListener("TimerEvent", 1); KieBase kbase = createKnowledgeBase("BPMN2-TimerBoundaryEventDuration.bpmn2"); KieSession ksession = createKnowledgeSession(kbase); ksession.addEventListener(countDownListener); ksession.getWorkItemManager().registerWorkItemHandler("MyTask", new DoNothingWorkItemHandler()); ProcessInstance processInstance = ksession.startProcess("TimerBoundaryEvent"); assertThat(processInstance.getState()).isEqualTo(ProcessInstance.STATE_ACTIVE); countDownListener.waitTillCompleted(); assertProcessInstanceCompleted(processInstance.getId(), ksession); }
@Test(timeout=10000) public void testTimerBoundaryEventInterrupting() throws Exception { NodeLeftCountDownProcessEventListener countDownListener = new NodeLeftCountDownProcessEventListener("TimerEvent", 1); KieBase kbase = createKnowledgeBase("BPMN2-TimerBoundaryEventInterrupting.bpmn2"); KieSession ksession = createKnowledgeSession(kbase); ksession.addEventListener(countDownListener); ksession.getWorkItemManager().registerWorkItemHandler("MyTask", new DoNothingWorkItemHandler()); ProcessInstance processInstance = ksession.startProcess("TimerBoundaryEvent"); assertThat(processInstance.getState()).isEqualTo(ProcessInstance.STATE_ACTIVE); countDownListener.waitTillCompleted(); assertProcessInstanceCompleted(processInstance.getId(), ksession); }
@Test public void testErrorBoundaryEvent() throws Exception { KieBase kbase = createKnowledgeBase("BPMN2-ErrorBoundaryEventInterrupting.bpmn2"); ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("MyTask", new DoNothingWorkItemHandler()); ProcessInstance processInstance = ksession .startProcess("ErrorBoundaryEvent"); assertProcessInstanceFinished(processInstance, ksession); }
@Test(timeout=10000) public void testIntermediateCatchEventTimerCycle1() throws Exception { NodeLeftCountDownProcessEventListener countDownListener = new NodeLeftCountDownProcessEventListener("timer", 1); KieBase kbase = createKnowledgeBase("BPMN2-IntermediateCatchEventTimerCycle1.bpmn2"); ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new DoNothingWorkItemHandler()); ksession.addEventListener(countDownListener); ProcessInstance processInstance = ksession.startProcess("IntermediateCatchEvent"); assertProcessInstanceActive(processInstance); // now wait for 1 second for timer to trigger countDownListener.waitTillCompleted(); ksession = restoreSession(ksession, true); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new DoNothingWorkItemHandler()); assertProcessInstanceFinished(processInstance, ksession); }
@Test public void testErrorBoundaryEvent() throws Exception { KieBase kbase = createKnowledgeBase("BPMN2-ErrorBoundaryEventInterrupting.bpmn2"); KieSession ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("MyTask", new DoNothingWorkItemHandler()); ProcessInstance processInstance = ksession.startProcess("ErrorBoundaryEvent"); assertProcessInstanceCompleted(processInstance.getId(), ksession); }
@Test(timeout=10000) public void testIntermediateCatchEventTimerDateISO() throws Exception { NodeLeftCountDownProcessEventListener countDownListener = new NodeLeftCountDownProcessEventListener("timer", 1); KieBase kbase = createKnowledgeBaseWithoutDumper("BPMN2-IntermediateCatchEventTimerDateISO.bpmn2"); ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new DoNothingWorkItemHandler()); ksession.addEventListener(countDownListener); HashMap<String, Object> params = new HashMap<String, Object>(); OffsetDateTime plusTwoSeconds = OffsetDateTime.now().plusSeconds(2); params.put("date", plusTwoSeconds.toString()); ProcessInstance processInstance = ksession.startProcess("IntermediateCatchEvent", params); assertProcessInstanceActive(processInstance); // now wait for 1 second for timer to trigger countDownListener.waitTillCompleted(); assertProcessInstanceFinished(processInstance, ksession); }
@Test(timeout=10000) public void testTimerBoundaryEventInterrupting() throws Exception { NodeLeftCountDownProcessEventListener countDownListener = new NodeLeftCountDownProcessEventListener("TimerEvent", 1); KieBase kbase = createKnowledgeBase("BPMN2-TimerBoundaryEventInterrupting.bpmn2"); ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("MyTask", new DoNothingWorkItemHandler()); ksession.addEventListener(countDownListener); ProcessInstance processInstance = ksession.startProcess("TimerBoundaryEvent"); assertProcessInstanceActive(processInstance); countDownListener.waitTillCompleted(); ksession = restoreSession(ksession, true); logger.debug("Firing timer"); assertProcessInstanceFinished(processInstance, ksession); }
@Test public void testSignalBoundaryEventInterrupting() throws Exception { KieBase kbase = createKnowledgeBase("BPMN2-SignalBoundaryEventInterrupting.bpmn2"); ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("MyTask", new DoNothingWorkItemHandler()); ProcessInstance processInstance = ksession .startProcess("SignalBoundaryEvent"); assertProcessInstanceActive(processInstance); ksession = restoreSession(ksession, true); ksession.signalEvent("MyMessage", null); assertProcessInstanceFinished(processInstance, ksession); }
@Test(timeout=10000) public void testTimerBoundaryEventCycle1() throws Exception { NodeLeftCountDownProcessEventListener countDownListener = new NodeLeftCountDownProcessEventListener("TimerEvent", 1); KieBase kbase = createKnowledgeBase("BPMN2-TimerBoundaryEventCycle1.bpmn2"); ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("MyTask", new DoNothingWorkItemHandler()); ksession.addEventListener(countDownListener); ProcessInstance processInstance = ksession.startProcess("TimerBoundaryEvent"); assertProcessInstanceActive(processInstance); countDownListener.waitTillCompleted(); ksession = restoreSession(ksession, true); assertProcessInstanceFinished(processInstance, ksession); }
@Test(timeout=10000) public void testTimerBoundaryEventDuration() throws Exception { NodeLeftCountDownProcessEventListener countDownListener = new NodeLeftCountDownProcessEventListener("TimerEvent", 1); KieBase kbase = createKnowledgeBase("BPMN2-TimerBoundaryEventDuration.bpmn2"); ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("MyTask", new DoNothingWorkItemHandler()); ksession.addEventListener(countDownListener); ProcessInstance processInstance = ksession.startProcess("TimerBoundaryEvent"); assertProcessInstanceActive(processInstance); countDownListener.waitTillCompleted(); ksession = restoreSession(ksession, true); assertProcessInstanceFinished(processInstance, ksession); }
@Test(timeout=10000) public void testTimerBoundaryEventDurationISO() throws Exception { NodeLeftCountDownProcessEventListener countDownListener = new NodeLeftCountDownProcessEventListener("TimerEvent", 1); KieBase kbase = createKnowledgeBase("BPMN2-TimerBoundaryEventDurationISO.bpmn2"); ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("MyTask", new DoNothingWorkItemHandler()); ksession.addEventListener(countDownListener); ProcessInstance processInstance = ksession.startProcess("TimerBoundaryEvent"); assertProcessInstanceActive(processInstance); countDownListener.waitTillCompleted(); ksession = restoreSession(ksession, true); assertProcessInstanceFinished(processInstance, ksession); }
@Test(timeout=10000) public void testIntermediateCatchEventTimerCycleISO() throws Exception { NodeLeftCountDownProcessEventListener countDownListener = new NodeLeftCountDownProcessEventListener("timer", 5); KieBase kbase = createKnowledgeBase("BPMN2-IntermediateCatchEventTimerCycleISO.bpmn2"); ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new DoNothingWorkItemHandler()); ksession.addEventListener(countDownListener); ProcessInstance processInstance = ksession.startProcess("IntermediateCatchEvent"); assertProcessInstanceActive(processInstance); countDownListener.waitTillCompleted(); assertProcessInstanceActive(processInstance); ksession.abortProcessInstance(processInstance.getId()); }
@Test(timeout=10000) public void testTimerBoundaryEventCycle2() throws Exception { NodeLeftCountDownProcessEventListener countDownListener = new NodeLeftCountDownProcessEventListener("TimerEvent", 3); KieBase kbase = createKnowledgeBase("BPMN2-TimerBoundaryEventCycle2.bpmn2"); ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("MyTask", new DoNothingWorkItemHandler()); ksession.addEventListener(countDownListener); ProcessInstance processInstance = ksession.startProcess("TimerBoundaryEvent"); assertProcessInstanceActive(processInstance); countDownListener.waitTillCompleted(); assertProcessInstanceActive(processInstance); ksession.abortProcessInstance(processInstance.getId()); }
@Test(timeout=10000) public void testIntermediateCatchEventTimerCycle2() throws Exception { NodeLeftCountDownProcessEventListener countDownListener = new NodeLeftCountDownProcessEventListener("timer", 3); KieBase kbase = createKnowledgeBase("BPMN2-IntermediateCatchEventTimerCycle2.bpmn2"); ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new DoNothingWorkItemHandler()); ksession.addEventListener(countDownListener); ProcessInstance processInstance = ksession.startProcess("IntermediateCatchEvent"); assertProcessInstanceActive(processInstance); // now wait for 1 second for timer to trigger countDownListener.waitTillCompleted(); assertProcessInstanceActive(processInstance); ksession.abortProcessInstance(processInstance.getId()); }
@Test(timeout=10000) @RequirePersistence(false) public void testTimerBoundaryEventCycleISO() throws Exception { NodeLeftCountDownProcessEventListener countDownListener = new NodeLeftCountDownProcessEventListener("TimerEvent", 2); KieBase kbase = createKnowledgeBase("BPMN2-TimerBoundaryEventCycleISO.bpmn2"); ksession = createKnowledgeSession(kbase); ksession.addEventListener(countDownListener); ksession.getWorkItemManager().registerWorkItemHandler("MyTask", new DoNothingWorkItemHandler()); ProcessInstance processInstance = ksession.startProcess("TimerBoundaryEvent"); assertProcessInstanceActive(processInstance); countDownListener.waitTillCompleted(); assertProcessInstanceActive(processInstance); ksession.abortProcessInstance(processInstance.getId()); }