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);