diff --git a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/GroupPersistence.java b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/GroupPersistence.java index 970749fdc63d7b5b19d1fa17861582ff6631c331..3c55bae060baf96845d189eb5106dfa468976234 100755 --- a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/GroupPersistence.java +++ b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/GroupPersistence.java @@ -157,8 +157,8 @@ 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, - String groupID) + public abstract Collection<Group> getGroups(T userID, Role role, + String groupID) throws UserNotFoundException, GroupNotFoundException, TransientException, AccessControlException; diff --git a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAO.java b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAO.java index f15ba746cd73139b0a848da991898f826147da25..a55ffe84dd466112e3dd49bfb61b0132f6f6e76a 100755 --- a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAO.java +++ b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAO.java @@ -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 { diff --git a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupPersistence.java b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupPersistence.java index b45318643f6078e4cfb5d93c2074ae255686752e..91c6372c9ad7786e18b16e544a8098969b0f7f22 100755 --- a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupPersistence.java +++ b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupPersistence.java @@ -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 { @@ -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 diff --git a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/ACSearchRunner.java b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/ACSearchRunner.java index 0ee2887b27ed3cbd129c3ed187008b0d04f270a8..dad14550543545ec7a7fbdff7493b6ecf45f47e7 100755 --- a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/ACSearchRunner.java +++ b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/ACSearchRunner.java @@ -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()); diff --git a/projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAOTest.java b/projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAOTest.java index cdde99c29e103ff8309b7eec0c7d0a060757e5b7..48de04ef076203372d84a3cdc89c72c41d94230a 100644 --- a/projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAOTest.java +++ b/projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAOTest.java @@ -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; @@ -299,36 +299,25 @@ 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(); + log.debug("found test group: " + group.getID()); + Set<Group> members = group.getGroupMembers(); - log.debug("#test group members: " + members.size()); - for (Group member : members) + log.debug("#test group members: " + members.size()); + for (Group member : members) + { + if (member.equals(expectedGroup)) { - if (member.equals(memberGroup)) - { - found = true; - } + found = true; } } } @@ -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()); @@ -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; } @@ -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"); @@ -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"); @@ -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"); diff --git a/projects/cadcAccessControl/src/ca/nrc/cadc/ac/client/GMSClient.java b/projects/cadcAccessControl/src/ca/nrc/cadc/ac/client/GMSClient.java index b4be259a70d8d6e9dab7cb54394e46072b27ad3e..7bbb8e428748812a2f20f63b68f079c300219d6b 100755 --- a/projects/cadcAccessControl/src/ca/nrc/cadc/ac/client/GMSClient.java +++ b/projects/cadcAccessControl/src/ca/nrc/cadc/ac/client/GMSClient.java @@ -156,16 +156,6 @@ public class GMSClient } } - /** - * Get a list of groups. - * - * @return The list of groups. - */ - public List<Group> getGroups() - { - throw new UnsupportedOperationException("Not yet implemented"); - } - /** * Create a new group *