From 9f3ff9336eb4350e6d0b5bde0986c0ce1f8b21bf Mon Sep 17 00:00:00 2001 From: Brian Major <brian.major@nrc-cnrc.gc.ca> Date: Thu, 11 Sep 2014 14:28:51 -0700 Subject: [PATCH] s1651 - GMSClient search API created --- .../src/ca/nrc/cadc/ac/client/GMSClient.java | 53 ++++++++++++++----- 1 file changed, 40 insertions(+), 13 deletions(-) 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 261a64ee..30507fe9 100755 --- a/projects/cadcAccessControl/src/ca/nrc/cadc/ac/client/GMSClient.java +++ b/projects/cadcAccessControl/src/ca/nrc/cadc/ac/client/GMSClient.java @@ -68,18 +68,6 @@ */ package ca.nrc.cadc.ac.client; -import ca.nrc.cadc.ac.Group; -import ca.nrc.cadc.ac.GroupAlreadyExistsException; -import ca.nrc.cadc.ac.GroupNotFoundException; -import ca.nrc.cadc.ac.GroupReader; -import ca.nrc.cadc.ac.GroupWriter; -import ca.nrc.cadc.ac.UserNotFoundException; -import ca.nrc.cadc.auth.AuthenticationUtil; -import ca.nrc.cadc.auth.SSLUtil; -import ca.nrc.cadc.net.HttpDownload; -import ca.nrc.cadc.net.HttpPost; -import ca.nrc.cadc.net.HttpUpload; -import ca.nrc.cadc.net.NetUtil; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -96,13 +84,31 @@ import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.Set; + import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLSocketFactory; import javax.security.auth.Subject; + import org.apache.log4j.Logger; +import ca.nrc.cadc.ac.Group; +import ca.nrc.cadc.ac.GroupAlreadyExistsException; +import ca.nrc.cadc.ac.GroupNotFoundException; +import ca.nrc.cadc.ac.GroupReader; +import ca.nrc.cadc.ac.GroupWriter; +import ca.nrc.cadc.ac.Role; +import ca.nrc.cadc.ac.UserNotFoundException; +import ca.nrc.cadc.auth.AuthenticationUtil; +import ca.nrc.cadc.auth.SSLUtil; +import ca.nrc.cadc.net.HttpDownload; +import ca.nrc.cadc.net.HttpPost; +import ca.nrc.cadc.net.HttpUpload; +import ca.nrc.cadc.net.NetUtil; + /** * Client class for communicating with the access control web service. + * + * TODO: Cache the group memberships using getCachedGroups(), setCachedGroups() */ public class GMSClient { @@ -647,10 +653,31 @@ public class GMSClient } } - public Collection<Group> searchGroups() + public Collection<Group> getMemberships(Principal userID, Role role) + { + throw new UnsupportedOperationException(); + } + + public Group getMembership(Principal userID, String groupName) + { + return getMembership(userID, groupName, Role.MEMBER); + } + + public Group getMembership(Principal userID, String groupName, Role role) { throw new UnsupportedOperationException(); } + + public boolean isMember(Principal userID, String groupName) + { + return isMember(userID, groupName, Role.MEMBER); + } + + public boolean isMember(Principal userID, String groupName, Role role) + { + Group group = getMembership(userID, groupName, role); + return group != null; + } /** * @param sslSocketFactory the sslSocketFactory to set -- GitLab