/** * <p> * Flush all changes made to memberships to the filesystem. * </p> */ synchronized void flushMemberships() { try { FileOutputStream fos = new FileOutputStream(this.getConfig().getMembershipsFile()); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(getConfig().getMemberships()); oos.close(); } catch (Exception e) { e.printStackTrace(); } }
@Override public GroupRole createMembership(IdentityType member, Group group, Role role) { GroupRole membership = new SimpleGroupRole(member, role, group); getConfig().getMemberships().add(membership); flushMemberships(); return membership; }
@Override public void removeMembership(IdentityType member, Group group, Role role) { for (GroupRole membership : new ArrayList<GroupRole>(getConfig().getMemberships())) { Agent providedMember = (Agent) member; Agent membershipMember = (Agent) membership.getMember(); if (membershipMember == null || providedMember == null || !membershipMember.getId().equals(providedMember.getId())) { continue; } if (hasGroupRole(membership, group, role)) { getConfig().getMemberships().remove(membership); } } flushMemberships(); }
private Group removeGroup(Group group) { getConfig().getGroups().remove(group.getName()); for (GroupRole membership : new ArrayList<GroupRole>(getConfig().getMemberships())) { Group groupMembership = membership.getGroup(); if (groupMembership != null && groupMembership.getName().equals(group.getName())) { getConfig().getMemberships().remove(membership); } } flushGroups(); flushMemberships(); return group; }
private Role removeRole(Role role) { getConfig().getRoles().remove(role.getName()); for (GroupRole membership : new ArrayList<GroupRole>(getConfig().getMemberships())) { Role roleMembership = membership.getRole(); if (roleMembership != null && roleMembership.getName().equals(role.getName())) { getConfig().getMemberships().remove(membership); } } flushRoles(); flushMemberships(); return role; }
@Override public GroupRole getMembership(IdentityType member, Group group, Role role) { for (GroupRole membership : new ArrayList<GroupRole>(getConfig().getMemberships())) { Agent providedMember = (Agent) member; Agent membershipMember = (Agent) membership.getMember(); if (membershipMember == null || providedMember == null || !membershipMember.getId().equals(providedMember.getId())) { continue; } if (hasGroupRole(membership, group, role)) { return membership; } } return null; }
private User removeUser(User user) { getConfig().getUsers().remove(user.getId()); for (GroupRole membership : new ArrayList<GroupRole>(getConfig().getMemberships())) { IdentityType member = membership.getMember(); if (IDMUtil.isUserType(member.getClass())) { User userMember = (User) member; if (userMember.getId().equals(user.getId())) { getConfig().getMemberships().remove(membership); } } } flushUsers(); flushMemberships(); return user; }
private Agent removeAgent(Agent user) { getConfig().getUsers().remove(user.getId()); for (GroupRole membership : new ArrayList<GroupRole>(getConfig().getMemberships())) { IdentityType member = membership.getMember(); if (IDMUtil.isAgentType(member.getClass())) { Agent userMember = (Agent) member; if (userMember.getId().equals(user.getId())) { getConfig().getMemberships().remove(membership); } } } flushUsers(); flushMemberships(); return user; }
for (GroupRole membership : getConfig().getMemberships()) { if (IDMUtil.isAgentType(fileUser.getClass()) && IDMUtil.isAgentType(membership.getMember().getClass())) { Agent selectedAgent = (Agent) fileUser;