You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2019/05/08 13:36:58 UTC

[airavata] branch develop updated: AIRAVATA-3030 Update experiment sharing entity when it changes

This is an automated email from the ASF dual-hosted git repository.

machristie pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git


The following commit(s) were added to refs/heads/develop by this push:
     new 660d5dd  AIRAVATA-3030 Update experiment sharing entity when it changes
660d5dd is described below

commit 660d5dd73a516301ff99a45aea7538ade0b36778
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Wed May 8 09:36:44 2019 -0400

    AIRAVATA-3030 Update experiment sharing entity when it changes
---
 .../apache/airavata/api/server/handler/AiravataServerHandler.java  | 7 +++++++
 1 file changed, 7 insertions(+)

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 2bc9318..306d791 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
@@ -1632,12 +1632,19 @@ public class AiravataServerHandler implements Airavata.Iface {
             if(ServerSettings.isEnableSharing() && !authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.USER_NAME).equals(experimentModel.getUserName())
                     || !authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.GATEWAY_ID).equals(experimentModel.getGatewayId())){
                 try {
+                    // Verify WRITE access
                     String gatewayId = authzToken.getClaimsMap().get(Constants.GATEWAY_ID);
                     String userId = authzToken.getClaimsMap().get(Constants.USER_NAME);
                     if (!sharingClient.userHasAccess(gatewayId, userId + "@" + gatewayId,
                             airavataExperimentId, gatewayId + ":WRITE")){
                         throw new AuthorizationException("User does not have permission to access this resource");
                     }
+                    // Update name, description and parent on Entity
+                    Entity entity = sharingClient.getEntity(gatewayId, airavataExperimentId);
+                    entity.setName(experiment.getExperimentName());
+                    entity.setDescription(experiment.getDescription());
+                    entity.setParentEntityId(experiment.getProjectId());
+                    sharingClient.updateEntity(entity);
                 } catch (Exception e) {
                     throw new AuthorizationException("User does not have permission to access this resource");
                 }