From d060a63a2351fefe7f9d00b1d63d8187de6819a9 Mon Sep 17 00:00:00 2001 From: BerndBreier <33351391+BerndBreier@users.noreply.github.com> Date: Thu, 12 Dec 2019 11:39:07 +0100 Subject: [PATCH] TSK-972 - comments from Benjamin --- .../pro/taskana/impl/TaskServiceImpl.java | 4 +--- .../taskrouting/TaskRoutingProducer.java | 2 +- .../taskrouting/TaskRoutingAccTest.java | 21 ++++++++++++++++++- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/TaskServiceImpl.java b/lib/taskana-core/src/main/java/pro/taskana/impl/TaskServiceImpl.java index 25a574fbe..4e2bfa969 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/impl/TaskServiceImpl.java +++ b/lib/taskana-core/src/main/java/pro/taskana/impl/TaskServiceImpl.java @@ -365,9 +365,7 @@ public class TaskServiceImpl implements TaskService { @Override public Task newTask() { - TaskImpl task = new TaskImpl(); - task.setCallbackState(CallbackState.NONE); - return task; + return newTask(null); } @Override diff --git a/lib/taskana-core/src/main/java/pro/taskana/taskrouting/TaskRoutingProducer.java b/lib/taskana-core/src/main/java/pro/taskana/taskrouting/TaskRoutingProducer.java index 1ca79d8c8..146cf4cdc 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/taskrouting/TaskRoutingProducer.java +++ b/lib/taskana-core/src/main/java/pro/taskana/taskrouting/TaskRoutingProducer.java @@ -71,7 +71,7 @@ public final class TaskRoutingProducer { if (workbasketIds.isEmpty()) { LOGGER.error("No TaskRouter determined a workbasket for task {}.", task); } else if (workbasketIds.size() > 1) { - LOGGER.error("The TaskRouters determined more than one workbasket for task{}", task); + LOGGER.error("The TaskRouters determined more than one workbasket for task {}", task); } else { workbasketId = workbasketIds.stream().findFirst().orElse(null); } diff --git a/lib/taskana-core/src/test/java/acceptance/taskrouting/TaskRoutingAccTest.java b/lib/taskana-core/src/test/java/acceptance/taskrouting/TaskRoutingAccTest.java index 903aeefea..421e42649 100644 --- a/lib/taskana-core/src/test/java/acceptance/taskrouting/TaskRoutingAccTest.java +++ b/lib/taskana-core/src/test/java/acceptance/taskrouting/TaskRoutingAccTest.java @@ -1,6 +1,6 @@ package acceptance.taskrouting; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -25,6 +25,25 @@ import pro.taskana.security.WithAccessId; @ExtendWith(JAASExtension.class) class TaskRoutingAccTest extends AbstractAccTest { + @WithAccessId(userName = "admin", groupNames = {"group_1"}) + @Test + void testCreateTaskWithoutWorkbasketAndVoidNewTaskMethod() + throws WorkbasketNotFoundException, ClassificationNotFoundException, NotAuthorizedException, + TaskAlreadyExistException, InvalidArgumentException, TaskNotFoundException { + TaskService taskService = taskanaEngine.getTaskService(); + + Task newTask = taskService.newTask(); + newTask.setClassificationKey("L10303"); + newTask.setPrimaryObjRef(createObjectReference("COMPANY_A", "SYSTEM_A", "INSTANCE_A", "VNR", "1234567")); + final Task taskToCreate = newTask; + Assertions.assertThrows(InvalidArgumentException.class, () -> taskService.createTask(taskToCreate)); + ((TaskImpl) taskToCreate).setDomain("DOMAIN_C"); + Assertions.assertThrows(InvalidArgumentException.class, () -> taskService.createTask(taskToCreate)); + ((TaskImpl) taskToCreate).setDomain("DOMAIN_B"); + Task createdTask = taskService.createTask(taskToCreate); + assertEquals("WBI:100000000000000000000000000000000011", createdTask.getWorkbasketSummary().getId()); + } + @WithAccessId(userName = "admin", groupNames = {"group_1"}) @Test void testCreateTaskWithNullWorkbasket()