You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sm...@apache.org on 2017/04/03 16:50:07 UTC

[34/50] airavata git commit: sending owner permission users along with read and write

sending owner permission users along with read and write


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/118c7bcc
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/118c7bcc
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/118c7bcc

Branch: refs/heads/master
Commit: 118c7bccee8ee414a5c458421960abbe59b16816
Parents: f4edced
Author: scnakandala <su...@gmail.com>
Authored: Thu Mar 23 15:59:42 2017 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Thu Mar 23 15:59:42 2017 -0400

----------------------------------------------------------------------
 .../server/handler/AiravataServerHandler.java   | 23 +++++++++++++-------
 1 file changed, 15 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/118c7bcc/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
index 99f8fa4..3cabf3c 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
@@ -4657,22 +4657,29 @@ public class AiravataServerHandler implements Airavata.Iface {
         RegistryService.Client regClient = registryClientPool.getResource();
         SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
         try {
-            List<String> accessibleUsers = new ArrayList<>();
-            if(permissionType.equals(ResourcePermissionType.WRITE))
+            HashSet<String> accessibleUsers = new HashSet<>();
+            if (permissionType.equals(ResourcePermissionType.WRITE)) {
                 sharingClient.getListOfSharedUsers(authzToken.getClaimsMap().get(Constants.GATEWAY_ID),
                         resourceId, authzToken.getClaimsMap().get(Constants.GATEWAY_ID)
-                                + ":WRITE").stream().forEach(u->accessibleUsers.add(u.userId));
-            else if(permissionType.equals(ResourcePermissionType.READ))
+                                + ":WRITE").stream().forEach(u -> accessibleUsers.add(u.userId));
                 sharingClient.getListOfSharedUsers(authzToken.getClaimsMap().get(Constants.GATEWAY_ID),
                         resourceId, authzToken.getClaimsMap().get(Constants.GATEWAY_ID)
-                                + ":READ").stream().forEach(u->accessibleUsers.add(u.userId));
-            else if(permissionType.equals(ResourcePermissionType.OWNER))
+                                + ":OWNER").stream().forEach(u -> accessibleUsers.add(u.userId));
+            } else if (permissionType.equals(ResourcePermissionType.READ)) {
                 sharingClient.getListOfSharedUsers(authzToken.getClaimsMap().get(Constants.GATEWAY_ID),
                         resourceId, authzToken.getClaimsMap().get(Constants.GATEWAY_ID)
-                                + ":OWNER").stream().forEach(u->accessibleUsers.add(u.userId));
+                                + ":READ").stream().forEach(u -> accessibleUsers.add(u.userId));
+                sharingClient.getListOfSharedUsers(authzToken.getClaimsMap().get(Constants.GATEWAY_ID),
+                        resourceId, authzToken.getClaimsMap().get(Constants.GATEWAY_ID)
+                                + ":OWNER").stream().forEach(u -> accessibleUsers.add(u.userId));
+            } else if (permissionType.equals(ResourcePermissionType.OWNER)) {
+                sharingClient.getListOfSharedUsers(authzToken.getClaimsMap().get(Constants.GATEWAY_ID),
+                        resourceId, authzToken.getClaimsMap().get(Constants.GATEWAY_ID)
+                                + ":OWNER").stream().forEach(u -> accessibleUsers.add(u.userId));
+            }
             registryClientPool.returnResource(regClient);
             sharingClientPool.returnResource(sharingClient);
-            return accessibleUsers;
+            return new ArrayList<>(accessibleUsers);
         } catch (Exception e) {
             String msg = "Error in getting all accessible users for resource. Resource ID : " + resourceId + " Resource Type : " + resourceType.toString() ;
             logger.error(msg, e);