assertNotNull(managerV2); ProcessInstance pi1 = ksession.startProcess(CYCLE_TIMER_ID_V1, params); assertNotNull(pi1); assertEquals(ProcessInstance.STATE_ACTIVE, pi1.getState()); JPAAuditLogService auditService = new JPAAuditLogService(emf); ProcessInstanceLog log = auditService.findProcessInstance(pi1.getId()); assertNotNull(log); assertEquals(CYCLE_TIMER_ID_V1, log.getProcessId()); assertEquals(DEPLOYMENT_ID_V1, log.getExternalId()); managerV1.disposeRuntimeEngine(runtime); MigrationSpec migrationSpec = new MigrationSpec(DEPLOYMENT_ID_V1, pi1.getId(), DEPLOYMENT_ID_V2, CYCLE_TIMER_ID_V2); log = auditService.findProcessInstance(pi1.getId()); assertNotNull(log); assertEquals(CYCLE_TIMER_ID_V2, log.getProcessId()); assertEquals(DEPLOYMENT_ID_V2, log.getExternalId()); assertEquals(ProcessInstance.STATE_ACTIVE, log.getStatus().intValue()); countdownListener.waitTillCompleted(); auditService.dispose(); assertNotNull(log); assertEquals(CYCLE_TIMER_ID_V2, log.getProcessId()); assertEquals(DEPLOYMENT_ID_V2, log.getExternalId()); assertEquals(ProcessInstance.STATE_COMPLETED, log.getStatus().intValue());
@Override public int compare( org.kie.api.runtime.manager.audit.ProcessInstanceLog o1, org.kie.api.runtime.manager.audit.ProcessInstanceLog o2 ) { return o1.getDuration().compareTo(o2.getDuration()); } }
protected void assertMigratedProcessInstance(String processId, long processInstanceId, int status) { ProcessInstanceLog instance = auditService.findProcessInstance(processInstanceId); assertNotNull(instance); assertEquals(processId, instance.getProcessId()); assertEquals(DEPLOYMENT_ID_V2, instance.getExternalId()); assertEquals(status, instance.getStatus().intValue()); }
@Test public void testErrorThrowOfChildProcessOnParent() { RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get() .newDefaultBuilder() .userGroupCallback(userGroupCallback) .addAsset(ResourceFactory.newClassPathResource("reusable-subprocess/ParentError.bpmn2"), ResourceType.BPMN2) .addAsset(ResourceFactory.newClassPathResource("reusable-subprocess/ChildError.bpmn2"), ResourceType.BPMN2) .get(); manager = RuntimeManagerFactory.Factory.get().newPerProcessInstanceRuntimeManager(environment); assertNotNull(manager); RuntimeEngine runtime = manager.getRuntimeEngine(EmptyContext.get()); KieSession ksession = runtime.getKieSession(); assertNotNull(ksession); ksession.startProcess("ParentError"); List<? extends ProcessInstanceLog> processInstanceLogs = runtime.getAuditService().findProcessInstances(); assertEquals(2, processInstanceLogs.size()); for (ProcessInstanceLog log : processInstanceLogs) { if (log.getProcessId().equals("ParentError")) { assertEquals(ProcessInstance.STATE_COMPLETED, log.getStatus().intValue()); } else if(log.getProcessId().equals("ChildError")) { assertEquals(ProcessInstance.STATE_ABORTED, log.getStatus().intValue()); } } manager.disposeRuntimeEngine(runtime); manager.close(); } @Test
private void testAdHocSubprocess() { RuntimeEngine runtime1 = manager.getRuntimeEngine(ProcessInstanceIdContext.get()); KieSession ksession1 = runtime1.getKieSession(); assertNotNull(ksession1); ProcessInstance processInstance = ksession1.startProcess("jbpm-abort-ht-issue.ad-hoc-abort-ht"); manager.disposeRuntimeEngine(runtime1); // then signal via first manager, should only signal instances owned by that manager runtime1 = manager.getRuntimeEngine(ProcessInstanceIdContext.get(processInstance.getId())); ksession1 = runtime1.getKieSession(); ksession1.addEventListener(new TaskCleanUpProcessEventListener(runtime1.getTaskService())); ksession1.signalEvent("Milestone", null, processInstance.getId()); manager.disposeRuntimeEngine(runtime1); JPAAuditLogService auditService = new JPAAuditLogService(emf); // process instance 1 should be completed by signal ProcessInstanceLog pi1Log = auditService.findProcessInstance(processInstance.getId()); assertNotNull(pi1Log); assertEquals(ProcessInstance.STATE_COMPLETED, pi1Log.getStatus().intValue()); auditService.dispose(); // close manager which will close session maintained by the manager manager.close(); }
assertNotNull(manager); RuntimeEngine runtime = manager.getRuntimeEngine(ProcessInstanceIdContext.get()); KieSession ksession = runtime.getKieSession(); long ksession1Id = ksession.getIdentifier(); assertTrue(ksession1Id == 2); ProcessInstance pi1 = ksession.startProcess("ParentProcess"); assertEquals(ProcessInstance.STATE_ACTIVE, pi1.getState()); ksession.getWorkItemManager().completeWorkItem(1, null); fail("Invalid session was used for subprocess of (" + pi1.getId() + ") process instance"); } catch (RuntimeException e) { AuditService logService = runtime.getAuditService(); String externalId = logs.get(0).getExternalId(); assertEquals(manager.getIdentifier(), externalId); assertNotNull(logs); assertEquals(1, logs.size()); externalId = logs.get(0).getExternalId(); assertEquals(manager.getIdentifier(), externalId);
assertNotNull(manager); RuntimeEngine runtime1 = manager.getRuntimeEngine(ProcessInstanceIdContext.get()); KieSession ksession1 = runtime1.getKieSession(); assertNotNull(ksession1); ProcessInstance processInstance = ksession1.startProcess("intermediate-event-scope"); manager.disposeRuntimeEngine(runtime1); RuntimeEngine runtime2 = manager.getRuntimeEngine(ProcessInstanceIdContext.get()); KieSession ksession2 = runtime2.getKieSession(); assertNotNull(ksession2); ProcessInstance processInstance2 = ksession2.startProcess("intermediate-event-scope"); manager.disposeRuntimeEngine(runtime2); runtime1 = manager.getRuntimeEngine(ProcessInstanceIdContext.get(processInstance.getId())); AuditService auditService = runtime2.getAuditService(); ProcessInstanceLog pi1Log = auditService.findProcessInstance(processInstance.getId()); assertNotNull(pi1Log); assertEquals(ProcessInstance.STATE_COMPLETED, pi1Log.getStatus().intValue()); ProcessInstanceLog pi2Log = auditService.findProcessInstance(processInstance2.getId()); assertNotNull(pi2Log); assertEquals(ProcessInstance.STATE_ACTIVE, pi2Log.getStatus().intValue());
RuntimeEngine runtime = manager.getRuntimeEngine(EmptyContext.get()); KieSession ksession = runtime.getKieSession(); assertNotNull(ksession); ProcessInstance processInstance = ksession.startProcess("ScriptTask"); assertEquals(ProcessInstance.STATE_ACTIVE, processInstance.getState()); manager.disposeRuntimeEngine(runtime); MigrationSpec migrationSpec = new MigrationSpec(manager.getIdentifier(), processInstance.getId(), manager2.getIdentifier(), "ScriptTask"); runtime = manager2.getRuntimeEngine(EmptyContext.get()); AuditService auditService = runtime.getAuditService(); ProcessInstanceLog log = auditService.findProcessInstance(processInstance.getId()); assertEquals(manager2.getIdentifier(), log.getExternalId()); assertEquals(ProcessInstance.STATE_COMPLETED, log.getStatus().intValue()); auditService.dispose(); ksession = runtime.getKieSession(); processInstance = runtime.getKieSession().getProcessInstance(processInstance.getId()); assertNull(processInstance);
assertNotNull(manager); RuntimeEngine runtime = manager.getRuntimeEngine(ProcessInstanceIdContext.get()); KieSession ksession = runtime.getKieSession(); long ksession1Id = ksession.getIdentifier(); assertTrue(ksession1Id == 2); ProcessInstance pi1 = ksession.startProcess("ParentProcess"); assertEquals(ProcessInstance.STATE_ACTIVE, pi1.getState()); ksession.abortProcessInstance(pi1.getId()); AuditService logService = runtime.getAuditService(); logs = logService.findProcessInstances("ParentProcess"); assertNotNull(logs); assertEquals(1, logs.size()); assertEquals(ProcessInstance.STATE_ABORTED, (int)logs.get(0).getStatus()); logs = logService.findProcessInstances("SubProcess"); assertNotNull(logs); assertEquals(1, logs.size()); assertEquals(ProcessInstance.STATE_ACTIVE, (int)logs.get(0).getStatus()); manager.close();
assertNotNull(manager); RuntimeEngine runtime = manager.getRuntimeEngine(CaseContext.get("CASE-001")); KieSession ksession = runtime.getKieSession(); ProcessInstance pi = ksession.startProcess("TimerInitFailure", params); assertEquals(ProcessInstance.STATE_ACTIVE, pi.getState()); manager.disposeRuntimeEngine(runtime); runtime = manager.getRuntimeEngine(CaseContext.get("CASE-001")); runtime.getKieSession(); TaskService taskService = runtime.getTaskService(); AuditService auditService = runtime.getAuditService(); ProcessInstanceLog log = auditService.findProcessInstance(pi.getId()); assertEquals(ProcessInstance.STATE_COMPLETED, log.getStatus().intValue()); auditService.dispose(); manager.disposeRuntimeEngine(runtime);
RuntimeEngine engine = firstManager.getRuntimeEngine(runtimeManagerContext); ProcessInstance instance = engine.getKieSession().startProcess(ADDTASKAFTERACTIVE_ID_V1); assertNotNull(instance); long processInstanceId = instance.getId(); assertNotNull(processInstanceId); org.kie.api.runtime.manager.audit.ProcessInstanceLog log = engine.getAuditService().findProcessInstance(processInstanceId); assertEquals(ProcessInstance.STATE_ACTIVE, log.getStatus().intValue()); assertEquals(ADDTASKAFTERACTIVE_ID_V1, log.getProcessId()); MigrationSpec migrationSpec = new MigrationSpec(firstManager.getIdentifier(), processInstanceId, secondManager.getIdentifier(), ADDTASKAFTERACTIVE_ID_V2); MigrationManager migrationManager = new MigrationManager(migrationSpec); assertTrue(report.isSuccessful()); log = engine.getAuditService().findProcessInstance(processInstanceId); assertEquals(ProcessInstance.STATE_ACTIVE, log.getStatus().intValue()); assertEquals(ADDTASKAFTERACTIVE_ID_V2, log.getProcessId()); firstManager.disposeRuntimeEngine(engine);
private void testProcessStartOnManager(RuntimeManager manager, Context<?> context) { assertNotNull(manager); RuntimeEngine runtime = manager.getRuntimeEngine(context); assertNotNull(runtime); KieSession ksession = runtime.getKieSession(); assertNotNull(ksession); ProcessInstance processInstance = ksession.startProcess("UserTask"); assertNotNull(processInstance); List<TaskSummary> tasks = runtime.getTaskService().getTasksOwnedByStatus("john", statuses, "en-UK"); assertNotNull(tasks); assertEquals(1, tasks.size()); AuditService logService = runtime.getAuditService(); String externalId = logs.get(0).getExternalId(); assertEquals(manager.getIdentifier(), externalId); runtime.getTaskService().start(tasks.get(0).getId(), "john"); runtime.getTaskService().complete(tasks.get(0).getId(), "john", null); processInstance = ksession.getProcessInstance(processInstance.getId()); assertNull(processInstance);
@Test public void testAuditLogFromRuntimeEngine() throws Exception { KieSession ksession = getKieSession(); final ProcessInstance processInstance = ksession.startProcess(SAMPLE_HELLO_PROCESS_ID); RuntimeManager manager = getManager(); RuntimeEngine engine = getEngine(); AuditService logService = engine.getAuditService(); org.kie.api.runtime.manager.audit.ProcessInstanceLog instanceLog = logService.findProcessInstance(processInstance.getId()); assertNotNull(instanceLog); assertEquals(ProcessInstance.STATE_ACTIVE, instanceLog.getStatus().intValue()); ksession.abortProcessInstance(processInstance.getId()); instanceLog = logService.findProcessInstance(processInstance.getId()); assertNotNull(instanceLog); assertEquals(ProcessInstance.STATE_ABORTED, instanceLog.getStatus().intValue()); manager.disposeRuntimeEngine(engine); }
final ProcessInstance processInstance = ksession.startProcess(HUMAN_TASK_PROCESS_ID); final ProcessInstanceStatus abortedProcessInstanceStatus = new ProcessInstanceStatus(); ProcessInstanceLog instanceLog = logService.findProcessInstance(processInstance.getId()); transactionManager.commit(status); assertNotNull(instanceLog); assertEquals(ProcessInstance.STATE_ABORTED, instanceLog.getStatus().intValue()); manager.disposeRuntimeEngine(engine);
assertEquals(origLog.getExternalId(), newLog.getExternalId()); assertEquals(origCmpLog.getIdentity(), newLog.getIdentity()); assertEquals(origCmpLog.getOutcome(), newLog.getOutcome()); assertEquals(origCmpLog.getProcessId(), newLog.getProcessId()); assertEquals(origCmpLog.getProcessName(), newLog.getProcessName()); assertEquals(origCmpLog.getProcessVersion(), newLog.getProcessVersion()); assertEquals(origCmpLog.getDuration(), newLog.getDuration()); assertEquals(origCmpLog.getEnd(), newLog.getEnd()); assertEquals(origCmpLog.getParentProcessInstanceId(), newLog.getParentProcessInstanceId()); assertEquals(origCmpLog.getProcessInstanceId(), newLog.getProcessInstanceId()); assertEquals(origCmpLog.getStart(), newLog.getStart()); assertEquals(origCmpLog.getStatus(), newLog.getStatus());
public JaxbProcessInstance(ProcessInstanceLog processInstanceLog) { if( processInstanceLog != null ) { this.id = processInstanceLog.getProcessInstanceId(); this.processId = processInstanceLog.getProcessId(); this.state = processInstanceLog.getStatus(); if ( processInstanceLog.getParentProcessInstanceId() != null ) { this.parentProcessInstanceId = processInstanceLog.getParentProcessInstanceId(); } } }
private void assertProcessInstanceState(long processInstanceId, Integer expectedState, String message) { if (logService == null) { throw new IllegalStateException("Audit service has not been initialized. Session persistence is probably " + "not enabled or you are not getting runtime engine using methods from JbpmJUnitBaseTestCase"); } ProcessInstanceLog log = logService.findProcessInstance(processInstanceId); assertNotNull("Process instance has not been found", log); assertEquals(message, expectedState, log.getStatus()); }
assertEquals( "Num proc logs found.", 1, procResult.size() ); org.kie.api.runtime.manager.audit.ProcessInstanceLog procLog = procResult.get(0); assertEquals( "Incorrect proc inst id: " + procLog.getProcessInstanceId(), procInstId, procLog.getProcessInstanceId().longValue() ); assertEquals( "Incorrect external id: " + procLog.getExternalId(), deploymentId, procLog.getExternalId() );
List<org.kie.api.runtime.manager.audit.ProcessInstanceLog> resultList = builder.build().getResultList(); assertEquals( "literal regex identity result", 1, resultList.size()); String externalId = resultList.get(0).getExternalId(); resultList = builder.build().getResultList(); assertEquals( "literal regex identity result", 1, resultList.size()); assertEquals( externalId, resultList.get(0).getExternalId() ); resultList = builder.build().getResultList(); assertEquals( "literal regex identity result", 1, resultList.size()); assertEquals( externalId, resultList.get(0).getExternalId() ); resultList = builder.build().getResultList(); assertEquals( "literal regex identity result", 1, resultList.size()); assertEquals( externalId, resultList.get(0).getExternalId() );
private void assertProcessInstanceSLACompliance(JPAAuditLogService logService, Long processInstanceId, int slaCompliance) { List<ProcessInstanceLog> logs = logService.processInstanceLogQuery() .processInstanceId(processInstanceId) .build() .getResultList(); assertEquals(1, logs.size()); ProcessInstanceLog log = logs.get(0); assertEquals(processInstanceId, log.getProcessInstanceId()); assertEquals(slaCompliance, ((org.jbpm.process.audit.ProcessInstanceLog)log).getSlaCompliance().intValue()); }