Reade gateway Id from credential token and identify the experiment execution type
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/2b45c6d9 Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/2b45c6d9 Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/2b45c6d9 Branch: refs/heads/master Commit: 2b45c6d95f083fc5a3964c9e64e2daea55e25b86 Parents: d3f67fd Author: shamrath <[email protected]> Authored: Thu Mar 19 17:03:44 2015 -0400 Committer: shamrath <[email protected]> Committed: Thu Mar 19 17:03:44 2015 -0400 ---------------------------------------------------------------------- modules/credential-store/pom.xml | 19 ++++++----------- .../server/OrchestratorServerHandler.java | 22 +++++++++++++++----- .../orchestrator/util/DataModelUtils.java | 8 +++---- 3 files changed, 26 insertions(+), 23 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/2b45c6d9/modules/credential-store/pom.xml ---------------------------------------------------------------------- diff --git a/modules/credential-store/pom.xml b/modules/credential-store/pom.xml index 370cc9b..af4bc58 100644 --- a/modules/credential-store/pom.xml +++ b/modules/credential-store/pom.xml @@ -23,19 +23,12 @@ <name>Airavata Credential Store</name> <url>http://airavata.apache.org/</url> - <profiles> - <profile> - <id>default</id> - <activation> - <activeByDefault>true</activeByDefault> - </activation> - <modules> - <module>credential-store-service</module> - <module>credential-store-stubs</module> - <module>credential-store-webapp</module> - </modules> - </profile> - </profiles> + <modules> + <module>credential-store-service</module> + <module>credential-store-stubs</module> + <module>credential-store-webapp</module> + </modules> + <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> http://git-wip-us.apache.org/repos/asf/airavata/blob/2b45c6d9/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java ---------------------------------------------------------------------- diff --git a/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java b/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java index fe306d7..4209bb9 100644 --- a/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java +++ b/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java @@ -236,7 +236,19 @@ public class OrchestratorServerHandler implements OrchestratorService.Iface, log.errorId(experimentId, "Error retrieving the Experiment by the given experimentID: {} ", experimentId); return false; } - ExecutionType executionType = DataModelUtils.getExecutionType(experiment); + CredentialReader credentialReader = GFacUtils.getCredentialReader(); + String gatewayId = null; + if (credentialReader != null) { + try { + gatewayId = credentialReader.getGatewayID(token); + } catch (Exception e) { + log.error(e.getLocalizedMessage()); + } + } + if (gatewayId == null) { + throw new AiravataException("Couldn't identify the gateway Id using the credential token"); + } + ExecutionType executionType = DataModelUtils.getExecutionType(gatewayId, experiment); synchronized (this) { if (executionType==ExecutionType.SINGLE_APP) { //its an single application execution experiment @@ -247,10 +259,10 @@ public class OrchestratorServerHandler implements OrchestratorService.Iface, //its a workflow execution experiment log.debugId(experimentId, "Launching workflow experiment {}.", experimentId); launchWorkflowExperiment(experimentId, token); - } else { - log.errorId(experimentId, "Couldn't identify experiment type, experiment {} is neither single application nor workflow.", experimentId); - throw new TException("Experiment '" + experimentId + "' launch failed. Unable to figureout execution type for application " + experiment.getApplicationId()); - } + } else { + log.errorId(experimentId, "Couldn't identify experiment type, experiment {} is neither single application nor workflow.", experimentId); + throw new TException("Experiment '" + experimentId + "' launch failed. Unable to figureout execution type for application " + experiment.getApplicationId()); + } } }catch(Exception e){ throw new TException("Experiment '" + experimentId + "' launch failed. Unable to figureout execution type for application " + experiment.getApplicationId()); http://git-wip-us.apache.org/repos/asf/airavata/blob/2b45c6d9/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/util/DataModelUtils.java ---------------------------------------------------------------------- diff --git a/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/util/DataModelUtils.java b/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/util/DataModelUtils.java index 3243eb8..b6f8387 100644 --- a/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/util/DataModelUtils.java +++ b/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/util/DataModelUtils.java @@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory; public class DataModelUtils { private final static Logger logger = LoggerFactory.getLogger(DataModelUtils.class); - public static ExecutionType getExecutionType(Experiment experiment){ + public static ExecutionType getExecutionType(String gatewayId, Experiment experiment){ try { ApplicationInterface applicationInterface = AppCatalogFactory.getAppCatalog().getApplicationInterface(); List<String> allApplicationInterfaceIds = applicationInterface.getAllApplicationInterfaceIds(); @@ -45,16 +45,14 @@ public class DataModelUtils { if (allApplicationInterfaceIds.contains(applicationId)){ return ExecutionType.SINGLE_APP; } else { - List<String> allWorkflows = WorkflowCatalogFactory.getWorkflowCatalog().getAllWorkflows(ServerSettings.getDefaultUserGateway()); + List<String> allWorkflows = WorkflowCatalogFactory.getWorkflowCatalog().getAllWorkflows(gatewayId); if (allWorkflows.contains(applicationId)){ return ExecutionType.WORKFLOW; } } } catch (AppCatalogException e) { logger.error(e.getMessage(), e); - } catch (ApplicationSettingsException e) { - logger.error(e.getMessage(), e); - } + } return ExecutionType.UNKNOWN; } }
