TSK-572: refactored permission initializition.

This commit is contained in:
Holger Hagen 2018-06-21 16:58:13 +02:00 committed by Martin Rojas Miguel Angel
parent 3aee44f52b
commit 71cedd85de
1 changed files with 10 additions and 15 deletions

View File

@ -45,9 +45,6 @@ public class WorkbasketServiceImpl implements WorkbasketService {
private DistributionTargetMapper distributionTargetMapper; private DistributionTargetMapper distributionTargetMapper;
private WorkbasketAccessMapper workbasketAccessMapper; private WorkbasketAccessMapper workbasketAccessMapper;
public WorkbasketServiceImpl() {
}
WorkbasketServiceImpl(TaskanaEngine taskanaEngine, WorkbasketMapper workbasketMapper, WorkbasketServiceImpl(TaskanaEngine taskanaEngine, WorkbasketMapper workbasketMapper,
DistributionTargetMapper distributionTargetMapper, WorkbasketAccessMapper workbasketAccessMapper) { DistributionTargetMapper distributionTargetMapper, WorkbasketAccessMapper workbasketAccessMapper) {
this.taskanaEngine = (TaskanaEngineImpl) taskanaEngine; this.taskanaEngine = (TaskanaEngineImpl) taskanaEngine;
@ -275,7 +272,6 @@ public class WorkbasketServiceImpl implements WorkbasketService {
} }
List<String> accessIds = CurrentUserContext.getAccessIds(); List<String> accessIds = CurrentUserContext.getAccessIds();
List<WorkbasketPermission> grantedPermissions = new ArrayList<>();
WorkbasketAccessItem wbAcc = workbasketAccessMapper.findByWorkbasketAndAccessId(workbasketId, WorkbasketAccessItem wbAcc = workbasketAccessMapper.findByWorkbasketAndAccessId(workbasketId,
accessIds); accessIds);
if (wbAcc == null) { if (wbAcc == null) {
@ -285,7 +281,7 @@ public class WorkbasketServiceImpl implements WorkbasketService {
+ "' is needed."); + "' is needed.");
} }
this.addWorkbasketAccessItemValuesToPermissionSet(wbAcc, grantedPermissions); List<WorkbasketPermission> grantedPermissions = this.getPermissionsFromWorkbasketAccessItem(wbAcc);
for (WorkbasketPermission perm : requestedPermissions) { for (WorkbasketPermission perm : requestedPermissions) {
if (!grantedPermissions.contains(perm)) { if (!grantedPermissions.contains(perm)) {
@ -317,7 +313,6 @@ public class WorkbasketServiceImpl implements WorkbasketService {
return; return;
} }
List<String> accessIds = CurrentUserContext.getAccessIds(); List<String> accessIds = CurrentUserContext.getAccessIds();
List<WorkbasketPermission> grantedPermissions = new ArrayList<>();
WorkbasketAccessItem wbAcc = workbasketAccessMapper.findByWorkbasketKeyDomainAndAccessId( WorkbasketAccessItem wbAcc = workbasketAccessMapper.findByWorkbasketKeyDomainAndAccessId(
workbasketKey, domain, accessIds); workbasketKey, domain, accessIds);
if (wbAcc == null) { if (wbAcc == null) {
@ -327,7 +322,7 @@ public class WorkbasketServiceImpl implements WorkbasketService {
+ workbasketKey + workbasketKey
+ "' and domain '" + domain + "' is needed."); + "' and domain '" + domain + "' is needed.");
} }
this.addWorkbasketAccessItemValuesToPermissionSet(wbAcc, grantedPermissions); List<WorkbasketPermission> grantedPermissions = this.getPermissionsFromWorkbasketAccessItem(wbAcc);
for (WorkbasketPermission perm : requestedPermissions) { for (WorkbasketPermission perm : requestedPermissions) {
if (!grantedPermissions.contains(perm)) { if (!grantedPermissions.contains(perm)) {
@ -409,14 +404,9 @@ public class WorkbasketServiceImpl implements WorkbasketService {
@Override @Override
public List<WorkbasketPermission> getPermissionsForWorkbasket(String workbasketId) { public List<WorkbasketPermission> getPermissionsForWorkbasket(String workbasketId) {
List<WorkbasketPermission> permissions = new ArrayList<>();
WorkbasketAccessItem wbAcc = workbasketAccessMapper.findByWorkbasketAndAccessId(workbasketId, WorkbasketAccessItem wbAcc = workbasketAccessMapper.findByWorkbasketAndAccessId(workbasketId,
CurrentUserContext.getAccessIds()); CurrentUserContext.getAccessIds());
if (wbAcc != null) { return this.getPermissionsFromWorkbasketAccessItem(wbAcc);
this.addWorkbasketAccessItemValuesToPermissionSet(wbAcc, permissions);
}
return permissions;
} }
@Override @Override
@ -446,8 +436,12 @@ public class WorkbasketServiceImpl implements WorkbasketService {
} }
} }
private void addWorkbasketAccessItemValuesToPermissionSet(WorkbasketAccessItem workbasketAccessItem, private List<WorkbasketPermission> getPermissionsFromWorkbasketAccessItem(
List<WorkbasketPermission> permissions) { WorkbasketAccessItem workbasketAccessItem) {
List<WorkbasketPermission> permissions = new ArrayList<WorkbasketPermission>();
if (workbasketAccessItem == null) {
return permissions;
}
if (workbasketAccessItem.isPermOpen()) { if (workbasketAccessItem.isPermOpen()) {
permissions.add(WorkbasketPermission.OPEN); permissions.add(WorkbasketPermission.OPEN);
} }
@ -499,6 +493,7 @@ public class WorkbasketServiceImpl implements WorkbasketService {
if (workbasketAccessItem.isPermCustom12()) { if (workbasketAccessItem.isPermCustom12()) {
permissions.add(WorkbasketPermission.CUSTOM_12); permissions.add(WorkbasketPermission.CUSTOM_12);
} }
return permissions;
} }
@Override @Override