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/03/13 14:56:08 UTC

git commit: fixing output downloading

Repository: airavata
Updated Branches:
  refs/heads/master 1638e26a9 -> a0960564c


fixing output downloading


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

Branch: refs/heads/master
Commit: a0960564c0ed514579144b6743cae84239f84160
Parents: 1638e26
Author: lahiru <la...@apache.org>
Authored: Thu Mar 13 09:56:01 2014 -0400
Committer: lahiru <la...@apache.org>
Committed: Thu Mar 13 09:56:01 2014 -0400

----------------------------------------------------------------------
 .../airavata/gfac/handler/SCPOutputHandler.java | 26 ++++++++++----------
 1 file changed, 13 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/a0960564/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/SCPOutputHandler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/SCPOutputHandler.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/SCPOutputHandler.java
index 5f6d706..5444dd9 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/SCPOutputHandler.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/SCPOutputHandler.java
@@ -84,16 +84,15 @@ public class SCPOutputHandler extends AbstractHandler{
 
             if (taskData.getAdvancedOutputDataHandling() != null) {
                 outputDataDir = taskData.getAdvancedOutputDataHandling().getOutputDataDir();
-                AdvancedOutputDataHandling advancedOutputDataHandling = taskData.getAdvancedOutputDataHandling();
             }
-            if (outputDataDir != null) {
-                app.setOutputDataDirectory(outputDataDir);    // These will be useful if we are doing third party transfer
-                localStdOutFile = new File(outputDataDir + File.separator + timeStampedServiceName + "stdout");
-                localStdErrFile = new File(outputDataDir + File.separator + timeStampedServiceName + "stderr");
-            } else {
-                localStdOutFile = File.createTempFile(timeStampedServiceName, "stdout");
-                localStdErrFile = File.createTempFile(timeStampedServiceName, "stderr");
+            if(outputDataDir == null) {
+                outputDataDir = File.separator + "tmp" + jobExecutionContext.getExperimentID() + "-" +jobExecutionContext.getTaskData().getTaskID();
             }
+            app.setOutputDataDirectory(outputDataDir);    // These will be useful if we are doing third party transfer
+            localStdOutFile = new File(outputDataDir + File.separator + timeStampedServiceName + "stdout");
+            localStdErrFile = new File(outputDataDir + File.separator + timeStampedServiceName + "stderr");
+            cluster.makeDirectory(outputDataDir);
+
             cluster.scpFrom(app.getStandardOutput(), localStdOutFile.getAbsolutePath());
             cluster.scpFrom(app.getStandardError(), localStdErrFile.getAbsolutePath());
 
@@ -116,12 +115,13 @@ public class SCPOutputHandler extends AbstractHandler{
             for (String paramName : keys) {
             ActualParameter actualParameter = (ActualParameter) output.get(paramName);
             if ("URI".equals(actualParameter.getType().getType().toString())) {
-            	
-            	List<String> outputList = cluster.listDirectory(app.getOutputDataDirectory());
-				if (outputList.size() == 0 || outputList.get(0).isEmpty()) {
-					stringMap = OutputUtils.fillOutputFromStdout(output, stdOutStr, stdErrStr);
-				} else {
+
+                List<String> outputList = cluster.listDirectory(app.getOutputDataDirectory());
+                if (outputList.size() == 0 || outputList.get(0).isEmpty()) {
+                    stringMap = OutputUtils.fillOutputFromStdout(output, stdOutStr, stdErrStr);
+                } else {
 					String valueList = outputList.get(0);
+                    cluster.scpFrom(valueList, outputDataDir);
 					((URIParameterType) actualParameter.getType()).setValue(valueList);
 					stringMap = new HashMap<String, ActualParameter>();
 					stringMap.put(paramName, actualParameter);