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 <[email protected]>
Authored: Thu Mar 13 09:56:01 2014 -0400
Committer: lahiru <[email protected]>
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);

Reply via email to