aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-impl/src/main/java/org/openecomp/sdc/itempermissions/impl/PermissionsRulesImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-impl/src/main/java/org/openecomp/sdc/itempermissions/impl/PermissionsRulesImpl.java')
-rw-r--r--openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-impl/src/main/java/org/openecomp/sdc/itempermissions/impl/PermissionsRulesImpl.java79
1 files changed, 28 insertions, 51 deletions
diff --git a/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-impl/src/main/java/org/openecomp/sdc/itempermissions/impl/PermissionsRulesImpl.java b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-impl/src/main/java/org/openecomp/sdc/itempermissions/impl/PermissionsRulesImpl.java
index 222ed000ae..2b039c7c93 100644
--- a/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-impl/src/main/java/org/openecomp/sdc/itempermissions/impl/PermissionsRulesImpl.java
+++ b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-impl/src/main/java/org/openecomp/sdc/itempermissions/impl/PermissionsRulesImpl.java
@@ -15,6 +15,12 @@
*/
package org.openecomp.sdc.itempermissions.impl;
+import static org.openecomp.sdc.itempermissions.errors.PermissionsErrorMessages.INVALID_ACTION_TYPE;
+import static org.openecomp.sdc.itempermissions.errors.PermissionsErrorMessages.INVALID_PERMISSION_TYPE;
+
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
import org.apache.commons.collections.CollectionUtils;
import org.openecomp.sdc.common.errors.CoreException;
import org.openecomp.sdc.itempermissions.PermissionsRules;
@@ -24,22 +30,13 @@ import org.openecomp.sdc.itempermissions.errors.PermissionsErrorMessagesBuilder;
import org.openecomp.sdc.itempermissions.impl.types.PermissionActionTypes;
import org.openecomp.sdc.itempermissions.impl.types.PermissionTypes;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import static org.openecomp.sdc.itempermissions.errors.PermissionsErrorMessages.INVALID_ACTION_TYPE;
-import static org.openecomp.sdc.itempermissions.errors.PermissionsErrorMessages.INVALID_PERMISSION_TYPE;
-
/**
* Created by ayalaben on 6/26/2017.
*/
public class PermissionsRulesImpl implements PermissionsRules {
-
@Override
public boolean isAllowed(String permission, String action) {
-
if (permission == null) {
return false;
}
@@ -48,35 +45,29 @@ public class PermissionsRulesImpl implements PermissionsRules {
} catch (IllegalArgumentException ex) {
throw new CoreException(new PermissionsErrorMessagesBuilder(INVALID_PERMISSION_TYPE).build());
}
-
try {
switch (PermissionActionTypes.valueOf(action)) {
case Create_Item:
return true;
-
case Edit_Item:
case Commit_Item:
case Delete_Item:
case Submit_Item:
- if (permission.equals(PermissionTypes.Contributor.name()) || permission.equals
- (PermissionTypes.Owner.name())) {
+ if (permission.equals(PermissionTypes.Contributor.name()) || permission.equals(PermissionTypes.Owner.name())) {
return true;
}
break;
-
case Change_Item_Permissions:
if (permission.equals(PermissionTypes.Owner.name())) {
return true;
}
break;
-
default:
return false;
}
} catch (IllegalArgumentException ex) {
throw new CoreException(new PermissionsErrorMessagesBuilder(INVALID_ACTION_TYPE).build());
}
-
return false;
}
@@ -87,16 +78,12 @@ public class PermissionsRulesImpl implements PermissionsRules {
case Create_Item:
caseCreateItem(userId, itemId);
break;
-
case Change_Item_Permissions:
break;
-
case Edit_Item:
break;
-
case Submit_Item:
break;
-
default:
}
} catch (IllegalArgumentException ex) {
@@ -104,46 +91,36 @@ public class PermissionsRulesImpl implements PermissionsRules {
}
}
- @Override
- public void updatePermission(String itemId, String currentUserId, String permission, Set<String>
- addedUsersIds, Set<String> removedUsersIds) {
- try {
- PermissionTypes.valueOf(permission);
- } catch (IllegalArgumentException ex) {
- throw new CoreException(new PermissionsErrorMessagesBuilder(INVALID_PERMISSION_TYPE).build());
+ @Override
+ public void updatePermission(String itemId, String currentUserId, String permission, Set<String> addedUsersIds, Set<String> removedUsersIds) {
+ try {
+ PermissionTypes.valueOf(permission);
+ } catch (IllegalArgumentException ex) {
+ throw new CoreException(new PermissionsErrorMessagesBuilder(INVALID_PERMISSION_TYPE).build());
+ }
+ if (isOwnerAdded(permission, addedUsersIds)) {
+ handleCurrentOwner(itemId, currentUserId);
+ }
}
- if (isOwnerAdded(permission, addedUsersIds)) {
- handleCurrentOwner(itemId, currentUserId);
+ private boolean isOwnerAdded(String permission, Set<String> addedUsersIds) {
+ return permission.equals(PermissionTypes.Owner.name()) && CollectionUtils.isNotEmpty(addedUsersIds);
}
- }
- private boolean isOwnerAdded(String permission, Set<String> addedUsersIds) {
- return permission.equals(PermissionTypes.Owner.name()) &&
- CollectionUtils.isNotEmpty(addedUsersIds);
- }
-
- private void handleCurrentOwner(String itemId, String currentUserId) {
- PermissionsServices permissionsServices =
- PermissionsServicesFactory.getInstance().createInterface();
- if (!permissionsServices.getUserItemPermission(itemId, currentUserId).isPresent()) {
- return; // no current owner - first owner addition
+ private void handleCurrentOwner(String itemId, String currentUserId) {
+ PermissionsServices permissionsServices = PermissionsServicesFactory.getInstance().createInterface();
+ if (!permissionsServices.getUserItemPermission(itemId, currentUserId).isPresent()) {
+ return; // no current owner - first owner addition
+ }
+ Set<String> currentUserSet = Collections.singleton(currentUserId);
+ permissionsServices.updateItemPermissions(itemId, PermissionTypes.Contributor.name(), currentUserSet, new HashSet<>());
+ permissionsServices.updateItemPermissions(itemId, PermissionTypes.Owner.name(), new HashSet<>(), currentUserSet);
}
- Set<String> currentUserSet = Collections.singleton(currentUserId);
- permissionsServices
- .updateItemPermissions(itemId, PermissionTypes.Contributor.name(), currentUserSet,
- new HashSet<>());
- permissionsServices.updateItemPermissions(itemId, PermissionTypes.Owner.name(), new HashSet<>(),
- currentUserSet);
- }
-
private void caseCreateItem(String userId, String itemId) {
HashSet<String> ownerId = new HashSet<>();
ownerId.add(userId);
PermissionsServicesFactory.getInstance().createInterface()
- .updateItemPermissions(itemId, PermissionTypes.Owner.name(), ownerId,
- new HashSet<>());
+ .updateItemPermissions(itemId, PermissionTypes.Owner.name(), ownerId, new HashSet<>());
}
-
}