Search in sources :

Example 16 with TaskLifeCycleEventListener

use of org.kie.api.task.TaskLifeCycleEventListener in project jbpm by kiegroup.

the class HTWorkItemHandlerBaseTest method testTaskCreateFailedWithRethrow.

@SuppressWarnings("unchecked")
@Test
public void testTaskCreateFailedWithRethrow() throws Exception {
    TestWorkItemManager manager = new TestWorkItemManager();
    TaskLifeCycleEventListener listener = new AddedTaskListener(true);
    ((EventService<TaskLifeCycleEventListener>) taskService).registerTaskEventListener(listener);
    ((AbstractHTWorkItemHandler) handler).setAction(OnErrorAction.RETHROW);
    ksession.setWorkItemManager(manager);
    WorkItemImpl workItem = new WorkItemImpl();
    workItem.setName("Human Task");
    workItem.setParameter("NodeName", "TaskName");
    workItem.setParameter("Comment", "Comment");
    workItem.setParameter("Priority", "10");
    workItem.setParameter("ActorId", "DoesNotExist");
    workItem.setProcessInstanceId(10);
    try {
        handler.executeWorkItem(workItem, manager);
        fail("Should fail due to OnErroAction set to rethrow");
    } catch (Exception e) {
    // do nothing
    }
    ((EventService<TaskLifeCycleEventListener>) taskService).removeTaskEventListener(listener);
}
Also used : WorkItemImpl(org.drools.core.process.instance.impl.WorkItemImpl) EventService(org.kie.internal.task.api.EventService) PermissionDeniedException(org.jbpm.services.task.exception.PermissionDeniedException) TaskLifeCycleEventListener(org.kie.api.task.TaskLifeCycleEventListener) Test(org.junit.Test) AbstractBaseTest(org.jbpm.test.util.AbstractBaseTest)

Example 17 with TaskLifeCycleEventListener

use of org.kie.api.task.TaskLifeCycleEventListener in project jbpm by kiegroup.

the class HumanTaskConfigurator method getTaskService.

@SuppressWarnings("unchecked")
public TaskService getTaskService() {
    if (service == null) {
        TaskEventSupport taskEventSupport = new TaskEventSupport();
        this.commandExecutor = new TaskCommandExecutorImpl(this.environment, taskEventSupport);
        if (userGroupCallback == null) {
            userGroupCallback = new MvelUserGroupCallbackImpl(true);
        }
        environment.set(EnvironmentName.TASK_USER_GROUP_CALLBACK, userGroupCallback);
        if (userInfo == null) {
            userInfo = new DefaultUserInfo(true);
        }
        environment.set(EnvironmentName.TASK_USER_INFO, userInfo);
        addDefaultInterceptor();
        addTransactionLockInterceptor();
        addOptimisticLockInterceptor();
        addErrorHandlingInterceptor();
        for (PriorityInterceptor pInterceptor : interceptors) {
            this.commandExecutor.addInterceptor(pInterceptor.getInterceptor());
        }
        service = new CommandBasedTaskService(this.commandExecutor, taskEventSupport, this.environment);
        // register listeners
        for (TaskLifeCycleEventListener listener : listeners) {
            ((EventService<TaskLifeCycleEventListener>) service).registerTaskEventListener(listener);
        }
        if (AssignmentServiceProvider.get().isEnabled()) {
            ((EventService<TaskLifeCycleEventListener>) service).registerTaskEventListener(new AssignmentTaskEventListener());
        }
        // initialize deadline service with command executor for processing
        if (TaskDeadlinesServiceImpl.getInstance() == null) {
            TaskDeadlinesServiceImpl.initialize(commandExecutor);
        }
    }
    return service;
}
Also used : AssignmentTaskEventListener(org.jbpm.services.task.assignment.impl.AssignmentTaskEventListener) TaskCommandExecutorImpl(org.jbpm.services.task.commands.TaskCommandExecutorImpl) EventService(org.kie.internal.task.api.EventService) MvelUserGroupCallbackImpl(org.jbpm.services.task.identity.MvelUserGroupCallbackImpl) TaskEventSupport(org.jbpm.services.task.events.TaskEventSupport) CommandBasedTaskService(org.jbpm.services.task.impl.command.CommandBasedTaskService) DefaultUserInfo(org.jbpm.services.task.identity.DefaultUserInfo) TaskLifeCycleEventListener(org.kie.api.task.TaskLifeCycleEventListener)

