Repository: airavata
Updated Branches:
  refs/heads/develop f4edced90 -> 118c7bcce


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/develop
Commit: 118c7bccee8ee414a5c458421960abbe59b16816
Parents: f4edced
Author: scnakandala <[email protected]>
Authored: Thu Mar 23 15:59:42 2017 -0400
Committer: scnakandala <[email protected]>
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);

Reply via email to