diff options
Diffstat (limited to 'openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-impl')
4 files changed, 39 insertions, 69 deletions
diff --git a/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-impl/src/main/java/org/openecomp/sdc/itempermissions/impl/PermissionsRulesFactoryImpl.java b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-impl/src/main/java/org/openecomp/sdc/itempermissions/impl/PermissionsRulesFactoryImpl.java index 0562078a6e..c7007a4644 100644 --- a/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-impl/src/main/java/org/openecomp/sdc/itempermissions/impl/PermissionsRulesFactoryImpl.java +++ b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-impl/src/main/java/org/openecomp/sdc/itempermissions/impl/PermissionsRulesFactoryImpl.java @@ -7,9 +7,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -17,7 +17,6 @@ * limitations under the License. * ============LICENSE_END========================================================= */ - package org.openecomp.sdc.itempermissions.impl; import org.openecomp.sdc.itempermissions.PermissionsRules; @@ -28,9 +27,8 @@ import org.openecomp.sdc.itempermissions.PermissionsRulesFactory; */ public class PermissionsRulesFactoryImpl extends PermissionsRulesFactory { - @Override - public PermissionsRules createInterface() { - return new PermissionsRulesImpl(); - } - + @Override + public PermissionsRules createInterface() { + return new PermissionsRulesImpl(); + } } 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<>()); } - } diff --git a/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-impl/src/main/java/org/openecomp/sdc/itempermissions/impl/types/PermissionActionTypes.java b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-impl/src/main/java/org/openecomp/sdc/itempermissions/impl/types/PermissionActionTypes.java index e0d03459a5..34c2128a5d 100644 --- a/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-impl/src/main/java/org/openecomp/sdc/itempermissions/impl/types/PermissionActionTypes.java +++ b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-impl/src/main/java/org/openecomp/sdc/itempermissions/impl/types/PermissionActionTypes.java @@ -7,9 +7,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -17,7 +17,6 @@ * limitations under the License. * ============LICENSE_END========================================================= */ - package org.openecomp.sdc.itempermissions.impl.types; /** diff --git a/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-impl/src/main/java/org/openecomp/sdc/itempermissions/impl/types/PermissionTypes.java b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-impl/src/main/java/org/openecomp/sdc/itempermissions/impl/types/PermissionTypes.java index 1e0acdfe99..67cd837652 100644 --- a/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-impl/src/main/java/org/openecomp/sdc/itempermissions/impl/types/PermissionTypes.java +++ b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-impl/src/main/java/org/openecomp/sdc/itempermissions/impl/types/PermissionTypes.java @@ -7,9 +7,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -17,13 +17,9 @@ * limitations under the License. * ============LICENSE_END========================================================= */ - package org.openecomp.sdc.itempermissions.impl.types; /** * Created by ayalaben on 6/26/2017. */ -public enum PermissionTypes { - Owner, - Contributor -} +public enum PermissionTypes {Owner, Contributor} |