You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ra...@apache.org on 2015/03/16 19:23:30 UTC

airavata git commit: Fixed AIRAVATA-1631.

Repository: airavata
Updated Branches:
  refs/heads/master a4fb48915 -> 5d7a03415


Fixed AIRAVATA-1631.

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

Branch: refs/heads/master
Commit: 5d7a034155f0acb48c15f1420c3ab452523f40ad
Parents: a4fb489
Author: raminder <ra...@apache.org>
Authored: Mon Mar 16 14:22:50 2015 -0400
Committer: raminder <ra...@apache.org>
Committed: Mon Mar 16 14:22:50 2015 -0400

----------------------------------------------------------------------
 .../airavata/gfac/core/cpi/BetterGfacImpl.java    | 18 +++++++++++++++---
 .../airavata/gfac/ssh/util/HandleOutputs.java     |  5 +----
 2 files changed, 16 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/5d7a0341/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java
index 2ff0338..6b20118 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java
@@ -385,10 +385,22 @@ public class BetterGfacImpl implements GFac,Watcher {
 
         for (OutputDataObjectType objectType : taskOutputs){
             if (objectType.getType() == DataType.URI && objectType.getValue() != null){
-                // this should be also the relatvie path : in case of clone, this will contain full path
+                // this should be also the relative path : in case of clone, this will contain full path
                 String filePath = objectType.getValue();
-                filePath = filePath.substring(filePath.lastIndexOf(File.separatorChar) + 1, filePath.length());
-                objectType.setValue(jobExecutionContext.getOutputDir() + File.separator + filePath);
+                if(objectType.getLocation() == null && objectType.getLocation().isEmpty() && filePath.contains(File.separator)){
+                filePath = jobExecutionContext.getOutputDir() + File.separator + filePath.substring(filePath.lastIndexOf(File.separatorChar) + 1, filePath.length());
+                }
+                //output is not in working folder
+                if (objectType.getLocation() != null && !objectType.getLocation().isEmpty()) {
+                	if(objectType.getLocation().startsWith(File.separator)){
+                		filePath = objectType.getLocation() + File.separator + filePath;
+                    }else{
+                    	filePath = jobExecutionContext.getOutputDir() + File.separator + filePath;
+                    }
+                	filePath = objectType.getLocation()+ filePath;
+                }
+                objectType.setValue(filePath);
+                
             }
             if (objectType.getType() == DataType.STDOUT){
                 objectType.setValue(jobExecutionContext.getOutputDir() + File.separator + jobExecutionContext.getApplicationName() + ".stdout");

http://git-wip-us.apache.org/repos/asf/airavata/blob/5d7a0341/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/util/HandleOutputs.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/util/HandleOutputs.java b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/util/HandleOutputs.java
index e64b0be..ddab0f4 100644
--- a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/util/HandleOutputs.java
+++ b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/util/HandleOutputs.java
@@ -37,12 +37,9 @@ public class HandleOutputs {
 					String outputFile = output.getValue();
 					String fileName = outputFile.substring(outputFile.lastIndexOf(File.separatorChar) + 1, outputFile.length());
 
-					if (!outputList.contains(fileName) && output.isIsRequired()) {
+					if (output.getLocation() == null && !outputList.contains(fileName) && output.isIsRequired()) {
 						missingOutput = true;
 					} else {
-						if (output.getLocation() != null && !output.getLocation().isEmpty()) {
-							outputFile = output.getLocation()+ fileName;
-						}
 						cluster.scpFrom(outputFile, outputDataDir);
 						String localFile = outputDataDir + File.separator + fileName;
 						jobExecutionContext.addOutputFile(localFile);