From 71cedd85de1d85c4b95afa3ae4f770b4cf2ae074 Mon Sep 17 00:00:00 2001 From: Holger Hagen <19706592+holgerhagen@users.noreply.github.com> Date: Thu, 21 Jun 2018 16:58:13 +0200 Subject: [PATCH] TSK-572: refactored permission initializition. --- .../taskana/impl/WorkbasketServiceImpl.java | 25 ++++++++----------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/WorkbasketServiceImpl.java b/lib/taskana-core/src/main/java/pro/taskana/impl/WorkbasketServiceImpl.java index 1ae7a9e5f..fbda85588 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/impl/WorkbasketServiceImpl.java +++ b/lib/taskana-core/src/main/java/pro/taskana/impl/WorkbasketServiceImpl.java @@ -45,9 +45,6 @@ public class WorkbasketServiceImpl implements WorkbasketService { private DistributionTargetMapper distributionTargetMapper; private WorkbasketAccessMapper workbasketAccessMapper; - public WorkbasketServiceImpl() { - } - WorkbasketServiceImpl(TaskanaEngine taskanaEngine, WorkbasketMapper workbasketMapper, DistributionTargetMapper distributionTargetMapper, WorkbasketAccessMapper workbasketAccessMapper) { this.taskanaEngine = (TaskanaEngineImpl) taskanaEngine; @@ -275,7 +272,6 @@ public class WorkbasketServiceImpl implements WorkbasketService { } List accessIds = CurrentUserContext.getAccessIds(); - List grantedPermissions = new ArrayList<>(); WorkbasketAccessItem wbAcc = workbasketAccessMapper.findByWorkbasketAndAccessId(workbasketId, accessIds); if (wbAcc == null) { @@ -285,7 +281,7 @@ public class WorkbasketServiceImpl implements WorkbasketService { + "' is needed."); } - this.addWorkbasketAccessItemValuesToPermissionSet(wbAcc, grantedPermissions); + List grantedPermissions = this.getPermissionsFromWorkbasketAccessItem(wbAcc); for (WorkbasketPermission perm : requestedPermissions) { if (!grantedPermissions.contains(perm)) { @@ -317,7 +313,6 @@ public class WorkbasketServiceImpl implements WorkbasketService { return; } List accessIds = CurrentUserContext.getAccessIds(); - List grantedPermissions = new ArrayList<>(); WorkbasketAccessItem wbAcc = workbasketAccessMapper.findByWorkbasketKeyDomainAndAccessId( workbasketKey, domain, accessIds); if (wbAcc == null) { @@ -327,7 +322,7 @@ public class WorkbasketServiceImpl implements WorkbasketService { + workbasketKey + "' and domain '" + domain + "' is needed."); } - this.addWorkbasketAccessItemValuesToPermissionSet(wbAcc, grantedPermissions); + List grantedPermissions = this.getPermissionsFromWorkbasketAccessItem(wbAcc); for (WorkbasketPermission perm : requestedPermissions) { if (!grantedPermissions.contains(perm)) { @@ -409,14 +404,9 @@ public class WorkbasketServiceImpl implements WorkbasketService { @Override public List getPermissionsForWorkbasket(String workbasketId) { - List permissions = new ArrayList<>(); WorkbasketAccessItem wbAcc = workbasketAccessMapper.findByWorkbasketAndAccessId(workbasketId, CurrentUserContext.getAccessIds()); - if (wbAcc != null) { - this.addWorkbasketAccessItemValuesToPermissionSet(wbAcc, permissions); - } - return permissions; - + return this.getPermissionsFromWorkbasketAccessItem(wbAcc); } @Override @@ -446,8 +436,12 @@ public class WorkbasketServiceImpl implements WorkbasketService { } } - private void addWorkbasketAccessItemValuesToPermissionSet(WorkbasketAccessItem workbasketAccessItem, - List permissions) { + private List getPermissionsFromWorkbasketAccessItem( + WorkbasketAccessItem workbasketAccessItem) { + List permissions = new ArrayList(); + if (workbasketAccessItem == null) { + return permissions; + } if (workbasketAccessItem.isPermOpen()) { permissions.add(WorkbasketPermission.OPEN); } @@ -499,6 +493,7 @@ public class WorkbasketServiceImpl implements WorkbasketService { if (workbasketAccessItem.isPermCustom12()) { permissions.add(WorkbasketPermission.CUSTOM_12); } + return permissions; } @Override