Example 18 with TaskLifeCycleEventListener

use of org.kie.api.task.TaskLifeCycleEventListener in project jbpm by kiegroup.

the class TaskEventSupport method fireAfterTaskUpdated.

public void fireAfterTaskUpdated(final Task task, TaskContext context) {
    final Iterator<TaskLifeCycleEventListener> iter = getEventListenersIterator();
    if (iter.hasNext()) {
        do {
            TaskLifeCycleEventListener listener = iter.next();
            listener.afterTaskUpdatedEvent(new TaskEventImpl(task, context));
        } while (iter.hasNext());
    }
}
Also used : TaskLifeCycleEventListener(org.kie.api.task.TaskLifeCycleEventListener)

Example 19 with TaskLifeCycleEventListener

use of org.kie.api.task.TaskLifeCycleEventListener in project jbpm by kiegroup.

the class TaskEventSupport method fireBeforeTaskOutputVariablesChanged.

public void fireBeforeTaskOutputVariablesChanged(final Task task, TaskContext context, Map<String, Object> variables) {
    final Iterator<TaskLifeCycleEventListener> iter = getEventListenersIterator();
    if (iter.hasNext()) {
        do {
            TaskLifeCycleEventListener listener = iter.next();
            listener.beforeTaskOutputVariableChangedEvent(new TaskEventImpl(task, context), variables);
        } while (iter.hasNext());
    }
}
Also used : TaskLifeCycleEventListener(org.kie.api.task.TaskLifeCycleEventListener)

Example 20 with TaskLifeCycleEventListener

use of org.kie.api.task.TaskLifeCycleEventListener in project jbpm by kiegroup.

the class TaskEventSupport method fireBeforeTaskReassigned.

public void fireBeforeTaskReassigned(final Task task, TaskContext context) {
    final Iterator<TaskLifeCycleEventListener> iter = getEventListenersIterator();
    if (iter.hasNext()) {
        do {
            TaskLifeCycleEventListener listener = iter.next();
            listener.beforeTaskReassignedEvent(new TaskEventImpl(task, context));
        } while (iter.hasNext());
    }
}
Also used : TaskLifeCycleEventListener(org.kie.api.task.TaskLifeCycleEventListener)

Aggregations

TaskLifeCycleEventListener (org.kie.api.task.TaskLifeCycleEventListener)27 ArrayList (java.util.ArrayList)6 Test (org.junit.Test)6 EventService (org.kie.internal.task.api.EventService)6 JPATaskLifeCycleEventListener (org.jbpm.services.task.audit.JPATaskLifeCycleEventListener)5 RuntimeEngine (org.kie.api.runtime.manager.RuntimeEngine)5 HashMap (java.util.HashMap)4 AbstractBaseTest (org.jbpm.test.util.AbstractBaseTest)4 WorkItemImpl (org.drools.core.process.instance.impl.WorkItemImpl)3 KieSession (org.kie.api.runtime.KieSession)3 RuntimeEnvironment (org.kie.api.runtime.manager.RuntimeEnvironment)3 ProcessInstance (org.kie.api.runtime.process.ProcessInstance)3 EntityManagerFactory (javax.persistence.EntityManagerFactory)2 DefaultTaskEventListener (org.jbpm.services.task.events.DefaultTaskEventListener)2 RegisterableItemsFactory (org.kie.api.runtime.manager.RegisterableItemsFactory)2 TaskEvent (org.kie.api.task.TaskEvent)2 TaskService (org.kie.api.task.TaskService)2 TaskSummary (org.kie.api.task.model.TaskSummary)2 DeploymentDescriptor (org.kie.internal.runtime.conf.DeploymentDescriptor)2 List (java.util.List)1