Search in sources :

Example 16 with Task

use of org.kie.kogito.taskassigning.core.model.Task in project kogito-apps by kiegroup.

the class SolutionChangesBuilder method addNewTaskChanges.

private void addNewTaskChanges(TaskData taskData) {
    Task newTask;
    if (READY.value().equals(taskData.getState())) {
        newTask = fromTaskData(taskData);
        processorRegistry.applyAttributesProcessor(newTask, newTask.getAttributes());
        newTasksChanges.add(new AddTaskProblemFactChange(new TaskAssignment(newTask)));
        context.setTaskPublished(taskData.getId(), false);
    } else if (RESERVED.value().equals(taskData.getState())) {
        newTask = fromTaskData(taskData);
        processorRegistry.applyAttributesProcessor(newTask, newTask.getAttributes());
        User user = getUser(usersById.get(taskData.getActualOwner()), taskData.getActualOwner());
        AssignTaskProblemFactChange change = new AssignTaskProblemFactChange(new TaskAssignment(newTask), user, true);
        context.setTaskPublished(taskData.getId(), true);
        addChangeToUser(assignToUserChangesByUserId, change, user, -1, true);
    }
}
Also used : Task(org.kie.kogito.taskassigning.core.model.Task) UserUtil.fromExternalUser(org.kie.kogito.taskassigning.service.util.UserUtil.fromExternalUser) User(org.kie.kogito.taskassigning.core.model.User) AssignTaskProblemFactChange(org.kie.kogito.taskassigning.core.model.solver.realtime.AssignTaskProblemFactChange) AddTaskProblemFactChange(org.kie.kogito.taskassigning.core.model.solver.realtime.AddTaskProblemFactChange) TaskAssignment(org.kie.kogito.taskassigning.core.model.TaskAssignment)

Example 17 with Task

use of org.kie.kogito.taskassigning.core.model.Task in project kogito-apps by kiegroup.

the class AttributesProcessorRegistryTest method applyTaskAttributesProcessorWithFailure.

@Test
void applyTaskAttributesProcessorWithFailure() {
    Task task = mock(Task.class);
    doReturn(TASK_ID).when(task).getId();
    Map<String, Object> attributes = new HashMap<>();
    doThrow(new RuntimeException("Internal task processor error")).when(taskProcessors.get(5)).process(taskInfoCaptor.capture(), eq(attributes));
    Assertions.assertThatThrownBy(() -> registry.applyAttributesProcessor(task, attributes)).hasMessageStartingWith("An error was produced during a task processor execution").hasMessageContaining("taskId: %s", TASK_ID);
}
Also used : Task(org.kie.kogito.taskassigning.core.model.Task) HashMap(java.util.HashMap) Test(org.junit.jupiter.api.Test)

Example 18 with Task

use of org.kie.kogito.taskassigning.core.model.Task in project kogito-apps by kiegroup.

the class TaskHelperTest method isPotentialOwnerOfTaskWithNoGroupsAndUserNoGroups.

@Test
void isPotentialOwnerOfTaskWithNoGroupsAndUserNoGroups() {
    Task task = Task.newBuilder().build();
    User user = availableUsers.get(0);
    assertThat(isPotentialOwner(task, user)).isFalse();
}
Also used : Task(org.kie.kogito.taskassigning.core.model.Task) User(org.kie.kogito.taskassigning.core.model.User) Test(org.junit.jupiter.api.Test) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 19 with Task

use of org.kie.kogito.taskassigning.core.model.Task in project kogito-apps by kiegroup.

the class TaskHelperTest method mockTask.

private static Task mockTask(String labelName, Set<Object> labelValues) {
    Task task = Task.newBuilder().id(TASK_ID_1).build();
    task.getAttributes().put(labelName, labelValues);
    return task;
}
Also used : Task(org.kie.kogito.taskassigning.core.model.Task)

Aggregations

Task (org.kie.kogito.taskassigning.core.model.Task)19 User (org.kie.kogito.taskassigning.core.model.User)10 Test (org.junit.jupiter.api.Test)8 TaskAssignment (org.kie.kogito.taskassigning.core.model.TaskAssignment)6 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)5 ArrayList (java.util.ArrayList)3 HashMap (java.util.HashMap)3 List (java.util.List)3 TaskAssigningSolution (org.kie.kogito.taskassigning.core.model.TaskAssigningSolution)3 AssignTaskProblemFactChange (org.kie.kogito.taskassigning.core.model.solver.realtime.AssignTaskProblemFactChange)3 UserUtil.fromExternalUser (org.kie.kogito.taskassigning.service.util.UserUtil.fromExternalUser)3 MethodSource (org.junit.jupiter.params.provider.MethodSource)2 PLANNING_USER (org.kie.kogito.taskassigning.core.model.ModelConstants.PLANNING_USER)2 JsonNode (com.fasterxml.jackson.databind.JsonNode)1 ZonedDateTime (java.time.ZonedDateTime)1 HashSet (java.util.HashSet)1 Map (java.util.Map)1 Set (java.util.Set)1 Function (java.util.function.Function)1 Collectors (java.util.stream.Collectors)1