diff --git a/lib/taskana-core/src/main/java/pro/taskana/workbasket/internal/WorkbasketServiceImpl.java b/lib/taskana-core/src/main/java/pro/taskana/workbasket/internal/WorkbasketServiceImpl.java index c6985b142..44f339617 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/workbasket/internal/WorkbasketServiceImpl.java +++ b/lib/taskana-core/src/main/java/pro/taskana/workbasket/internal/WorkbasketServiceImpl.java @@ -422,8 +422,9 @@ public class WorkbasketServiceImpl implements WorkbasketService { taskanaEngine.getEngine().getCurrentUserContext().getAccessIds())) .map(this::getPermissionsFromWorkbasketAccessItem); - if (!grantedPermissions.isPresent() - || !grantedPermissions.get().containsAll(Arrays.asList(requestedPermissions))) { + if (grantedPermissions.isEmpty() + || !new HashSet<>(grantedPermissions.get()) + .containsAll(Arrays.asList(requestedPermissions))) { throw new MismatchedWorkbasketPermissionException( taskanaEngine.getEngine().getCurrentUserContext().getUserid(), workbasketId, @@ -456,8 +457,9 @@ public class WorkbasketServiceImpl implements WorkbasketService { taskanaEngine.getEngine().getCurrentUserContext().getAccessIds())) .map(this::getPermissionsFromWorkbasketAccessItem); - if (!grantedPermissions.isPresent() - || !grantedPermissions.get().containsAll(Arrays.asList(requestedPermissions))) { + if (grantedPermissions.isEmpty() + || !new HashSet<>(grantedPermissions.get()) + .containsAll(Arrays.asList(requestedPermissions))) { throw new MismatchedWorkbasketPermissionException( taskanaEngine.getEngine().getCurrentUserContext().getUserid(), workbasketKey,