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 6b260466a..9da945af9 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 @@ -247,10 +247,10 @@ public class TaskServiceImpl implements TaskService { public Task transfer(String taskId, String destinationWorkbasketKey) throws TaskNotFoundException, WorkbasketNotFoundException, NotAuthorizedException, InvalidWorkbasketException { LOGGER.debug("entry to transfer(taskId = {}, destinationWorkbasketKey = {})", taskId, destinationWorkbasketKey); - Task result = null; + TaskImpl task = null; try { taskanaEngineImpl.openConnection(); - TaskImpl task = (TaskImpl) getTask(taskId); + task = (TaskImpl) getTask(taskId); // transfer requires TRANSFER in source and APPEND on destination workbasket workbasketService.checkAuthorization(destinationWorkbasketKey, WorkbasketAuthorization.APPEND); @@ -267,15 +267,14 @@ public class TaskServiceImpl implements TaskService { task.setWorkbasketSummary(destinationWorkbasket.asSummary()); task.setDomain(destinationWorkbasket.getDomain()); task.setModified(Instant.now()); + task.setState(TaskState.READY); taskMapper.update(task); - - result = getTask(taskId); LOGGER.debug("Method transfer() transferred Task '{}' to destination workbasket {}", taskId, destinationWorkbasketKey); - return result; + return task; } finally { taskanaEngineImpl.returnConnection(); - LOGGER.debug("exit from transfer(). Returning result {} ", result); + LOGGER.debug("exit from transfer(). Returning result {} ", task); } } diff --git a/lib/taskana-core/src/test/java/acceptance/task/TransferTaskAccTest.java b/lib/taskana-core/src/test/java/acceptance/task/TransferTaskAccTest.java index f186c9a52..835d68b90 100644 --- a/lib/taskana-core/src/test/java/acceptance/task/TransferTaskAccTest.java +++ b/lib/taskana-core/src/test/java/acceptance/task/TransferTaskAccTest.java @@ -11,7 +11,6 @@ import java.util.ArrayList; import org.h2.store.fs.FileUtils; import org.junit.AfterClass; -import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; @@ -41,7 +40,6 @@ public class TransferTaskAccTest extends AbstractAccTest { super(); } - @Ignore @WithAccessId( userName = "teamlead_1", groupNames = {"group_1"}) diff --git a/lib/taskana-core/src/test/java/pro/taskana/impl/TaskServiceImplTest.java b/lib/taskana-core/src/test/java/pro/taskana/impl/TaskServiceImplTest.java index aac18d9e5..197bcdcc5 100644 --- a/lib/taskana-core/src/test/java/pro/taskana/impl/TaskServiceImplTest.java +++ b/lib/taskana-core/src/test/java/pro/taskana/impl/TaskServiceImplTest.java @@ -715,6 +715,7 @@ public class TaskServiceImplTest { classificationQueryImplMock); assertThat(actualTask.isRead(), equalTo(false)); + assertThat(actualTask.getState(), equalTo(TaskState.READY)); assertThat(actualTask.isTransferred(), equalTo(true)); assertThat(actualTask.getWorkbasketKey(), equalTo(destinationWorkbasket.getKey())); } @@ -754,6 +755,7 @@ public class TaskServiceImplTest { classificationQueryImplMock); assertThat(actualTask.isRead(), equalTo(false)); + assertThat(actualTask.getState(), equalTo(TaskState.READY)); assertThat(actualTask.isTransferred(), equalTo(true)); assertThat(actualTask.getWorkbasketKey(), equalTo(destinationWorkbasket.getKey())); }