Search in sources :

Example 6 with JPAAuditLogService

use of org.jbpm.process.audit.JPAAuditLogService in project jbpm by kiegroup.

the class MigrationManagerTest method testMigrateUserTaskProcessInstance.

@Test
public void testMigrateUserTaskProcessInstance() {
    createRuntimeManagers("migration/v1/BPMN2-UserTask-v1.bpmn2", "migration/v2/BPMN2-UserTask-v2.bpmn2");
    assertNotNull(managerV1);
    assertNotNull(managerV2);
    RuntimeEngine runtime = managerV1.getRuntimeEngine(EmptyContext.get());
    KieSession ksession = runtime.getKieSession();
    assertNotNull(ksession);
    ProcessInstance pi1 = ksession.startProcess(PROCESS_ID_V1);
    assertNotNull(pi1);
    assertEquals(ProcessInstance.STATE_ACTIVE, pi1.getState());
    JPAAuditLogService auditService = new JPAAuditLogService(emf);
    ProcessInstanceLog log = auditService.findProcessInstance(pi1.getId());
    assertNotNull(log);
    assertEquals(PROCESS_ID_V1, log.getProcessId());
    assertEquals(PROCESS_NAME_V1, log.getProcessName());
    assertEquals(DEPLOYMENT_ID_V1, log.getExternalId());
    TaskService taskService = runtime.getTaskService();
    List<TaskSummary> tasks = taskService.getTasksAssignedAsPotentialOwner(USER_JOHN, "en-UK");
    assertNotNull(tasks);
    assertEquals(1, tasks.size());
    TaskSummary task = tasks.get(0);
    assertNotNull(task);
    assertEquals(PROCESS_ID_V1, task.getProcessId());
    assertEquals(DEPLOYMENT_ID_V1, task.getDeploymentId());
    assertEquals(TASK_NAME_V1, task.getName());
    managerV1.disposeRuntimeEngine(runtime);
    MigrationSpec migrationSpec = new MigrationSpec(DEPLOYMENT_ID_V1, pi1.getId(), DEPLOYMENT_ID_V2, PROCESS_ID_V2);
    MigrationManager migrationManager = new MigrationManager(migrationSpec);
    MigrationReport report = migrationManager.migrate();
    assertNotNull(report);
    assertTrue(report.isSuccessful());
    log = auditService.findProcessInstance(pi1.getId());
    assertNotNull(log);
    assertEquals(PROCESS_ID_V2, log.getProcessId());
    assertEquals(PROCESS_NAME_V2, log.getProcessName());
    assertEquals(DEPLOYMENT_ID_V2, log.getExternalId());
    auditService.dispose();
    runtime = managerV2.getRuntimeEngine(EmptyContext.get());
    taskService = runtime.getTaskService();
    tasks = taskService.getTasksAssignedAsPotentialOwner(USER_JOHN, "en-UK");
    assertNotNull(tasks);
    assertEquals(1, tasks.size());
    task = tasks.get(0);
    assertNotNull(task);
    assertEquals(PROCESS_ID_V2, task.getProcessId());
    assertEquals(DEPLOYMENT_ID_V2, task.getDeploymentId());
    // same name as the node mapping was not given
    assertEquals(TASK_NAME_V2, task.getName());
    managerV2.disposeRuntimeEngine(runtime);
}
Also used : RuntimeEngine(org.kie.api.runtime.manager.RuntimeEngine) TaskService(org.kie.api.task.TaskService) TaskSummary(org.kie.api.task.model.TaskSummary) JPAAuditLogService(org.jbpm.process.audit.JPAAuditLogService) KieSession(org.kie.api.runtime.KieSession) ProcessInstance(org.kie.api.runtime.process.ProcessInstance) ProcessInstanceLog(org.kie.api.runtime.manager.audit.ProcessInstanceLog) Test(org.junit.Test) AbstractBaseTest(org.jbpm.test.util.AbstractBaseTest)

Example 7 with JPAAuditLogService

use of org.jbpm.process.audit.JPAAuditLogService in project jbpm by kiegroup.

the class TimerMigrationManagerTest method testMigrateBoundaryTimerProcessInstance.

