This is an automated email from the ASF dual-hosted git repository. smarru pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/airavata.git commit 4ec92a79afbbcf4ed0c92be69c33379065d60ae4 Author: Sachin Kariyattin AuthorDate: Wed Dec 6 01:38:15 2017 -0500 Adding GroupManager client sample --- .../profile/client/samples/GroupManagerSample.java | 41 ++++++++++++++++++++++ .../client/ProfileServiceClientFactory.java | 15 ++++++++ 2 files changed, 56 insertions(+) diff --git a/airavata-services/profile-service/profile-service-client-sdks/java-client-samples/src/main/java/org/apache/airavata/service/profile/client/samples/GroupManagerSample.java b/airavata-services/profile-service/profile-service-client-sdks/java-client-samples/src/main/java/org/apache/airavata/service/profile/client/samples/GroupManagerSample.java new file mode 100644 index 0000000..71fdd70 --- /dev/null +++ b/airavata-services/profile-service/profile-service-client-sdks/java-client-samples/src/main/java/org/apache/airavata/service/profile/client/samples/GroupManagerSample.java @@ -0,0 +1,41 @@ +package org.apache.airavata.service.profile.client.samples; + +import org.apache.airavata.common.utils.Constants; +import org.apache.airavata.model.security.AuthzToken; +import org.apache.airavata.service.profile.client.ProfileServiceClientFactory; +import org.apache.airavata.service.profile.client.util.ProfileServiceClientUtil; +import org.apache.airavata.service.profile.groupmanager.cpi.GroupManagerService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.HashMap; +import java.util.Map; + +public class GroupManagerSample { + + private static final Logger logger = LoggerFactory.getLogger(UserProfileSample.class); + private static GroupManagerService.Client groupMangerClient; + private static String testGatewayId = "test-gateway-465"; + private static AuthzToken authzToken = new AuthzToken("empy_token"); + + public static void main(String args[]) throws Exception { + try { + String profileServiceServerHost = ProfileServiceClientUtil.getProfileServiceServerHost(); + int profileServiceServerPort = ProfileServiceClientUtil.getProfileServiceServerPort(); + + groupMangerClient = ProfileServiceClientFactory.createGroupManagerServiceClient(profileServiceServerHost, profileServiceServerPort); + Map claimsMap = new HashMap<>(); + claimsMap.put(Constants.GATEWAY_ID,testGatewayId); + authzToken.setClaimsMap(claimsMap); + + //NOTE: Only these two methods can be tested as other methods require us to create a group. + // createGroup() needs createUser() to be executed. Currently ownerId is set from createUser() + // method which requires a sharingServiceClient. Hence, verifying only this method for now. + System.out.println("hasAdminAccess() should return [false]: "+ groupMangerClient.hasAdminAccess(authzToken,"test-group-1", "test-user-1")); + } + catch (Exception ex) { + ex.printStackTrace(); + logger.error("GroupManager client-sample Exception: " + ex, ex); + } + } +} diff --git a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/client/ProfileServiceClientFactory.java b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/client/ProfileServiceClientFactory.java index f41bc77..f447327 100644 --- a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/client/ProfileServiceClientFactory.java +++ b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/client/ProfileServiceClientFactory.java @@ -20,6 +20,9 @@ */ package org.apache.airavata.service.profile.client; +import org.apache.airavata.service.profile.groupmanager.cpi.GroupManagerService; +import org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException; +import org.apache.airavata.service.profile.groupmanager.cpi.group_manager_cpiConstants; import org.apache.airavata.service.profile.iam.admin.services.cpi.IamAdminServices; import org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException; import org.apache.airavata.service.profile.iam.admin.services.cpi.iam_admin_services_cpiConstants; @@ -75,4 +78,16 @@ public class ProfileServiceClientFactory { throw new IamAdminServicesException(e.getMessage()); } } + + public static GroupManagerService.Client createGroupManagerServiceClient(String serverHost, int serverPort) throws GroupManagerServiceException { + try { + TTransport transport = new TSocket(serverHost, serverPort); + transport.open(); + TProtocol protocol = new TBinaryProtocol(transport); + TMultiplexedProtocol multiplexedProtocol = new TMultiplexedProtocol(protocol, group_manager_cpiConstants.GROUP_MANAGER_CPI_NAME); + return new GroupManagerService.Client(multiplexedProtocol); + } catch (TTransportException e) { + throw new GroupManagerServiceException(e.getMessage()); + } + } } \ No newline at end of file -- To stop receiving notification emails like this one, please contact "commits@airavata.apache.org" .