From 151d23d98d598b4a8da946655519664c7b7b4490 Mon Sep 17 00:00:00 2001 From: Mustapha Zorgati <15628173+mustaphazorgati@users.noreply.github.com> Date: Fri, 19 Aug 2022 21:30:28 +0200 Subject: [PATCH] TSK-1945: minor cleanup of TaskServiceImpl blub2 --- .../pro/taskana/task/internal/TaskMapper.java | 8 ++++++ .../task/internal/TaskServiceImpl.java | 25 ++++++++++--------- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/lib/taskana-core/src/main/java/pro/taskana/task/internal/TaskMapper.java b/lib/taskana-core/src/main/java/pro/taskana/task/internal/TaskMapper.java index 808ada0c1..67282b4a1 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/task/internal/TaskMapper.java +++ b/lib/taskana-core/src/main/java/pro/taskana/task/internal/TaskMapper.java @@ -130,6 +130,14 @@ public interface TaskMapper { + "WHERE ID = #{id}") void update(TaskImpl task); + @Update( + "UPDATE TASK SET MODIFIED = #{modified}, STATE = #{state}, OWNER = #{owner} WHERE ID = #{id}") + void requestReview(TaskImpl task); + + @Update( + "UPDATE TASK SET MODIFIED = #{modified}, STATE = #{state}, OWNER = #{owner} WHERE ID = #{id}") + void requestChanges(TaskImpl task); + @Delete("DELETE FROM TASK WHERE ID = #{id}") void delete(String id); diff --git a/lib/taskana-core/src/main/java/pro/taskana/task/internal/TaskServiceImpl.java b/lib/taskana-core/src/main/java/pro/taskana/task/internal/TaskServiceImpl.java index 0ecdc9cd0..ba624dadf 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/task/internal/TaskServiceImpl.java +++ b/lib/taskana-core/src/main/java/pro/taskana/task/internal/TaskServiceImpl.java @@ -532,7 +532,7 @@ public class TaskServiceImpl implements TaskService { new TaskUpdatedEvent( IdGenerator.generateWithPrefix(IdGenerator.ID_PREFIX_TASK_HISTORY_EVENT), task, - taskanaEngine.getEngine().getCurrentUserContext().getUserid(), + userId, changeDetails)); } @@ -1222,7 +1222,7 @@ public class TaskServiceImpl implements TaskService { new TaskClaimedEvent( IdGenerator.generateWithPrefix(IdGenerator.ID_PREFIX_TASK_HISTORY_EVENT), task, - taskanaEngine.getEngine().getCurrentUserContext().getUserid(), + userId, changeDetails)); } } finally { @@ -1258,7 +1258,7 @@ public class TaskServiceImpl implements TaskService { task.setOwner(null); task.setModified(Instant.now()); - taskMapper.update(task); + taskMapper.requestReview(task); if (LOGGER.isDebugEnabled()) { LOGGER.debug("Requested review for Task '{}' by user '{}'.", taskId, userId); } @@ -1270,7 +1270,7 @@ public class TaskServiceImpl implements TaskService { new TaskRequestReviewEvent( IdGenerator.generateWithPrefix(IdGenerator.ID_PREFIX_TASK_HISTORY_EVENT), task, - taskanaEngine.getEngine().getCurrentUserContext().getUserid(), + userId, changeDetails)); } @@ -1307,7 +1307,7 @@ public class TaskServiceImpl implements TaskService { task.setOwner(null); task.setModified(Instant.now()); - taskMapper.update(task); + taskMapper.requestChanges(task); if (LOGGER.isDebugEnabled()) { LOGGER.debug("Requested changes for Task '{}' by user '{}'.", taskId, userId); } @@ -1319,7 +1319,7 @@ public class TaskServiceImpl implements TaskService { new TaskRequestChangesEvent( IdGenerator.generateWithPrefix(IdGenerator.ID_PREFIX_TASK_HISTORY_EVENT), task, - taskanaEngine.getEngine().getCurrentUserContext().getUserid(), + userId, changeDetails)); } task = (TaskImpl) afterRequestChangesManager.afterRequestChanges(task); @@ -1442,7 +1442,7 @@ public class TaskServiceImpl implements TaskService { new TaskClaimCancelledEvent( IdGenerator.generateWithPrefix(IdGenerator.ID_PREFIX_TASK_HISTORY_EVENT), task, - taskanaEngine.getEngine().getCurrentUserContext().getUserid(), + userId, changeDetails)); } } finally { @@ -1455,12 +1455,13 @@ public class TaskServiceImpl implements TaskService { throws TaskNotFoundException, InvalidOwnerException, InvalidStateException, NotAuthorizedException { String userId = taskanaEngine.getEngine().getCurrentUserContext().getUserid(); - TaskImpl task = (TaskImpl) this.getTask(taskId); - if (reviewRequiredManager.reviewRequired(task)) { - return requestReview(taskId); - } + TaskImpl task; try { taskanaEngine.openConnection(); + task = (TaskImpl) this.getTask(taskId); + if (reviewRequiredManager.reviewRequired(task)) { + return requestReview(taskId); + } if (task.getState() == TaskState.COMPLETED) { return task; @@ -1485,7 +1486,7 @@ public class TaskServiceImpl implements TaskService { new TaskCompletedEvent( IdGenerator.generateWithPrefix(IdGenerator.ID_PREFIX_TASK_HISTORY_EVENT), task, - taskanaEngine.getEngine().getCurrentUserContext().getUserid())); + userId)); } } finally { taskanaEngine.returnConnection();