You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2014/02/28 18:44:33 UTC
git commit: Adding NPE fixes - AIRAVATA-1028
Repository: airavata
Updated Branches:
refs/heads/master d29a148f6 -> ab54c7d5f
Adding NPE fixes - AIRAVATA-1028
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/ab54c7d5
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/ab54c7d5
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/ab54c7d5
Branch: refs/heads/master
Commit: ab54c7d5f2c33ca24a96a73bff9400ead8165ab0
Parents: d29a148
Author: lahiru <la...@apache.org>
Authored: Fri Feb 28 12:44:25 2014 -0500
Committer: lahiru <la...@apache.org>
Committed: Fri Feb 28 12:44:25 2014 -0500
----------------------------------------------------------------------
.../apache/airavata/job/monitor/MonitorID.java | 7 +++++++
.../server/OrchestratorServerHandler.java | 4 ++++
.../client/OrchestratorClientFactoryTest.java | 6 ++++--
.../registry/jpa/resources/Utils.java | 12 ++++++-----
.../jpa/utils/ThriftDataModelConversion.java | 22 +++++++++++++++-----
5 files changed, 39 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/ab54c7d5/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/MonitorID.java
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/MonitorID.java b/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/MonitorID.java
index 5dee039..06d04ac 100644
--- a/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/MonitorID.java
+++ b/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/MonitorID.java
@@ -22,6 +22,7 @@ package org.apache.airavata.job.monitor;
import org.apache.airavata.commons.gfac.type.HostDescription;
import org.apache.airavata.gsi.ssh.api.authentication.AuthenticationInfo;
+import org.apache.airavata.gsi.ssh.impl.authentication.MyProxyAuthenticationInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -72,6 +73,12 @@ public class MonitorID {
this.jobStartedTime = new Timestamp((new Date()).getTime());
this.authenticationInfo = authenticationInfo;
this.userName = userName;
+ // if we give myproxyauthenticationInfo, so we try to use myproxy user as the user
+ if(this.authenticationInfo != null){
+ if(this.authenticationInfo instanceof MyProxyAuthenticationInfo){
+ this.userName = ((MyProxyAuthenticationInfo)this.authenticationInfo).getUserName();
+ }
+ }
this.jobID = jobID;
this.taskID = taskID;
this.experimentID = experimentID;
http://git-wip-us.apache.org/repos/asf/airavata/blob/ab54c7d5/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 5136b18..9610a56 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
@@ -171,6 +171,10 @@ public class OrchestratorServerHandler implements OrchestratorService.Iface {
//iterate through all the generated tasks and performs the job submisssion+monitoring
Experiment experiment = (Experiment) registry.get(DataType.EXPERIMENT, experimentId);
+ if(experiment == null){
+ log.error("Error retrieving the Experiment by the given experimentID: " + experimentId);
+ return false;
+ }
String userName = experiment.getUserName();
HostDescription hostDescription = OrchestratorUtils.getHostDescription(orchestrator, taskID);
http://git-wip-us.apache.org/repos/asf/airavata/blob/ab54c7d5/modules/orchestrator/airavata-orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/OrchestratorClientFactoryTest.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/airavata-orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/OrchestratorClientFactoryTest.java b/modules/orchestrator/airavata-orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/OrchestratorClientFactoryTest.java
index 4b5aef1..0b6e8b2 100644
--- a/modules/orchestrator/airavata-orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/OrchestratorClientFactoryTest.java
+++ b/modules/orchestrator/airavata-orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/OrchestratorClientFactoryTest.java
@@ -47,12 +47,12 @@ import java.util.List;
public class OrchestratorClientFactoryTest {
private DocumentCreator documentCreator;
-// private OrchestratorService.Client orchestratorClient;
+ private OrchestratorService.Client orchestratorClient;
private Registry registry;
@Before
public void setUp(){
-// orchestratorClient = OrchestratorClientFactory.createOrchestratorClient("localhost", 8940);
+ orchestratorClient = OrchestratorClientFactory.createOrchestratorClient("localhost", 8940);
registry = RegistryFactory.getDefaultRegistry();
AiravataUtils.setExecutionAsServer();
documentCreator = new DocumentCreator(getAiravataAPI());
@@ -95,6 +95,8 @@ public class OrchestratorClientFactoryTest {
String expId = (String)registry.add(ParentDataType.EXPERIMENT, simpleExperiment);
CompositeIdentifier compositeIdentifier = new CompositeIdentifier(expId, null);
registry.add(ChildDataType.COMPUTATIONAL_RESOURCE_SCHEDULING, scheduling, compositeIdentifier);
+
+ orchestratorClient.launchExperiment(expId);
} catch (Exception e) {
e.printStackTrace();
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/ab54c7d5/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
index 44c85d3..e7bb865 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
@@ -566,12 +566,14 @@ public class Utils {
ExperimentResource experimentResource = new ExperimentResource();
GatewayResource gatewayResource = (GatewayResource)createGateway(o.getGateway());
experimentResource.setGateway(gatewayResource);
- Gateway_Worker gateway_worker = new Gateway_Worker();
- gateway_worker.setGateway(o.getGateway());
- gateway_worker.setUser_name(o.getExecutionUser());
+// Gateway_Worker gateway_worker = new Gateway_Worker();
+// gateway_worker.setGateway(o.getGateway());
+// gateway_worker.setUser_name(o.getExecutionUser());
experimentResource.setExecutionUser(o.getExecutionUser());
- ProjectResource projectResource = (ProjectResource)createProject(o.getProject());
- experimentResource.setProject(projectResource);
+ if (o.getProject() != null){
+ ProjectResource projectResource = (ProjectResource)createProject(o.getProject());
+ experimentResource.setProject(projectResource);
+ }
experimentResource.setExpID(o.getExpId());
experimentResource.setCreationTime(o.getCreationTime());
experimentResource.setDescription(o.getExpDesc());
http://git-wip-us.apache.org/repos/asf/airavata/blob/ab54c7d5/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/utils/ThriftDataModelConversion.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/utils/ThriftDataModelConversion.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/utils/ThriftDataModelConversion.java
index 3809a62..3f9ff66 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/utils/ThriftDataModelConversion.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/utils/ThriftDataModelConversion.java
@@ -34,7 +34,10 @@ public class ThriftDataModelConversion {
public static Experiment getExperiment(ExperimentResource experimentResource){
Experiment experiment = new Experiment();
- experiment.setProjectID(experimentResource.getProject().getName());
+ if (experimentResource.getProject()!= null){
+ experiment.setProjectID(experimentResource.getProject().getName());
+ }
+
experiment.setCreationTime(experimentResource.getCreationTime().getTime());
experiment.setUserName(experimentResource.getExecutionUser());
experiment.setName(experimentResource.getExpName());
@@ -49,13 +52,22 @@ public class ThriftDataModelConversion {
List<ExperimentOutputResource> experimentOutputs = experimentResource.getExperimentOutputs();
experiment.setExperimentOutputs(getExpOutputs(experimentOutputs));
StatusResource experimentStatus = experimentResource.getExperimentStatus();
- experiment.setExperimentStatus(getExperimentStatus(experimentStatus));
+ if (experimentStatus != null){
+ experiment.setExperimentStatus(getExperimentStatus(experimentStatus));
+ }
List<StatusResource> changeList = experimentResource.getWorkflowNodeStatuses();
- experiment.setStateChangeList(getWorkflowNodeStatusList(changeList));
+ if (changeList != null){
+ experiment.setStateChangeList(getWorkflowNodeStatusList(changeList));
+ }
+
List<WorkflowNodeDetailResource> workflowNodeDetails = experimentResource.getWorkflowNodeDetails();
- experiment.setWorkflowNodeDetailsList(getWfNodeList(workflowNodeDetails));
+ if (workflowNodeDetails != null){
+ experiment.setWorkflowNodeDetailsList(getWfNodeList(workflowNodeDetails));
+ }
List<ErrorDetailResource> errorDetails = experimentResource.getErrorDetails();
- experiment.setErrors(getErrorDetailList(errorDetails));
+ if (errorDetails!= null){
+ experiment.setErrors(getErrorDetailList(errorDetails));
+ }
return experiment;
}