@Override public void removeRoleByUUID(final String roleUUID) throws RoleNotFoundException { Misc.checkArgsNotNull(roleUUID); final IdentityService identityService = EnvTool.getIdentityService(); final RoleImpl role = identityService.getRole(roleUUID); if (role == null) { throw new RoleNotFoundException("bai_IAPII_3", roleUUID); } identityService.deleteRole(role); final Set<String> roleUUIDs = new HashSet<String>(); roleUUIDs.add(roleUUID); removeRolesFromRules(roleUUIDs); }
@Override public List<User> getUsersInRole(final String roleUUID, final int fromIndex, final int numberOfUsers) throws RoleNotFoundException { FacadeUtil.checkArgsNotNull(roleUUID); final IdentityService identityService = EnvTool.getIdentityService(); final RoleImpl role = identityService.getRole(roleUUID); if (role == null) { throw new RoleNotFoundException("bai_IAPII_3", roleUUID); } final List<UserImpl> usersInGroup = identityService.getUsersByRole(roleUUID, fromIndex, numberOfUsers); final List<User> users = new ArrayList<User>(); for (final UserImpl userInGroup : usersInGroup) { users.add(new UserImpl(userInGroup)); } return users; }
@Override public List<User> getAllUsersInRole(final String roleUUID) throws RoleNotFoundException { FacadeUtil.checkArgsNotNull(roleUUID); final IdentityService identityService = EnvTool.getIdentityService(); final RoleImpl role = identityService.getRole(roleUUID); if (role == null) { throw new RoleNotFoundException("bai_IAPII_3", roleUUID); } final List<UserImpl> users = identityService.getUsersByRole(roleUUID); final List<User> result = new ArrayList<User>(); if (users != null) { for (final UserImpl user : users) { result.add(new UserImpl(user)); } } return result; }
@Override public List<User> getUsersInRole(final String roleUUID, final int fromIndex, final int numberOfUsers, final UserCriterion pagingCriterion) throws RoleNotFoundException { FacadeUtil.checkArgsNotNull(roleUUID); final IdentityService identityService = EnvTool.getIdentityService(); final RoleImpl role = identityService.getRole(roleUUID); if (role == null) { throw new RoleNotFoundException("bai_IAPII_3", roleUUID); } final List<UserImpl> usersInGroup = identityService.getUsersByRole(roleUUID, fromIndex, numberOfUsers, pagingCriterion); final List<User> users = new ArrayList<User>(); for (final UserImpl userInGroup : usersInGroup) { users.add(new UserImpl(userInGroup)); } return users; }
@Override public Role getRoleByUUID(final String roleUUID) throws RoleNotFoundException { FacadeUtil.checkArgsNotNull(roleUUID); final IdentityService identityService = EnvTool.getIdentityService(); final RoleImpl role = identityService.getRole(roleUUID); if (role == null) { throw new RoleNotFoundException("bai_IAPII_3", roleUUID); } return new RoleImpl(role); }
@Override public List<User> getAllUsersInRoleAndGroup(final String roleUUID, final String groupUUID) throws RoleNotFoundException, GroupNotFoundException { FacadeUtil.checkArgsNotNull(roleUUID, groupUUID); final IdentityService identityService = EnvTool.getIdentityService(); final RoleImpl role = identityService.getRole(roleUUID); if (role == null) { throw new RoleNotFoundException("bai_IAPII_3", roleUUID); } final GroupImpl group = identityService.getGroup(groupUUID); if (group == null) { throw new GroupNotFoundException("bai_IAPII_12", groupUUID); } final MembershipImpl membership = identityService.findMembershipByRoleAndGroup(roleUUID, groupUUID); final List<User> result = new ArrayList<User>(); if (membership != null) { final List<UserImpl> users = identityService.getUsersByMembership(membership.getUUID()); for (final UserImpl user : users) { result.add(new UserImpl(user)); } } return result; }
@Override public Role updateRoleByUUID(final String roleUUID, final String name, final String label, final String description) throws RoleNotFoundException, RoleAlreadyExistsException { FacadeUtil.checkArgsNotNull(roleUUID, name); final IdentityService identityService = EnvTool.getIdentityService(); final RoleImpl role = identityService.getRole(roleUUID); if (role == null) { throw new RoleNotFoundException("bai_IAPII_3", roleUUID); } if (!role.getName().equals(name) && identityService.findRoleByName(name) != null) { throw new RoleAlreadyExistsException("bai_IAPII_5", name); } role.setName(name); role.setLabel(label); role.setDescription(description); identityService.updateRole(role); return new RoleImpl(role); }
@Override public void removeRoles(final Collection<String> roleUUIDs) throws RoleNotFoundException { FacadeUtil.checkArgsNotNull(roleUUIDs); final IdentityService identityService = EnvTool.getIdentityService(); for (final String roleUUID : roleUUIDs) { final RoleImpl role = identityService.getRole(roleUUID); if (role == null) { throw new RoleNotFoundException("bai_IAPII_3", roleUUID); } final Set<MembershipImpl> memberships = identityService.getMembershipsByRole(role.getUUID()); final Set<String> membershipUUIDs = new HashSet<String>(); for (final MembershipImpl membership : memberships) { final List<UserImpl> usersInMembership = identityService.getUsersByMembership(membership.getUUID()); for (final UserImpl user : usersInMembership) { identityService.removeMembershipFromUser(user, membership); } identityService.deleteMembership(membership); membershipUUIDs.add(membership.getUUID()); } removeMembershipsFromRules(membershipUUIDs); identityService.deleteRole(role); } removeRolesFromRules(roleUUIDs); }
@Override public Role importRole(final String uuid, final String name, final String label, final String description) throws RoleAlreadyExistsException { FacadeUtil.checkArgsNotNull(name); final IdentityService identityService = EnvTool.getIdentityService(); Role role = identityService.getRole(uuid); if (role != null) { throw new RoleAlreadyExistsException("bai_IAPII_1", uuid); } role = identityService.findRoleByName(name); if (role != null) { throw new RoleAlreadyExistsException("bai_IAPII_1", name); } final RoleImpl roleToImport = new RoleImpl(uuid, name); roleToImport.setLabel(label); roleToImport.setDescription(description); identityService.addRole(roleToImport); return role; }
@Override public Membership getMembershipForRoleAndGroup(final String roleUUID, final String groupUUID) throws RoleNotFoundException, GroupNotFoundException { FacadeUtil.checkArgsNotNull(roleUUID, groupUUID); final IdentityService identityService = EnvTool.getIdentityService(); final RoleImpl role = identityService.getRole(roleUUID); if (role == null) { throw new RoleNotFoundException("bai_IAPII_3", roleUUID); } final GroupImpl group = identityService.getGroup(groupUUID); if (group == null) { throw new GroupNotFoundException("bai_IAPII_12", groupUUID); } MembershipImpl membership = identityService.findMembershipByRoleAndGroup(roleUUID, groupUUID); if (membership != null) { return new MembershipImpl(membership); } else { membership = new MembershipImpl(); membership.setGroup(group); membership.setRole(role); identityService.addMembership(membership); return new MembershipImpl(membership); } }