You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sh...@apache.org on 2015/03/26 18:08:34 UTC
[35/50] [abbrv] airavata git commit: Reade gateway Id from credential
token and identify the experiment execution type
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 <sh...@gmail.com>
Authored: Thu Mar 19 17:03:44 2015 -0400
Committer: shamrath <sh...@gmail.com>
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;
}
}