fixing clone experiment bug related to sharing

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

Branch: refs/heads/develop
Commit: 1871ba11d3c16a307c418fe8679c8034ce937cd3
Parents: ab43d4f
Author: scnakandala <[email protected]>
Authored: Thu Jul 14 17:48:01 2016 -0400
Committer: scnakandala <[email protected]>
Committed: Thu Jul 14 17:48:01 2016 -0400

----------------------------------------------------------------------
 .../api/server/handler/AiravataServerHandler.java       | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/1871ba11/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 320e898..a16429d 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
@@ -84,6 +84,7 @@ import 
org.apache.airavata.registry.core.app.catalog.resources.*;
 import 
org.apache.airavata.registry.core.app.catalog.util.AppCatalogThriftConversion;
 import 
org.apache.airavata.registry.core.experiment.catalog.ExpCatResourceUtils;
 import 
org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
+import 
org.apache.airavata.registry.core.experiment.catalog.resources.ExperimentResource;
 import org.apache.airavata.registry.cpi.*;
 import org.apache.airavata.registry.cpi.utils.Constants;
 import org.apache.thrift.TException;
@@ -1955,7 +1956,16 @@ public class AiravataServerHandler implements 
Airavata.Iface {
                 }
             }
             logger.debug("Airavata cloned experiment with experiment id : " + 
existingExperimentID);
-            return (String) 
experimentCatalog.add(ExpCatParentDataType.EXPERIMENT, existingExperiment, 
gatewayId);
+            
existingExperiment.setUserName(authzToken.getClaimsMap().get(org.apache.airavata.common.utils.Constants.USER_NAME));
+            String expId = (String) 
experimentCatalog.add(ExpCatParentDataType.EXPERIMENT, existingExperiment, 
gatewayId);
+            GroupManagerCPI groupManagerCPI = 
GroupManagerFactory.getGroupManager();
+            Resource expResource = new Resource(expId, 
org.apache.airavata.grouper.resource.ResourceType.EXPERIMENT);
+            expResource.setParentResourceId(existingExperiment.getProjectId());
+            expResource.setName(existingExperiment.getExperimentName());
+            expResource.setDescription(existingExperiment.getDescription());
+            groupManagerCPI.createResource(expResource);
+
+            return expId;
         } catch (Exception e) {
 
             logger.error(existingExperimentID, "Error while cloning the 
experiment with existing configuration...", e);

Reply via email to