@Test(timeout = 10000)
public void testMigrateBoundaryTimerProcessInstance() throws Exception {
    NodeLeftCountDownProcessEventListener countdownListener = new NodeLeftCountDownProcessEventListener("GoodbyeV2", 1);
    createRuntimeManagers("migration/v1/BPMN2-TimerBoundary-v1.bpmn2", "migration/v2/BPMN2-TimerBoundary-v2.bpmn2", countdownListener);
    assertNotNull(managerV1);
    assertNotNull(managerV2);
    RuntimeEngine runtime = managerV1.getRuntimeEngine(EmptyContext.get());
    KieSession ksession = runtime.getKieSession();
    assertNotNull(ksession);
    ProcessInstance pi1 = ksession.startProcess(BOUNDARY_TIMER_ID_V1);
    assertNotNull(pi1);
    assertEquals(ProcessInstance.STATE_ACTIVE, pi1.getState());
    JPAAuditLogService auditService = new JPAAuditLogService(emf);
    ProcessInstanceLog log = auditService.findProcessInstance(pi1.getId());
    assertNotNull(log);
    assertEquals(BOUNDARY_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, BOUNDARY_TIMER_ID_V2);
    MigrationManager migrationManager = new MigrationManager(migrationSpec);
    MigrationReport report = migrationManager.migrate();
    assertNotNull(report);
    assertTrue(report.isSuccessful());
    log = auditService.findProcessInstance(pi1.getId());
    assertNotNull(log);
    assertEquals(BOUNDARY_TIMER_ID_V2, log.getProcessId());
    assertEquals(DEPLOYMENT_ID_V2, log.getExternalId());
    assertEquals(ProcessInstance.STATE_ACTIVE, log.getStatus().intValue());
    // wait till timer fires
    countdownListener.waitTillCompleted();
    log = auditService.findProcessInstance(pi1.getId());
    auditService.dispose();
    assertNotNull(log);
    assertEquals(BOUNDARY_TIMER_ID_V2, log.getProcessId());
    assertEquals(DEPLOYMENT_ID_V2, log.getExternalId());
    assertEquals(ProcessInstance.STATE_COMPLETED, log.getStatus().intValue());
}
Also used : NodeLeftCountDownProcessEventListener(org.jbpm.test.listener.NodeLeftCountDownProcessEventListener) RuntimeEngine(org.kie.api.runtime.manager.RuntimeEngine) JPAAuditLogService(org.jbpm.process.audit.JPAAuditLogService) KieSession(org.kie.api.runtime.KieSession) ProcessInstance(org.kie.api.runtime.process.ProcessInstance) ProcessInstanceLog(org.kie.api.runtime.manager.audit.ProcessInstanceLog) Test(org.junit.Test) AbstractBaseTest(org.jbpm.test.util.AbstractBaseTest)

Example 8 with JPAAuditLogService

use of org.jbpm.process.audit.JPAAuditLogService in project jbpm by kiegroup.

the class AdHocSubprocessAbortRuntimeManagerTest method testAdHocSubprocess.

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();
}
Also used : RuntimeEngine(org.kie.api.runtime.manager.RuntimeEngine) TaskCleanUpProcessEventListener(org.jbpm.services.task.admin.listener.TaskCleanUpProcessEventListener) JPAAuditLogService(org.jbpm.process.audit.JPAAuditLogService) KieSession(org.kie.api.runtime.KieSession) ProcessInstance(org.kie.api.runtime.process.ProcessInstance) ProcessInstanceLog(org.kie.api.runtime.manager.audit.ProcessInstanceLog)

Example 9 with JPAAuditLogService

use of org.jbpm.process.audit.JPAAuditLogService in project jbpm by kiegroup.

the class NodeInstanceLogCleanTest method setUp.

@Override
public void setUp() throws Exception {
    super.setUp();
    auditService = new JPAAuditLogService(getEmf());
    auditService.clear();
}
Also used : JPAAuditLogService(org.jbpm.process.audit.JPAAuditLogService)

Example 10 with JPAAuditLogService

use of org.jbpm.process.audit.JPAAuditLogService in project jbpm by kiegroup.

the class ProcessInstanceLogCleanTest method setUp.

@Override
public void setUp() throws Exception {
    super.setUp();
    auditService = new JPAAuditLogService(getEmf());
    auditService.clear();
}
Also used : JPAAuditLogService(org.jbpm.process.audit.JPAAuditLogService)

Aggregations

JPAAuditLogService (org.jbpm.process.audit.JPAAuditLogService)35 ProcessInstance (org.kie.api.runtime.process.ProcessInstance)20 KieSession (org.kie.api.runtime.KieSession)19 Test (org.junit.Test)18 RuntimeEngine (org.kie.api.runtime.manager.RuntimeEngine)15 AbstractBaseTest (org.jbpm.test.util.AbstractBaseTest)11 ProcessInstanceLog (org.kie.api.runtime.manager.audit.ProcessInstanceLog)11 AuditLogService (org.jbpm.process.audit.AuditLogService)8 ProcessInstanceLog (org.jbpm.process.audit.ProcessInstanceLog)7 NodeInstanceLog (org.jbpm.process.audit.NodeInstanceLog)6 KieBase (org.kie.api.KieBase)6 HashMap (java.util.HashMap)5 EntityManagerFactory (javax.persistence.EntityManagerFactory)5 Environment (org.kie.api.runtime.Environment)5 RuntimeEnvironment (org.kie.api.runtime.manager.RuntimeEnvironment)5 TaskSummary (org.kie.api.task.model.TaskSummary)5 CountDownAsyncJobListener (org.jbpm.executor.test.CountDownAsyncJobListener)4 PersistenceUtil.createEnvironment (org.jbpm.persistence.util.PersistenceUtil.createEnvironment)4 AbstractAuditLogServiceTest.createKieSession (org.jbpm.process.audit.AbstractAuditLogServiceTest.createKieSession)4 AbstractAuditLogger (org.jbpm.process.audit.AbstractAuditLogger)4