Loading projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/GroupPersistence.java +2 −2 Original line number Diff line number Diff line Loading @@ -157,7 +157,7 @@ public abstract interface GroupPersistence<T extends Principal> * @throws TransientException If an temporary, unexpected problem occurred. * @throws AccessControlException If the operation is not permitted. */ public abstract Collection<Group> searchGroups(T userID, Role role, public abstract Collection<Group> getGroups(T userID, Role role, String groupID) throws UserNotFoundException, GroupNotFoundException, TransientException, AccessControlException; Loading projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAO.java +1 −1 Original line number Diff line number Diff line Loading @@ -695,7 +695,7 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO * @throws UserNotFoundException * @throws GroupNotFoundException */ public Collection<Group> searchGroups(T userID, Role role, String groupID) public Collection<Group> getGroups(T userID, Role role, String groupID) throws TransientException, AccessControlException, GroupNotFoundException, UserNotFoundException { Loading projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupPersistence.java +2 −2 Original line number Diff line number Diff line Loading @@ -172,7 +172,7 @@ public class LdapGroupPersistence<T extends Principal> } } public Collection<Group> searchGroups(T userID, Role role, String groupID) public Collection<Group> getGroups(T userID, Role role, String groupID) throws UserNotFoundException, GroupNotFoundException, TransientException, AccessControlException { Loading @@ -180,7 +180,7 @@ public class LdapGroupPersistence<T extends Principal> try { groupDAO = new LdapGroupDAO<T>(config, new LdapUserDAO<T>(config)); Collection<Group> ret = groupDAO.searchGroups(userID, role, groupID); Collection<Group> ret = groupDAO.getGroups(userID, role, groupID); return ret; } finally Loading projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/ACSearchRunner.java +4 −3 Original line number Diff line number Diff line Loading @@ -169,13 +169,14 @@ public class ACSearchRunner RequestValidator rv = new RequestValidator(); rv.validate(job.getParameterList()); Principal userID = AuthenticationUtil.createPrincipal(rv.getUserID(), rv.getIDType().getValue()); //Principal userID = getUserPrincipal(rv.getId(), rv.getType()); Principal userID = AuthenticationUtil.createPrincipal(rv.getUserID(), rv.getIDType().getValue()); PluginFactory factory = new PluginFactory(); GroupPersistence dao = factory.getGroupPersistence(); Collection<Group> groups = dao.searchGroups(userID, rv.getRole(), rv.getGroupID()); dao.getGroups(userID, rv.getRole(), rv.getGroupID()); syncOut.setResponseCode(HttpServletResponse.SC_OK); GroupsWriter.write(groups, syncOut.getOutputStream()); Loading projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAOTest.java +16 −35 Original line number Diff line number Diff line Loading @@ -258,7 +258,7 @@ public class LdapGroupDAOTest testGroup = getGroupDAO().addGroup(testGroup); Collection<Group> groups = getGroupDAO().searchGroups(daoTestUser1.getUserID(), getGroupDAO().getGroups(daoTestUser1.getUserID(), Role.OWNER, null); boolean found = false; Loading Loading @@ -299,25 +299,15 @@ public class LdapGroupDAOTest { try { Group memberGroup = new Group(getGroupID(), daoTestUser2); memberGroup = getGroupDAO().addGroup(memberGroup); log.debug("member group: " + memberGroup.getID()); Group testGroup = new Group(getGroupID(), daoTestUser1); testGroup.getGroupMembers().add(memberGroup); testGroup = getGroupDAO().addGroup(testGroup); log.debug("test group: " + testGroup.getID()); Group expectedGroup = new Group("CadcDaoTestGroup1"); Collection<Group> groups = getGroupDAO().searchGroups(daoTestUser2.getUserID(), getGroupDAO().getGroups(daoTestUser2.getUserID(), Role.MEMBER, null); log.debug("# groups found: " + groups.size()); boolean found = false; for (Group group : groups) { log.debug("found group: " + group.getID()); if (group.equals(testGroup)) { log.debug("found test group: " + group.getID()); Set<Group> members = group.getGroupMembers(); Loading @@ -325,13 +315,12 @@ public class LdapGroupDAOTest log.debug("#test group members: " + members.size()); for (Group member : members) { if (member.equals(memberGroup)) if (member.equals(expectedGroup)) { found = true; } } } } if (!found) { fail("Group member not found"); Loading @@ -357,18 +346,10 @@ public class LdapGroupDAOTest { try { Group rwGroup = new Group(getGroupID(), daoTestUser2); rwGroup = getGroupDAO().addGroup(rwGroup); log.debug("rw group: " + rwGroup.getID()); Group testGroup = new Group(getGroupID(), daoTestUser1); testGroup.groupRead = rwGroup; testGroup.groupWrite = rwGroup; testGroup = getGroupDAO().addGroup(testGroup); log.debug("test group: " + testGroup.getID()); Group expectedGroup = new Group("CadcDaoTestGroup1"); Collection<Group> groups = getGroupDAO().searchGroups(daoTestUser2.getUserID(), getGroupDAO().getGroups(daoTestUser2.getUserID(), Role.RW, null); System.out.println("# groups found: " + groups.size()); Loading @@ -383,7 +364,7 @@ public class LdapGroupDAOTest { fail("returned group with wrong owner"); } if (group.getID().equals(testGroup.getID())) if (group.equals(expectedGroup)) { found = true; } Loading Loading @@ -612,7 +593,7 @@ public class LdapGroupDAOTest try { getGroupDAO().searchGroups(unknownPrincipal, Role.OWNER, getGroupDAO().getGroups(unknownPrincipal, Role.OWNER, groupID); fail("searchGroups with unknown user should throw " + "UserNotFoundException"); Loading @@ -621,7 +602,7 @@ public class LdapGroupDAOTest try { getGroupDAO().searchGroups(daoTestPrincipal1, Role.OWNER, getGroupDAO().getGroups(daoTestPrincipal1, Role.OWNER, "foo"); fail("searchGroups with unknown user should throw " + "GroupNotFoundException"); Loading @@ -637,7 +618,7 @@ public class LdapGroupDAOTest { try { getGroupDAO().searchGroups(daoTestPrincipal1, Role.OWNER, getGroupDAO().getGroups(daoTestPrincipal1, Role.OWNER, groupID); fail("searchGroups with anonymous access should throw " + "AccessControlException"); Loading Loading
projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/GroupPersistence.java +2 −2 Original line number Diff line number Diff line Loading @@ -157,7 +157,7 @@ public abstract interface GroupPersistence<T extends Principal> * @throws TransientException If an temporary, unexpected problem occurred. * @throws AccessControlException If the operation is not permitted. */ public abstract Collection<Group> searchGroups(T userID, Role role, public abstract Collection<Group> getGroups(T userID, Role role, String groupID) throws UserNotFoundException, GroupNotFoundException, TransientException, AccessControlException; Loading
projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAO.java +1 −1 Original line number Diff line number Diff line Loading @@ -695,7 +695,7 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO * @throws UserNotFoundException * @throws GroupNotFoundException */ public Collection<Group> searchGroups(T userID, Role role, String groupID) public Collection<Group> getGroups(T userID, Role role, String groupID) throws TransientException, AccessControlException, GroupNotFoundException, UserNotFoundException { Loading
projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupPersistence.java +2 −2 Original line number Diff line number Diff line Loading @@ -172,7 +172,7 @@ public class LdapGroupPersistence<T extends Principal> } } public Collection<Group> searchGroups(T userID, Role role, String groupID) public Collection<Group> getGroups(T userID, Role role, String groupID) throws UserNotFoundException, GroupNotFoundException, TransientException, AccessControlException { Loading @@ -180,7 +180,7 @@ public class LdapGroupPersistence<T extends Principal> try { groupDAO = new LdapGroupDAO<T>(config, new LdapUserDAO<T>(config)); Collection<Group> ret = groupDAO.searchGroups(userID, role, groupID); Collection<Group> ret = groupDAO.getGroups(userID, role, groupID); return ret; } finally Loading
projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/ACSearchRunner.java +4 −3 Original line number Diff line number Diff line Loading @@ -169,13 +169,14 @@ public class ACSearchRunner RequestValidator rv = new RequestValidator(); rv.validate(job.getParameterList()); Principal userID = AuthenticationUtil.createPrincipal(rv.getUserID(), rv.getIDType().getValue()); //Principal userID = getUserPrincipal(rv.getId(), rv.getType()); Principal userID = AuthenticationUtil.createPrincipal(rv.getUserID(), rv.getIDType().getValue()); PluginFactory factory = new PluginFactory(); GroupPersistence dao = factory.getGroupPersistence(); Collection<Group> groups = dao.searchGroups(userID, rv.getRole(), rv.getGroupID()); dao.getGroups(userID, rv.getRole(), rv.getGroupID()); syncOut.setResponseCode(HttpServletResponse.SC_OK); GroupsWriter.write(groups, syncOut.getOutputStream()); Loading
projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAOTest.java +16 −35 Original line number Diff line number Diff line Loading @@ -258,7 +258,7 @@ public class LdapGroupDAOTest testGroup = getGroupDAO().addGroup(testGroup); Collection<Group> groups = getGroupDAO().searchGroups(daoTestUser1.getUserID(), getGroupDAO().getGroups(daoTestUser1.getUserID(), Role.OWNER, null); boolean found = false; Loading Loading @@ -299,25 +299,15 @@ public class LdapGroupDAOTest { try { Group memberGroup = new Group(getGroupID(), daoTestUser2); memberGroup = getGroupDAO().addGroup(memberGroup); log.debug("member group: " + memberGroup.getID()); Group testGroup = new Group(getGroupID(), daoTestUser1); testGroup.getGroupMembers().add(memberGroup); testGroup = getGroupDAO().addGroup(testGroup); log.debug("test group: " + testGroup.getID()); Group expectedGroup = new Group("CadcDaoTestGroup1"); Collection<Group> groups = getGroupDAO().searchGroups(daoTestUser2.getUserID(), getGroupDAO().getGroups(daoTestUser2.getUserID(), Role.MEMBER, null); log.debug("# groups found: " + groups.size()); boolean found = false; for (Group group : groups) { log.debug("found group: " + group.getID()); if (group.equals(testGroup)) { log.debug("found test group: " + group.getID()); Set<Group> members = group.getGroupMembers(); Loading @@ -325,13 +315,12 @@ public class LdapGroupDAOTest log.debug("#test group members: " + members.size()); for (Group member : members) { if (member.equals(memberGroup)) if (member.equals(expectedGroup)) { found = true; } } } } if (!found) { fail("Group member not found"); Loading @@ -357,18 +346,10 @@ public class LdapGroupDAOTest { try { Group rwGroup = new Group(getGroupID(), daoTestUser2); rwGroup = getGroupDAO().addGroup(rwGroup); log.debug("rw group: " + rwGroup.getID()); Group testGroup = new Group(getGroupID(), daoTestUser1); testGroup.groupRead = rwGroup; testGroup.groupWrite = rwGroup; testGroup = getGroupDAO().addGroup(testGroup); log.debug("test group: " + testGroup.getID()); Group expectedGroup = new Group("CadcDaoTestGroup1"); Collection<Group> groups = getGroupDAO().searchGroups(daoTestUser2.getUserID(), getGroupDAO().getGroups(daoTestUser2.getUserID(), Role.RW, null); System.out.println("# groups found: " + groups.size()); Loading @@ -383,7 +364,7 @@ public class LdapGroupDAOTest { fail("returned group with wrong owner"); } if (group.getID().equals(testGroup.getID())) if (group.equals(expectedGroup)) { found = true; } Loading Loading @@ -612,7 +593,7 @@ public class LdapGroupDAOTest try { getGroupDAO().searchGroups(unknownPrincipal, Role.OWNER, getGroupDAO().getGroups(unknownPrincipal, Role.OWNER, groupID); fail("searchGroups with unknown user should throw " + "UserNotFoundException"); Loading @@ -621,7 +602,7 @@ public class LdapGroupDAOTest try { getGroupDAO().searchGroups(daoTestPrincipal1, Role.OWNER, getGroupDAO().getGroups(daoTestPrincipal1, Role.OWNER, "foo"); fail("searchGroups with unknown user should throw " + "GroupNotFoundException"); Loading @@ -637,7 +618,7 @@ public class LdapGroupDAOTest { try { getGroupDAO().searchGroups(daoTestPrincipal1, Role.OWNER, getGroupDAO().getGroups(daoTestPrincipal1, Role.OWNER, groupID); fail("searchGroups with anonymous access should throw " + "AccessControlException"); Loading