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);
