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