airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From shame...@apache.org
Subject airavata git commit: Fixed output data staging issues.
Date Wed, 26 Aug 2015 20:15:55 GMT
Repository: airavata
Updated Branches:
  refs/heads/master fdcf2c96a -> 1fbef2110


Fixed output data staging issues.


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

Branch: refs/heads/master
Commit: 1fbef2110d1028481d66103fe4e5d76fd4062a03
Parents: fdcf2c9
Author: Shameera Rathanyaka <shameerainfo@gmail.com>
Authored: Wed Aug 26 16:15:44 2015 -0400
Committer: Shameera Rathanyaka <shameerainfo@gmail.com>
Committed: Wed Aug 26 16:15:44 2015 -0400

----------------------------------------------------------------------
 .../gfac/impl/task/AdvancedSCPDataStageTask.java  | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/1fbef211/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AdvancedSCPDataStageTask.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AdvancedSCPDataStageTask.java
b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AdvancedSCPDataStageTask.java
index 1f05941..9210c93 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AdvancedSCPDataStageTask.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/AdvancedSCPDataStageTask.java
@@ -100,7 +100,6 @@ public class AdvancedSCPDataStageTask implements Task{
             subTaskModel = (DataStagingTaskModel) ThriftUtils.getSubTaskModel
                     (taskContext.getTaskModel());
             URI sourceURI = new URI(subTaskModel.getSource());
-            URI destinationURI = new URI(subTaskModel.getDestination());
 
             File templocalDataDir = getLocalDataDir(taskContext);
             if (!templocalDataDir.exists()) {
@@ -116,13 +115,22 @@ public class AdvancedSCPDataStageTask implements Task{
             ServerInfo serverInfo = new ServerInfo(userName, hostName, DEFAULT_SSH_PORT);
             Session sshSession = Factory.getSSHSession(authenticationInfo, serverInfo);
             ProcessState processState = taskContext.getParentProcessContext().getProcessState();
-            if (processState == ProcessState.INPUT_DATA_STAGING) {
+	        URI destinationURI = null;
+	        if (processState == ProcessState.INPUT_DATA_STAGING) {
+		        destinationURI = new URI(subTaskModel.getDestination());
                 inputDataStaging(taskContext, sshSession, sourceURI, destinationURI, filePath);
                 status.setReason("Successfully staged input data");
             }else if (processState == ProcessState.OUTPUT_DATA_STAGING) {
-                outputDataStaging(taskContext, sshSession, sourceURI, destinationURI, filePath);
-                status.setReason("Successfully staged output data");
-            } else {
+		        String targetPath = (inputPath.endsWith(File.separator) ? inputPath : inputPath
+ File.separator) +
+				        taskContext.getParentProcessContext().getProcessId();
+		        SSHUtils.makeDirectory(targetPath, sshSession);
+		        String targetFilePath =  targetPath + File.separator + fileName;
+		        destinationURI = new URI("SCP", hostName, targetFilePath, null);
+		        subTaskModel.setDestination(destinationURI.getPath());
+		        // TODO - save updated subtask model with new destination
+		        outputDataStaging(taskContext, sshSession, sourceURI, destinationURI, filePath);
+		        status.setReason("Successfully staged output data");
+	        } else {
                 status.setState(TaskState.FAILED);
                 status.setReason("Invalid task invocation, Support " + ProcessState.INPUT_DATA_STAGING.name()
+ " and " +
                         "" + ProcessState.OUTPUT_DATA_STAGING.name() + " process phases.
found " + processState.name());


Mime
View raw message