1 package org.openecomp.sdc.itempermissions.dao.impl;
3 import org.openecomp.sdc.common.session.SessionContextProviderFactory;
4 import org.openecomp.sdc.itempermissions.PermissionsRules;
5 import org.openecomp.sdc.itempermissions.PermissionsServices;
6 import org.openecomp.sdc.itempermissions.dao.ItemPermissionsDao;
7 import org.openecomp.sdc.itempermissions.type.ItemPermissionsEntity;
9 import java.util.Collection;
14 * Created by ayalaben on 6/22/2017.
16 public class PermissionsServicesImpl implements PermissionsServices {
18 private ItemPermissionsDao permissionsDao;
20 private PermissionsRules permissionsRules;
22 private static final String CHANGE_PERMISSIONS = "Change_Item_Permissions";
24 public PermissionsServicesImpl(PermissionsRules permissionsRules,
25 ItemPermissionsDao permissionsDao) {
26 this.permissionsDao = permissionsDao;
27 this.permissionsRules = permissionsRules;
32 public Collection<ItemPermissionsEntity> listItemPermissions(String itemId) {
33 return permissionsDao.listItemPermissions(itemId);
37 public void updateItemPermissions(String itemId, String permission, Set<String> addedUsersIds,
38 Set<String> removedUsersIds) {
40 String currentUserId = SessionContextProviderFactory.getInstance()
41 .createInterface().get().getUser().getUserId();
43 permissionsRules.executeAction(itemId,currentUserId,CHANGE_PERMISSIONS);
45 permissionsRules.updatePermission(itemId,currentUserId,permission,addedUsersIds,
48 permissionsDao.updateItemPermissions(itemId, permission,
49 addedUsersIds, removedUsersIds);
54 public boolean isAllowed(String itemId,String userId,String action) {
56 String userPermission = permissionsDao.getUserItemPermission(itemId,userId);
57 return permissionsRules.isAllowed(userPermission,action);
61 public void execute(String itemId,String userId,String action) {
62 permissionsRules.executeAction(itemId, userId, action);
66 public String getUserItemPermiission(String itemId, String userId) {
67 return permissionsDao.getUserItemPermission(itemId,userId);
71 public void deleteItemPermissions(String itemId) {
72 permissionsDao.deleteItemPermissions(itemId);