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 15:54:02 UTC

git commit: fixing advanced output hadnling

Repository: airavata
Updated Branches:
  refs/heads/master 1c4433a98 -> 615820ac1


fixing advanced output hadnling


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

Branch: refs/heads/master
Commit: 615820ac1542de225d43cfa45739968c6a2d2817
Parents: 1c4433a
Author: lahiru <la...@apache.org>
Authored: Thu Mar 13 10:53:55 2014 -0400
Committer: lahiru <la...@apache.org>
Committed: Thu Mar 13 10:53:55 2014 -0400

----------------------------------------------------------------------
 .../apache/airavata/gfac/context/JobExecutionContext.java   | 9 +++++++++
 .../airavata/gfac/handler/AdvancedSCPOutputHandler.java     | 9 ++++++---
 .../org/apache/airavata/gfac/handler/SCPOutputHandler.java  | 5 ++---
 3 files changed, 17 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/615820ac/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/context/JobExecutionContext.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/context/JobExecutionContext.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/context/JobExecutionContext.java
index 784d689..2a196fe 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/context/JobExecutionContext.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/context/JobExecutionContext.java
@@ -79,6 +79,7 @@ public class JobExecutionContext extends AbstractContext{
     
     private String status;
 
+    private List<String> outputFileList;
     /**
      *  Security context is used to handle authentication for input handlers and providers.
      *  There can be multiple security requirement for a single job so this allows you to add multiple security types
@@ -90,6 +91,7 @@ public class JobExecutionContext extends AbstractContext{
         this.gfacConfiguration = gFacConfiguration;
         notifier = new GFacNotifier();
         setServiceName(serviceName);
+        outputFileList = new ArrayList<String>();
     }
 
     public String getExperimentID() {
@@ -229,4 +231,11 @@ public class JobExecutionContext extends AbstractContext{
     public void setJobDetails(JobDetails jobDetails) {
         this.jobDetails = jobDetails;
     }
+
+    public void addOutputFile(String file) {
+        outputFileList.add(file);
+    }
+    public List<String> getOutputFiles(){
+        return outputFileList;
+    }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/615820ac/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/AdvancedSCPOutputHandler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/AdvancedSCPOutputHandler.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/AdvancedSCPOutputHandler.java
index 65b430e..66d8fb4 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/AdvancedSCPOutputHandler.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/AdvancedSCPOutputHandler.java
@@ -95,9 +95,12 @@ public class AdvancedSCPOutputHandler extends AbstractHandler {
         ServerInfo serverInfo = new ServerInfo(this.userName, this.hostName);
         try {
             Cluster pbsCluster = new PBSCluster(serverInfo, authenticationInfo, CommonUtils.getPBSJobManager("/opt/torque/torque-4.2.3.1/bin/"));
-            List<String> strings = pbsCluster.listDirectory(outputDataDirectory);
-            for(String files:strings){
-                pbsCluster.scpTo(outputDataDirectory,files);
+            outputPath = outputPath + File.separator + jobExecutionContext.getExperimentID() + "-" + jobExecutionContext.getTaskData().getTaskID()
+            + File.separator;
+            pbsCluster.scpTo(outputPath, standardError);
+            pbsCluster.scpTo(outputPath,standardOutput);
+            for(String files:jobExecutionContext.getOutputFiles()){
+                pbsCluster.scpTo(outputPath,files);
             }
         } catch (SSHApiException e) {
             log.error("Error transfering files to remote host : " + hostName + " with the user: " + userName);

http://git-wip-us.apache.org/repos/asf/airavata/blob/615820ac/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 91eeb32..78bb960 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
@@ -124,6 +124,7 @@ public class SCPOutputHandler extends AbstractHandler{
                 } else {
 					String valueList = outputList.get(0);
                     cluster.scpFrom(app.getOutputDataDirectory() + File.separator + valueList, outputDataDir);
+                    jobExecutionContext.addOutputFile(outputDataDir + File.separator + valueList);
 					((URIParameterType) actualParameter.getType()).setValue(valueList);
 					stringMap = new HashMap<String, ActualParameter>();
 					stringMap.put(paramName, actualParameter);
@@ -143,9 +144,7 @@ public class SCPOutputHandler extends AbstractHandler{
 
             app.setStandardError(localStdErrFile.getAbsolutePath());
             app.setStandardOutput(localStdOutFile.getAbsolutePath());
-            if (outputDataDir != null) {
-                app.setOutputDataDirectory(outputDataDir);
-            }
+            app.setOutputDataDirectory(outputDataDir);
         } catch (XmlException e) {
             throw new GFacHandlerException("Cannot read output:" + e.getMessage(), e);
         } catch (ConnectionException e) {