use of org.kie.api.task.model.Status in project jbpm by kiegroup.
the class MultipleRuntimeManagerTest method testProcessStartOnManager.
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<Status> statuses = new ArrayList<Status>();
statuses.add(Status.Reserved);
List<TaskSummary> tasks = runtime.getTaskService().getTasksOwnedByStatus("john", statuses, "en-UK");
assertNotNull(tasks);
assertEquals(1, tasks.size());
AuditService logService = runtime.getAuditService();
List<? extends ProcessInstanceLog> logs = logService.findActiveProcessInstances("UserTask");
assertNotNull(logs);
assertEquals(1, logs.size());
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);
}
use of org.kie.api.task.model.Status in project jbpm by kiegroup.
the class SingleRuntimeManagerTest method testProcessStartOnManager.
private void testProcessStartOnManager(RuntimeEngine runtime, RuntimeManager manager) {
KieSession ksession = runtime.getKieSession();
assertNotNull(ksession);
ProcessInstance processInstance = ksession.startProcess("UserTask");
assertNotNull(processInstance);
TaskService taskService = runtime.getTaskService();
String deploymentId = taskService.execute(new TaskCommand<String>() {
@Override
public String execute(Context context) {
return (String) context.get(EnvironmentName.DEPLOYMENT_ID);
}
});
assertNotNull(deploymentId);
assertEquals(manager.getIdentifier(), deploymentId);
List<Status> statuses = new ArrayList<Status>();
statuses.add(Status.Reserved);
List<TaskSummary> tasks = taskService.getTasksOwnedByStatus("john", statuses, "en-UK");
assertNotNull(tasks);
assertEquals(1, tasks.size());
taskService.start(tasks.get(0).getId(), "john");
taskService.complete(tasks.get(0).getId(), "john", null);
processInstance = ksession.getProcessInstance(processInstance.getId());
assertNull(processInstance);
}
use of org.kie.api.task.model.Status in project jbpm by kiegroup.
the class SingleRuntimeManagerWithEmbeddedTaskServiceTest method testProcessStartOnManager.
private void testProcessStartOnManager(RuntimeEngine runtime) {
KieSession ksession = runtime.getKieSession();
assertNotNull(ksession);
ProcessInstance processInstance = ksession.startProcess("UserTask");
assertNotNull(processInstance);
List<Status> statuses = new ArrayList<Status>();
statuses.add(Status.Reserved);
List<TaskSummary> tasks = runtime.getTaskService().getTasksOwnedByStatus("john", statuses, "en-UK");
assertNotNull(tasks);
assertEquals(1, tasks.size());
runtime.getTaskService().start(tasks.get(0).getId(), "john");
runtime.getTaskService().complete(tasks.get(0).getId(), "john", null);
processInstance = ksession.getProcessInstance(processInstance.getId());
assertNull(processInstance);
}
use of org.kie.api.task.model.Status in project jbpm by kiegroup.
the class SingleRuntimeManagerWithListenersTest method testProcessStartOnManager.
private void testProcessStartOnManager(RuntimeEngine runtime) {
KieSession ksession = runtime.getKieSession();
assertNotNull(ksession);
Collection<ProcessEventListener> pListeners = ksession.getProcessEventListeners();
assertNotNull(pListeners);
// prepare listeners class names for assertion
List<String> listenerCLassNames = new ArrayList<String>();
for (Object o : pListeners) {
listenerCLassNames.add(o.getClass().getName());
}
// DebugProcessEventListener was added by custom producer
assertTrue(listenerCLassNames.contains(DebugProcessEventListener.class.getName()));
// JPAWorkingMemoryDbLogger one is always added to deal with user tasks
assertTrue(listenerCLassNames.contains(JPAWorkingMemoryDbLogger.class.getName()));
if (((RuntimeEngineImpl) runtime).getManager() instanceof PerProcessInstanceRuntimeManager) {
assertEquals(3, pListeners.size());
} else {
assertEquals(2, pListeners.size());
}
TaskService taskService = runtime.getTaskService();
assertNotNull(taskService);
List<?> listeners = ((EventService<?>) taskService).getTaskEventListeners();
assertNotNull(listeners);
assertEquals(3, listeners.size());
// prepare listeners class names for assertion
listenerCLassNames = new ArrayList<String>();
for (Object o : listeners) {
System.out.println("###### " + o.getClass().getName());
listenerCLassNames.add(o.getClass().getName());
}
assertEquals(3, listenerCLassNames.size());
// JPATaskLifeCycleEventListener was added by custom producer
assertTrue(listenerCLassNames.contains(JPATaskLifeCycleEventListener.class.getName()));
// external one is always added to deal with user tasks
assertTrue(listenerCLassNames.contains(ExternalTaskEventListener.class.getName()));
// BAMTaskEventListener was added by custom producer
assertTrue(listenerCLassNames.contains(BAMTaskEventListener.class.getName()));
ProcessInstance processInstance = ksession.startProcess("UserTask");
assertNotNull(processInstance);
List<Status> statuses = new ArrayList<Status>();
statuses.add(Status.Reserved);
List<TaskSummary> tasks = taskService.getTasksOwnedByStatus("john", statuses, "en-UK");
assertNotNull(tasks);
assertEquals(1, tasks.size());
taskService.start(tasks.get(0).getId(), "john");
taskService.complete(tasks.get(0).getId(), "john", null);
processInstance = ksession.getProcessInstance(processInstance.getId());
assertNull(processInstance);
}
use of org.kie.api.task.model.Status in project jbpm by kiegroup.
the class RuntimeDataServiceTest method testGetTasksAssignedAsPotentialOwnerGroupFromCallback.
@Test
public void testGetTasksAssignedAsPotentialOwnerGroupFromCallback() {
String id = "cdi-manager";
AbstractAuditLogger auditLogger = AuditLoggerFactory.newJPAInstance();
ServicesAwareAuditEventBuilder auditEventBuilder = new ServicesAwareAuditEventBuilder();
auditEventBuilder.setIdentityProvider(new TestIdentifyProviderCDI());
auditEventBuilder.setDeploymentUnitId(id);
auditLogger.setBuilder(auditEventBuilder);
RuntimeEnvironmentBuilder builder = RuntimeEnvironmentBuilder.Factory.get().newDefaultBuilder().entityManagerFactory(emf).registerableItemsFactory(InjectableRegisterableItemsFactory.getFactory(beanManager, auditLogger));
builder.addAsset(ResourceFactory.newClassPathResource("repo/processes/general/BPMN2-UserTasksAssignedToGroup.bpmn2"), ResourceType.BPMN2);
RuntimeManager manager = managerFactory.newSingletonRuntimeManager(builder.get(), id);
RuntimeEngine runtime = manager.getRuntimeEngine(EmptyContext.get());
KieSession ksession = runtime.getKieSession();
ProcessInstance processInstance = ksession.startProcess("UserTask");
List<Status> statuses = new ArrayList<Status>();
statuses.add(Status.Ready);
statuses.add(Status.Reserved);
List<TaskSummary> tasks = runtimeDataService.getTasksAssignedAsPotentialOwnerByStatus("katy", statuses, new QueryFilter());
assertNotNull(tasks);
assertEquals(1, tasks.size());
ksession.abortProcessInstance(processInstance.getId());
}
Aggregations