@Override public Agent getAgent(String id) { return getConfig().getUsers().get(id); }
@Override public Group getGroup(String groupId) { return getConfig().getGroups().get(groupId); }
@Override public Role getRole(String role) { return getConfig().getRoles().get(role); }
/** * <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(); } }
/** * <p> * Flush all changes made to roles to the filesystem. * </p> */ synchronized void flushRoles() { try { FileOutputStream fos = new FileOutputStream(this.getConfig().getRolesFile()); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(getConfig().getRoles()); oos.close(); } catch (Exception e) { } }
@Override public GroupRole createMembership(IdentityType member, Group group, Role role) { GroupRole membership = new SimpleGroupRole(member, role, group); getConfig().getMemberships().add(membership); flushMemberships(); return membership; }
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; }
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 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; }
@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 Agent updateAgent(Agent updatedAgent, Agent storedAgent) { if (storedAgent != updatedAgent) { updateCommonProperties(updatedAgent, storedAgent); } getConfig().getUsers().put(storedAgent.getId(), storedAgent); flushUsers(); return updatedAgent; }
private Role updateRole(Role updatedRole, Role storedRole) { if (storedRole != updatedRole) { updateCommonProperties(updatedRole, storedRole); } getConfig().getRoles().put(storedRole.getName(), storedRole); flushRoles(); return storedRole; }
private Group updateGroup(Group updatedGroup, Group storedGroup) { if (storedGroup != updatedGroup) { updateCommonProperties(updatedGroup, storedGroup); } getConfig().getGroups().put(storedGroup.getName(), storedGroup); flushGroups(); return storedGroup; }
@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 Role addRole(Role role) { SimpleRole fileRole = new SimpleRole(role.getName()); updateCommonProperties(role, fileRole); getConfig().getRoles().put(fileRole.getName(), fileRole); flushRoles(); return fileRole; }
private Agent addAgent(Agent user) { Agent storedAgent = new SimpleAgent(user.getId()); updateCommonProperties(user, storedAgent); getConfig().getUsers().put(storedAgent.getId(), storedAgent); flushUsers(); return storedAgent; }
private User updateUser(User updatedUser, User storedUser) { if (storedUser != updatedUser) { storedUser.setFirstName(updatedUser.getFirstName()); storedUser.setLastName(updatedUser.getLastName()); storedUser.setEmail(updatedUser.getEmail()); updateCommonProperties(updatedUser, storedUser); } getConfig().getUsers().put(storedUser.getId(), storedUser); flushUsers(); return updatedUser; }
private Group addGroup(Group group) { SimpleGroup fileGroup = null; if (group.getParentGroup() != null) { fileGroup = new SimpleGroup(group.getName(), getGroup(group.getParentGroup().getName())); } else { fileGroup = new SimpleGroup(group.getName()); } updateCommonProperties(group, fileGroup); getConfig().getGroups().put(fileGroup.getName(), fileGroup); flushGroups(); return fileGroup; }
private User addUser(User user) { User storedUser = new SimpleUser(user.getId()); storedUser.setFirstName(user.getFirstName()); storedUser.setLastName(user.getLastName()); storedUser.setEmail(user.getEmail()); updateCommonProperties(user, storedUser); getConfig().getUsers().put(storedUser.getId(), storedUser); flushUsers(); return storedUser; }