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 2014/09/28 16:57:48 UTC

git commit: move the cluster connection out. AIRAVATA-1456

Repository: airavata
Updated Branches:
  refs/heads/master 5c389b977 -> 1090843d7


move the cluster connection out. AIRAVATA-1456

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

Branch: refs/heads/master
Commit: 1090843d77a4301d83474ac7c96346cd4d1a2c41
Parents: 5c389b9
Author: raminder <ra...@apache.org>
Authored: Sun Sep 28 10:57:27 2014 -0400
Committer: raminder <ra...@apache.org>
Committed: Sun Sep 28 10:57:27 2014 -0400

----------------------------------------------------------------------
 .../gfac/gsissh/handler/GSISSHInputHandler.java | 48 ++++++++++----------
 1 file changed, 25 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/1090843d/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHInputHandler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHInputHandler.java b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHInputHandler.java
index 039ddab..2f0bb70 100644
--- a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHInputHandler.java
+++ b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHInputHandler.java
@@ -64,8 +64,21 @@ public class GSISSHInputHandler extends AbstractRecoverableHandler {
         DataTransferDetails detail = new DataTransferDetails();
         TransferStatus status = new TransferStatus();
         StringBuffer data = new StringBuffer("|");
+        Cluster cluster = null;
+        
         try {
-            String pluginData = GFacUtils.getPluginData(jobExecutionContext, this.getClass().getName());
+        	if (jobExecutionContext.getSecurityContext(GSISecurityContext.GSI_SECURITY_CONTEXT) != null) {
+                cluster = ((GSISecurityContext) jobExecutionContext.getSecurityContext(GSISecurityContext.GSI_SECURITY_CONTEXT)).getPbsCluster();
+            } else {
+                cluster = ((GSISecurityContext) jobExecutionContext.getSecurityContext(GSISecurityContext.GSI_SECURITY_CONTEXT)).getPbsCluster();
+            }
+            if (cluster == null) {
+                throw new GFacException("Security context is not set properly");
+            } else {
+                log.info("Successfully retrieved the Security Context");
+            }
+           
+        	String pluginData = GFacUtils.getPluginData(jobExecutionContext, this.getClass().getName());
             if (pluginData != null) {
                 try {
                     oldIndex = Integer.parseInt(pluginData.split("\\|")[0].trim());
@@ -107,7 +120,7 @@ public class GSISSHInputHandler extends AbstractRecoverableHandler {
                         ((URIParameterType) actualParameter.getType()).setValue(oldFiles.get(index));
                         data.append(oldFiles.get(index++)).append(","); // we get already transfered file and increment the index
                     } else {
-                        String stageInputFile = stageInputFiles(jobExecutionContext, paramValue);
+                        String stageInputFile = stageInputFiles(cluster, jobExecutionContext, paramValue);
                         ((URIParameterType) actualParameter.getType()).setValue(stageInputFile);
                         StringBuffer temp = new StringBuffer(data.append(stageInputFile).append(",").toString());
                         status.setTransferState(TransferState.UPLOAD);
@@ -126,7 +139,7 @@ public class GSISSHInputHandler extends AbstractRecoverableHandler {
                             newFiles.add(oldFiles.get(index));
                             data.append(oldFiles.get(index++)).append(",");
                         } else {
-                            String stageInputFiles = stageInputFiles(jobExecutionContext, paramValueEach);
+                            String stageInputFiles = stageInputFiles(cluster, jobExecutionContext, paramValueEach);
                             status.setTransferState(TransferState.UPLOAD);
                             detail.setTransferStatus(status);
                             detail.setTransferDescription("Input Data Staged: " + stageInputFiles);
@@ -153,22 +166,19 @@ public class GSISSHInputHandler extends AbstractRecoverableHandler {
                 throw new GFacHandlerException("Error persisting status", e1, e1.getLocalizedMessage());
             }
             throw new GFacHandlerException("Error while input File Staging", e, e.getLocalizedMessage());
+        }finally {
+            if (cluster != null) {
+                try {
+                    cluster.disconnect();
+                } catch (SSHApiException e) {
+                    throw new GFacHandlerException(e.getMessage(), e);
+                }
+            }
         }
         jobExecutionContext.setInMessageContext(inputNew);
     }
 
-    private static String stageInputFiles(JobExecutionContext jobExecutionContext, String paramValue) throws IOException, GFacException {
-        Cluster cluster = null;
-        if (jobExecutionContext.getSecurityContext(GSISecurityContext.GSI_SECURITY_CONTEXT) != null) {
-            cluster = ((GSISecurityContext) jobExecutionContext.getSecurityContext(GSISecurityContext.GSI_SECURITY_CONTEXT)).getPbsCluster();
-        } else {
-            cluster = ((GSISecurityContext) jobExecutionContext.getSecurityContext(GSISecurityContext.GSI_SECURITY_CONTEXT)).getPbsCluster();
-        }
-        if (cluster == null) {
-            throw new GFacException("Security context is not set properly");
-        } else {
-            log.info("Successfully retrieved the Security Context");
-        }
+    private static String stageInputFiles(Cluster cluster, JobExecutionContext jobExecutionContext, String paramValue) throws IOException, GFacException {
         ApplicationDeploymentDescriptionType app = jobExecutionContext.getApplicationContext().getApplicationDeploymentDescription().getType();
         int i = paramValue.lastIndexOf(File.separator);
         String substring = paramValue.substring(i + 1);
@@ -195,14 +205,6 @@ public class GSISSHInputHandler extends AbstractRecoverableHandler {
             return targetFile;
         } catch (Exception e) {
             throw new GFacHandlerException("Error while input File Staging", e, e.getLocalizedMessage());
-        }finally {
-            if (cluster != null) {
-                try {
-                    cluster.disconnect();
-                } catch (SSHApiException e) {
-                    throw new GFacHandlerException(e.getMessage(), e);
-                }
-            }
         }
     }