From 9db00f37d1ef985e11a463992ff276137304047b Mon Sep 17 00:00:00 2001 From: Brian Major <brian.major@nrc-cnrc.gc.ca> Date: Mon, 17 Nov 2014 11:18:32 -0800 Subject: [PATCH] nep110 - Rework: actions don't get persistent member objects before group update --- .../src/ca/nrc/cadc/ac/server/web/AddGroupMemberAction.java | 3 +-- .../src/ca/nrc/cadc/ac/server/web/AddUserMemberAction.java | 4 ++-- .../ca/nrc/cadc/ac/server/web/RemoveGroupMemberAction.java | 2 +- .../src/ca/nrc/cadc/ac/server/web/RemoveUserMemberAction.java | 3 +-- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/AddGroupMemberAction.java b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/AddGroupMemberAction.java index 9577061c..c842e970 100755 --- a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/AddGroupMemberAction.java +++ b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/AddGroupMemberAction.java @@ -73,7 +73,6 @@ import ca.nrc.cadc.ac.GroupAlreadyExistsException; import ca.nrc.cadc.ac.server.GroupPersistence; import java.util.ArrayList; import java.util.List; -import java.util.Set; public class AddGroupMemberAction extends GroupsAction { @@ -93,7 +92,7 @@ public class AddGroupMemberAction extends GroupsAction { GroupPersistence groupPersistence = getGroupPersistence(); Group group = groupPersistence.getGroup(this.groupName); - Group toAdd = groupPersistence.getGroup(this.groupMemberName); + Group toAdd = new Group(this.groupMemberName); if (!group.getGroupMembers().add(toAdd)) { throw new GroupAlreadyExistsException(this.groupMemberName); diff --git a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/AddUserMemberAction.java b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/AddUserMemberAction.java index d8a84b26..7c687340 100755 --- a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/AddUserMemberAction.java +++ b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/AddUserMemberAction.java @@ -99,14 +99,14 @@ public class AddUserMemberAction extends GroupsAction throws Exception { GroupPersistence groupPersistence = getGroupPersistence(); - UserPersistence userPersistence = getUserPersistence(); Group group = groupPersistence.getGroup(this.groupName); Principal userPrincipal = AuthenticationUtil.createPrincipal(this.userID, this.userIDType); - User toAdd = userPersistence.getUser(userPrincipal); + User<Principal> toAdd = new User(userPrincipal); if (!group.getUserMembers().add(toAdd)) { throw new MemberAlreadyExistsException(); } + groupPersistence.modifyGroup(group); List<String> addedMembers = new ArrayList<String>(); diff --git a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/RemoveGroupMemberAction.java b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/RemoveGroupMemberAction.java index 39e14891..269984b1 100755 --- a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/RemoveGroupMemberAction.java +++ b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/RemoveGroupMemberAction.java @@ -92,7 +92,7 @@ public class RemoveGroupMemberAction extends GroupsAction { GroupPersistence groupPersistence = getGroupPersistence(); Group group = groupPersistence.getGroup(this.groupName); - Group toRemove = groupPersistence.getGroup(this.groupMemberName); + Group toRemove = new Group(this.groupMemberName); if (!group.getGroupMembers().remove(toRemove)) { throw new GroupNotFoundException(this.groupMemberName); diff --git a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/RemoveUserMemberAction.java b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/RemoveUserMemberAction.java index c9612f66..9b4d34f7 100755 --- a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/RemoveUserMemberAction.java +++ b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/RemoveUserMemberAction.java @@ -97,10 +97,9 @@ public class RemoveUserMemberAction extends GroupsAction throws Exception { GroupPersistence groupPersistence = getGroupPersistence(); - UserPersistence userPersistence = getUserPersistence(); Group group = groupPersistence.getGroup(this.groupName); Principal userPrincipal = AuthenticationUtil.createPrincipal(this.userID, this.userIDType); - User toRemove = userPersistence.getUser(userPrincipal); + User<Principal> toRemove = new User(userPrincipal); if (!group.getUserMembers().remove(toRemove)) { throw new MemberNotFoundException(); -- GitLab