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 445760f1e..f6ca01966 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 @@ -550,17 +550,26 @@ public class TaskServiceImpl implements TaskService { // query for existing tasks. use taskMapper.findExistingTasks because this method // returns only the required information. - List taskSummaries = taskMapper.findExistingTasks(taskIds); - + List taskSummaries; + if (taskIds.isEmpty()) { + taskSummaries = new ArrayList<>(); + } else { + taskSummaries = taskMapper.findExistingTasks(taskIds); + } // check source WB (read)+transfer Set workbasketIds = new HashSet<>(); taskSummaries.stream().forEach(t -> workbasketIds.add(t.getWorkbasketId())); WorkbasketQueryImpl query = (WorkbasketQueryImpl) workbasketService.createWorkbasketQuery(); query.setUsedToAugmentTasks(true); - List sourceWorkbaskets = query - .callerHasPermission(WorkbasketPermission.TRANSFER) - .idIn(workbasketIds.toArray(new String[0])) - .list(); + List sourceWorkbaskets; + if (taskSummaries.isEmpty()) { + sourceWorkbaskets = new ArrayList<>(); + } else { + sourceWorkbaskets = query + .callerHasPermission(WorkbasketPermission.TRANSFER) + .idIn(workbasketIds.toArray(new String[0])) + .list(); + } taskIdIterator = taskIds.iterator(); while (taskIdIterator.hasNext()) { String currentTaskId = taskIdIterator.next(); diff --git a/lib/taskana-core/src/main/java/pro/taskana/mappings/TaskMonitorMapper.java b/lib/taskana-core/src/main/java/pro/taskana/mappings/TaskMonitorMapper.java index b9253f6d9..24b12852f 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/mappings/TaskMonitorMapper.java +++ b/lib/taskana-core/src/main/java/pro/taskana/mappings/TaskMonitorMapper.java @@ -208,37 +208,37 @@ public interface TaskMonitorMapper { @Param("customFieldValues") List customFieldValues); @Select("