You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ch...@apache.org on 2015/06/24 16:15:06 UTC

[5/5] airavata git commit: fixing compilation issues

fixing compilation issues


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

Branch: refs/heads/master
Commit: df3fbe6aa3d8f477bab3275e620d77bfb924bae0
Parents: a2dce4f
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Wed Jun 24 10:14:54 2015 -0400
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Wed Jun 24 10:14:54 2015 -0400

----------------------------------------------------------------------
 .../gaussian/handler/GaussianHandler.java       |  326 ++---
 .../org/apache/airavata/gfac/core/GFac.java     |   10 +-
 .../apache/airavata/gfac/core/GFacUtils.java    |   39 +-
 .../SSHPublicKeyAuthentication.java             |    2 +-
 .../SSHPublicKeyFileAuthentication.java         |    2 +-
 .../gfac/core/context/JobExecutionContext.java  |  988 +++++++--------
 .../airavata/gfac/core/monitor/MonitorID.java   |   30 +-
 .../java/com/jcraft/jsch/GSSContextX509.java    |  205 ++++
 .../UserAuthGSSAPIWithMICGSSCredentials.java    |    1 -
 .../gfac/impl/task/SSHJobSubmissionTask.java    |   26 +-
 .../handler/LocalDirectorySetupHandler.java     |  124 +-
 .../gfac/local/handler/LocalInputHandler.java   |  184 +--
 .../gfac/local/provider/impl/LocalProvider.java |  618 +++++-----
 .../gfac/local/utils/LocalProviderUtil.java     |  102 +-
 .../ssh/handler/AdvancedSCPInputHandler.java    |  454 +++----
 .../ssh/handler/AdvancedSCPOutputHandler.java   |  450 +++----
 .../gfac/ssh/handler/NewSSHOutputHandler.java   |  156 +--
 .../ssh/handler/SSHDirectorySetupHandler.java   |  238 ++--
 .../gfac/ssh/handler/SSHInputHandler.java       |  386 +++---
 .../gfac/ssh/handler/SSHOutputHandler.java      |  510 ++++----
 .../gfac/ssh/provider/impl/SSHProvider.java     |  946 +++++++--------
 .../airavata/gfac/ssh/util/GFACSSHUtils.java    | 1124 +++++++++---------
 .../airavata/gfac/ssh/util/HandleOutputs.java   |  192 +--
 .../apache/airavata/gfac/server/GfacServer.java |    4 +-
 24 files changed, 3649 insertions(+), 3468 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/df3fbe6a/modules/gfac/gfac-application-specific-handlers/src/main/java/org/apache/airavata/application/gaussian/handler/GaussianHandler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-application-specific-handlers/src/main/java/org/apache/airavata/application/gaussian/handler/GaussianHandler.java b/modules/gfac/gfac-application-specific-handlers/src/main/java/org/apache/airavata/application/gaussian/handler/GaussianHandler.java
index 074786a..2481ec9 100644
--- a/modules/gfac/gfac-application-specific-handlers/src/main/java/org/apache/airavata/application/gaussian/handler/GaussianHandler.java
+++ b/modules/gfac/gfac-application-specific-handlers/src/main/java/org/apache/airavata/application/gaussian/handler/GaussianHandler.java
@@ -1,163 +1,163 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.application.gaussian.handler;
-
-import org.apache.airavata.gfac.core.context.JobExecutionContext;
-import org.apache.airavata.gfac.core.handler.AbstractHandler;
-import org.apache.airavata.gfac.core.handler.GFacHandlerException;
-import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
-import org.apache.airavata.model.experiment.ComputationalResourceScheduling;
-import org.apache.airavata.registry.cpi.ExperimentCatalogModelType;
-import org.apache.airavata.registry.cpi.RegistryException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-public class GaussianHandler extends AbstractHandler {
-
-    private static final Logger logger = LoggerFactory.getLogger(GaussianHandler.class);
-    public static final String LINK_SECTION = "%";
-    public static final String ROUTE_SECTION = "#";
-    public static final String PROC_SHARED = "procshared";
-    public static final String MEM = "mem";
-    public static final String CHK = "chk";
-    public static final String PROC = "proc";
-
-    public static final String EQUAL = "=";
-    public static final String OPEN_PARENTHESES = "(";
-    public static final String CLOSE_PARENTHESES = ")";
-
-    private String mainInputFilePath;
-    @Override
-    public void invoke(JobExecutionContext jobExecutionContext) throws GFacHandlerException {
-        super.invoke(jobExecutionContext);
-        Map<String, String> configurations;
-        Map<String, Object> parameters = jobExecutionContext.getInMessageContext().getParameters();
-        // only get first input file, which is the main input file
-        for (Object paraValue : parameters.values()) {
-            if (paraValue instanceof InputDataObjectType) {
-                InputDataObjectType inputDataObjectType = (InputDataObjectType) paraValue;
-                mainInputFilePath = inputDataObjectType.getValue();
-                break;
-            }
-        }
-        if (mainInputFilePath != null) {
-            File mainInputFile = new File(mainInputFilePath);
-            if (mainInputFile.exists()) {
-                try {
-                    configurations = parseGaussianInputFile(mainInputFile);
-                    ComputationalResourceScheduling taskScheduling = jobExecutionContext.getTaskData().getTaskScheduling();
-                    for (Map.Entry<String, String> inputConfig : configurations.entrySet()) {
-                        if (inputConfig.getKey().equals(PROC_SHARED)) {
-                            taskScheduling.setTotalCPUCount(Integer.parseInt(inputConfig.getValue()));
-                        } else if (inputConfig.getKey().equals(MEM)) {
-                            int userRequestedMem = Integer.parseInt(inputConfig.getValue());
-                            int additionalMem = (int) (userRequestedMem * 0.2);
-                            // TODO check (userRequestedMem + additionalMem)  > maxNode or Queue allowed Mem
-                            taskScheduling.setTotalPhysicalMemory(userRequestedMem + additionalMem);
-                        } else if (inputConfig.getKey().equals(PROC)) {
-                            taskScheduling.setTotalCPUCount(Integer.parseInt(inputConfig.getValue()));
-                        } else {
-                            // TODO - handle other input configurations
-                        }
-                        logger.info("$$$$$$$$ " + inputConfig.getKey() + " --> " + inputConfig.getValue() + " $$$$$$$$$$$");
-                    }
-                    experimentCatalog.update(ExperimentCatalogModelType.TASK_DETAIL, jobExecutionContext.getTaskData(), jobExecutionContext.getTaskData().getTaskID());
-                } catch (IOException e) {
-                    throw new GFacHandlerException("Error while reading main input file ", e);
-                } catch (RegistryException e) {
-                    throw new GFacHandlerException("Error while updating task details", e);
-                }
-            } else {
-                throw new GFacHandlerException("Main input file doesn't exists " + mainInputFilePath);
-            }
-
-        } else {
-            throw new GFacHandlerException("Main input file path shouldn't be null");
-        }
-
-    }
-
-    /*   %procshared=6  , put this line to the map key:procshared , value:6
-       keyword = option
-       keyword(option)
-       keyword=(option1, option2, …)
-       keyword(option1, option2, …)*/
-    // TODO - make this method private
-    public Map<String, String> parseGaussianInputFile(File mainInputFile) throws IOException {
-        Map<String, String> configs = new HashMap<String, String>();
-        BufferedReader br = new BufferedReader(new FileReader(mainInputFile));
-        String line = br.readLine();
-        while (line != null) {
-            line = line.trim();
-            String keyword = null;
-            String withoutKeyword = null;
-            String option = null;
-            if (line.startsWith(LINK_SECTION)) {
-                int equalIndex = line.indexOf(EQUAL);
-                int openParenthesesIndex = line.indexOf(OPEN_PARENTHESES);
-                // read the keyword
-                if (equalIndex > 0) {
-                    keyword = line.substring(1, equalIndex).trim();
-                    withoutKeyword = line.substring(equalIndex + 1, line.length()); // remove up to = sign
-                } else if (openParenthesesIndex > 0) {
-                    keyword = line.substring(1, openParenthesesIndex).trim();
-                    withoutKeyword = line.substring(openParenthesesIndex, line.length()); // remove left side of ( sign
-                } else {
-                    // TODO - malformed input configuration
-                }
-                // read the option
-                if (openParenthesesIndex > 0) {
-                    if (withoutKeyword.endsWith(CLOSE_PARENTHESES)) {
-                        option = withoutKeyword.substring(1, withoutKeyword.length() - 1);
-                    } else {
-                        //TODO -  malformed input configuration
-                    }
-                } else {
-                    option = withoutKeyword.trim();
-                }
-                configs.put(keyword, option);
-            } else if (line.startsWith(ROUTE_SECTION)) {
-                // parse the line
-            }
-            line = br.readLine();
-        }
-        return configs;
-    }
-
-    @Override
-    public void initProperties(Properties properties) throws GFacHandlerException {
-
-    }
-
-    @Override
-    public void recover(JobExecutionContext jobExecutionContext) throws GFacHandlerException {
-        // Implement this method if we need safe recover steps before rerun the task.
-    }
-}
+///*
+// *
+// * Licensed to the Apache Software Foundation (ASF) under one
+// * or more contributor license agreements.  See the NOTICE file
+// * distributed with this work for additional information
+// * regarding copyright ownership.  The ASF licenses this file
+// * to you under the Apache License, Version 2.0 (the
+// * "License"); you may not use this file except in compliance
+// * with the License.  You may obtain a copy of the License at
+// *
+// *   http://www.apache.org/licenses/LICENSE-2.0
+// *
+// * Unless required by applicable law or agreed to in writing,
+// * software distributed under the License is distributed on an
+// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// * KIND, either express or implied.  See the License for the
+// * specific language governing permissions and limitations
+// * under the License.
+// *
+// */
+//
+//package org.apache.airavata.application.gaussian.handler;
+//
+//import org.apache.airavata.gfac.core.context.JobExecutionContext;
+//import org.apache.airavata.gfac.core.handler.AbstractHandler;
+//import org.apache.airavata.gfac.core.handler.GFacHandlerException;
+//import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
+//import org.apache.airavata.model.experiment.ComputationalResourceScheduling;
+//import org.apache.airavata.registry.cpi.ExperimentCatalogModelType;
+//import org.apache.airavata.registry.cpi.RegistryException;
+//import org.slf4j.Logger;
+//import org.slf4j.LoggerFactory;
+//
+//import java.io.BufferedReader;
+//import java.io.File;
+//import java.io.FileReader;
+//import java.io.IOException;
+//import java.util.HashMap;
+//import java.util.Map;
+//import java.util.Properties;
+//
+//public class GaussianHandler extends AbstractHandler {
+//
+//    private static final Logger logger = LoggerFactory.getLogger(GaussianHandler.class);
+//    public static final String LINK_SECTION = "%";
+//    public static final String ROUTE_SECTION = "#";
+//    public static final String PROC_SHARED = "procshared";
+//    public static final String MEM = "mem";
+//    public static final String CHK = "chk";
+//    public static final String PROC = "proc";
+//
+//    public static final String EQUAL = "=";
+//    public static final String OPEN_PARENTHESES = "(";
+//    public static final String CLOSE_PARENTHESES = ")";
+//
+//    private String mainInputFilePath;
+//    @Override
+//    public void invoke(JobExecutionContext jobExecutionContext) throws GFacHandlerException {
+//        super.invoke(jobExecutionContext);
+//        Map<String, String> configurations;
+//        Map<String, Object> parameters = jobExecutionContext.getInMessageContext().getParameters();
+//        // only get first input file, which is the main input file
+//        for (Object paraValue : parameters.values()) {
+//            if (paraValue instanceof InputDataObjectType) {
+//                InputDataObjectType inputDataObjectType = (InputDataObjectType) paraValue;
+//                mainInputFilePath = inputDataObjectType.getValue();
+//                break;
+//            }
+//        }
+//        if (mainInputFilePath != null) {
+//            File mainInputFile = new File(mainInputFilePath);
+//            if (mainInputFile.exists()) {
+//                try {
+//                    configurations = parseGaussianInputFile(mainInputFile);
+//                    ComputationalResourceScheduling taskScheduling = jobExecutionContext.getTaskData().getTaskScheduling();
+//                    for (Map.Entry<String, String> inputConfig : configurations.entrySet()) {
+//                        if (inputConfig.getKey().equals(PROC_SHARED)) {
+//                            taskScheduling.setTotalCPUCount(Integer.parseInt(inputConfig.getValue()));
+//                        } else if (inputConfig.getKey().equals(MEM)) {
+//                            int userRequestedMem = Integer.parseInt(inputConfig.getValue());
+//                            int additionalMem = (int) (userRequestedMem * 0.2);
+//                            // TODO check (userRequestedMem + additionalMem)  > maxNode or Queue allowed Mem
+//                            taskScheduling.setTotalPhysicalMemory(userRequestedMem + additionalMem);
+//                        } else if (inputConfig.getKey().equals(PROC)) {
+//                            taskScheduling.setTotalCPUCount(Integer.parseInt(inputConfig.getValue()));
+//                        } else {
+//                            // TODO - handle other input configurations
+//                        }
+//                        logger.info("$$$$$$$$ " + inputConfig.getKey() + " --> " + inputConfig.getValue() + " $$$$$$$$$$$");
+//                    }
+//                    experimentCatalog.update(ExperimentCatalogModelType.TASK_DETAIL, jobExecutionContext.getTaskData(), jobExecutionContext.getTaskData().getTaskID());
+//                } catch (IOException e) {
+//                    throw new GFacHandlerException("Error while reading main input file ", e);
+//                } catch (RegistryException e) {
+//                    throw new GFacHandlerException("Error while updating task details", e);
+//                }
+//            } else {
+//                throw new GFacHandlerException("Main input file doesn't exists " + mainInputFilePath);
+//            }
+//
+//        } else {
+//            throw new GFacHandlerException("Main input file path shouldn't be null");
+//        }
+//
+//    }
+//
+//    /*   %procshared=6  , put this line to the map key:procshared , value:6
+//       keyword = option
+//       keyword(option)
+//       keyword=(option1, option2, …)
+//       keyword(option1, option2, …)*/
+//    // TODO - make this method private
+//    public Map<String, String> parseGaussianInputFile(File mainInputFile) throws IOException {
+//        Map<String, String> configs = new HashMap<String, String>();
+//        BufferedReader br = new BufferedReader(new FileReader(mainInputFile));
+//        String line = br.readLine();
+//        while (line != null) {
+//            line = line.trim();
+//            String keyword = null;
+//            String withoutKeyword = null;
+//            String option = null;
+//            if (line.startsWith(LINK_SECTION)) {
+//                int equalIndex = line.indexOf(EQUAL);
+//                int openParenthesesIndex = line.indexOf(OPEN_PARENTHESES);
+//                // read the keyword
+//                if (equalIndex > 0) {
+//                    keyword = line.substring(1, equalIndex).trim();
+//                    withoutKeyword = line.substring(equalIndex + 1, line.length()); // remove up to = sign
+//                } else if (openParenthesesIndex > 0) {
+//                    keyword = line.substring(1, openParenthesesIndex).trim();
+//                    withoutKeyword = line.substring(openParenthesesIndex, line.length()); // remove left side of ( sign
+//                } else {
+//                    // TODO - malformed input configuration
+//                }
+//                // read the option
+//                if (openParenthesesIndex > 0) {
+//                    if (withoutKeyword.endsWith(CLOSE_PARENTHESES)) {
+//                        option = withoutKeyword.substring(1, withoutKeyword.length() - 1);
+//                    } else {
+//                        //TODO -  malformed input configuration
+//                    }
+//                } else {
+//                    option = withoutKeyword.trim();
+//                }
+//                configs.put(keyword, option);
+//            } else if (line.startsWith(ROUTE_SECTION)) {
+//                // parse the line
+//            }
+//            line = br.readLine();
+//        }
+//        return configs;
+//    }
+//
+//    @Override
+//    public void initProperties(Properties properties) throws GFacHandlerException {
+//
+//    }
+//
+//    @Override
+//    public void recover(JobExecutionContext jobExecutionContext) throws GFacHandlerException {
+//        // Implement this method if we need safe recover steps before rerun the task.
+//    }
+//}

http://git-wip-us.apache.org/repos/asf/airavata/blob/df3fbe6a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFac.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFac.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFac.java
index ca3f5b2..4050ef0 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFac.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFac.java
@@ -21,8 +21,8 @@
 package org.apache.airavata.gfac.core;
 
 import org.apache.airavata.common.utils.LocalEventPublisher;
+import org.apache.airavata.gfac.core.context.ProcessContext;
 import org.apache.airavata.registry.cpi.AppCatalog;
-import org.apache.airavata.gfac.core.context.JobExecutionContext;
 import org.apache.airavata.registry.cpi.ExperimentCatalog;
 import org.apache.curator.framework.CuratorFramework;
 
@@ -54,17 +54,17 @@ public interface GFac {
 
     /**
      * This method can be used in a handler to ivvoke outhandler asynchronously
-     * @param jobExecutionContext
+     * @param processContext
      * @throws GFacException
      */
-    public void invokeOutFlowHandlers(JobExecutionContext jobExecutionContext) throws GFacException;
+    public void invokeOutFlowHandlers(ProcessContext processContext) throws GFacException;
 
     /**
      * This method can be used to handle re-run case asynchronously
-     * @param jobExecutionContext
+     * @param processContext
      * @throws GFacException
      */
-    public void reInvokeOutFlowHandlers(JobExecutionContext jobExecutionContext) throws GFacException;
+    public void reInvokeOutFlowHandlers(ProcessContext processContext) throws GFacException;
 
     /**
      * This operation can be used to cancel an already running experiment

http://git-wip-us.apache.org/repos/asf/airavata/blob/df3fbe6a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
index c7b2093..6a9f63a 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
@@ -26,7 +26,6 @@ import org.apache.airavata.common.utils.DBUtil;
 import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.airavata.credential.store.store.CredentialReader;
 import org.apache.airavata.credential.store.store.impl.CredentialReaderImpl;
-import org.apache.airavata.gfac.core.context.JobExecutionContext;
 import org.apache.airavata.gfac.core.context.ProcessContext;
 import org.apache.airavata.gfac.core.context.TaskContext;
 import org.apache.airavata.gfac.core.watcher.CancelRequestWatcher;
@@ -609,18 +608,18 @@ public class GFacUtils {
 //		}
 //	}
 
-    public static String getHandlerData(JobExecutionContext jobExecutionContext, String className) throws Exception {
-        CuratorFramework curatorClient = jobExecutionContext.getCuratorClient();
-        if (curatorClient != null) {
-            String expZnodeHandlerPath = AiravataZKUtils
-                    .getExpZnodeHandlerPath(
-                            jobExecutionContext.getExperimentID(),
-                            className);
-            Stat exists = curatorClient.checkExists().forPath(expZnodeHandlerPath);
-            return new String(jobExecutionContext.getCuratorClient().getData().storingStatIn(exists).forPath(expZnodeHandlerPath));
-        }
-        return null;
-    }
+//    public static String getHandlerData(ProcessContext processContext, String className) throws Exception {
+//        CuratorFramework curatorClient = processContext.getCuratorClient();
+//        if (curatorClient != null) {
+//            String expZnodeHandlerPath = AiravataZKUtils
+//                    .getExpZnodeHandlerPath(
+//                            processContext.getExperimentID(),
+//                            className);
+//            Stat exists = curatorClient.checkExists().forPath(expZnodeHandlerPath);
+//            return new String(processContext.getCuratorClient().getData().storingStatIn(exists).forPath(expZnodeHandlerPath));
+//        }
+//        return null;
+//    }
 
     public static CredentialReader getCredentialReader()
             throws ApplicationSettingsException, IllegalAccessException,
@@ -730,13 +729,13 @@ public class GFacUtils {
         return details.getExperimentStatus().getState();
     }
 
-    public static boolean isFailedJob(JobExecutionContext jec) {
-//        JobStatus jobStatus = jec.getJobDetails().getJobStatus();
-//        if (jobStatus.getJobState() == JobState.FAILED) {
-//            return true;
-//        }
-        return false;
-    }
+//    public static boolean isFailedJob(JobExecutionContext jec) {
+////        JobStatus jobStatus = jec.getJobDetails().getJobStatus();
+////        if (jobStatus.getJobState() == JobState.FAILED) {
+////            return true;
+////        }
+//        return false;
+//    }
 
     public static boolean ackCancelRequest(String experimentId, CuratorFramework curatorClient) throws Exception {
         String experimentEntry = GFacUtils.findExperimentEntry(experimentId, curatorClient);

http://git-wip-us.apache.org/repos/asf/airavata/blob/df3fbe6a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/authentication/SSHPublicKeyAuthentication.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/authentication/SSHPublicKeyAuthentication.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/authentication/SSHPublicKeyAuthentication.java
index 8824f5b..a579445 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/authentication/SSHPublicKeyAuthentication.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/authentication/SSHPublicKeyAuthentication.java
@@ -33,7 +33,7 @@ package org.apache.airavata.gfac.core.authentication;
  * The public key and private key are returned as byte arrays. Useful when we store private key/public key
  * in a secure storage such as credential store. API user should implement this.
  */
-public interface SSHPublicKeyAuthentication extends SSHKeyAuthentication {
+public interface SSHPublicKeyAuthentication extends AuthenticationInfo {
 
     /**
      * Gets the public key as byte array.

http://git-wip-us.apache.org/repos/asf/airavata/blob/df3fbe6a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/authentication/SSHPublicKeyFileAuthentication.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/authentication/SSHPublicKeyFileAuthentication.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/authentication/SSHPublicKeyFileAuthentication.java
index f98e945..25595fd 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/authentication/SSHPublicKeyFileAuthentication.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/authentication/SSHPublicKeyFileAuthentication.java
@@ -30,7 +30,7 @@ package org.apache.airavata.gfac.core.authentication;/*
  * Public key authentication for vanilla SSH.
  * The public key and private key stored files are returned. API user should implement this.
  */
-public interface SSHPublicKeyFileAuthentication extends SSHKeyAuthentication {
+public interface SSHPublicKeyFileAuthentication extends AuthenticationInfo {
 
     /**
      * The file which contains the public key.

http://git-wip-us.apache.org/repos/asf/airavata/blob/df3fbe6a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/context/JobExecutionContext.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/context/JobExecutionContext.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/context/JobExecutionContext.java
index 6c993e2..e3fa5ba 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/context/JobExecutionContext.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/context/JobExecutionContext.java
@@ -1,494 +1,494 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-package org.apache.airavata.gfac.core.context;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.airavata.common.utils.LocalEventPublisher;
-import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
-import org.apache.airavata.registry.cpi.AppCatalog;
-import org.apache.airavata.registry.cpi.AppCatalogException;
-import org.apache.airavata.gfac.core.GFacException;
-import org.apache.airavata.gfac.core.SecurityContext;
-import org.apache.airavata.gfac.core.GFac;
-import org.apache.airavata.gfac.core.provider.GFacProvider;
-import org.apache.airavata.model.appcatalog.computeresource.*;
-import org.apache.airavata.model.experiment.JobDetails;
-import org.apache.airavata.model.experiment.TaskDetails;
-import org.apache.airavata.model.experiment.WorkflowNodeDetails;
-import org.apache.airavata.registry.cpi.ExperimentCatalog;
-import org.apache.curator.framework.CuratorFramework;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class JobExecutionContext extends AbstractContext implements Serializable{
-
-    private static final Logger log = LoggerFactory.getLogger(JobExecutionContext.class);
-    private GFacConfiguration gfacConfiguration;
-    private ApplicationContext applicationContext;
-    private MessageContext inMessageContext;
-    private MessageContext outMessageContext;
-    //FIXME : not needed for gfac
-    private Experiment experiment;
-    private TaskDetails taskData;
-    private JobDetails jobDetails;
-    // FIXME : not needed for gfac
-    private WorkflowNodeDetails workflowNodeDetails;
-    private GFac gfac;
-    private CuratorFramework curatorClient;
-    private String credentialStoreToken;
-    /**
-     * User defined scratch/temp directory
-     */
-    private String scratchLocation;
-    private String loginUserName;
-    /**
-     * User defined working directory.
-     */
-    private String workingDir;
-    /**
-     * Input data directory
-     */
-    private String inputDir;
-    /**
-     * Output data directory
-     */
-    private String outputDir;
-    /**
-     * standard output file path
-     */
-    private String standardOutput;
-    /**
-     * standard error file path
-     */
-    private String standardError;
-    /**
-     * User preferred job submission protocol.
-     */
-    private JobSubmissionProtocol preferredJobSubmissionProtocol;
-    /**
-     * User preferred data movement protocol.
-     */
-    private DataMovementProtocol preferredDataMovementProtocol;
-    /**
-     * List of job submission protocols sorted by priority order.
-     */
-    private List<JobSubmissionInterface> hostPrioritizedJobSubmissionInterfaces;
-    /**
-     * use preferred job submission protocol.
-     */
-    private JobSubmissionInterface preferredJobSubmissionInterface;
-
-    private ResourceJobManager resourceJobManager;
-    /**
-     * List of job submission protocols sorted by priority order.
-     */
-    private List<DataMovementInterface> hostPrioritizedDataMovementInterfaces;
-    /**
-     * use preferred job submission protocol.
-     */
-    private DataMovementInterface preferredDataMovementInterface;
-
-//    private ContextHeaderDocument.ContextHeader contextHeader;
-
-    // Keep track of the current path of the message. Before hitting provider its in-path.
-    // After provider its out-path.
-    private boolean inPath = true;
-
-    // Keep list of full qualified class names of GFac handlers which should invoked before
-    // the provider. This is specific to current job being executed.
-    private List<String> inHandlers = new ArrayList<String>();
-
-    // Keep list of full qualified class names of GFac handlers which should invoked after
-    // the provider. This is specific to current job being executed.
-    private List<String> outHandlers = new ArrayList<String>();
-
-    // During the execution of in-flow one of the handlers(Scheduling handler) will
-    // set this and GFac API will get it from the JobExecutionContext and execute the provider.
-    private GFacProvider provider;
-
-    // Service description is used by GFac to mainly specify input/output parameters for a job
-    // and to expose a job as a service to the outside world. This service concept abstract out
-    // a scientific application(or algorithm) as a service. Service name is there to identify to
-    // which service description we should refer during the execution of the current job represented
-    // by this context instance.
-    private String applicationName;
-    private String experimentID;
-    private AppCatalog appCatalog;
-    private String gatewayID;
-    private String status;
-    private List<String> outputFileList;
-    private ExperimentCatalog experimentCatalog;
-    private LocalEventPublisher localEventPublisher;
-
-    public String getGatewayID() {
-        return gatewayID;
-    }
-
-    public void setGatewayID(String gatewayID) {
-        this.gatewayID = gatewayID;
-    }
-
-
-    /**
-     *  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
-     *
-     */
-    private Map<String, SecurityContext> securityContext = new HashMap<String, SecurityContext>();
-
-    public JobExecutionContext(GFacConfiguration gFacConfiguration,String applicationName){
-        this.gfacConfiguration = gFacConfiguration;
-        setApplicationName(applicationName);
-        outputFileList = new ArrayList<String>();
-    }
-
-    public AppCatalog getAppCatalog() {
-        return appCatalog;
-    }
-
-    public void setAppCatalog(AppCatalog appCatalog) {
-        if (appCatalog == null) {
-            try {
-                this.appCatalog = RegistryFactory.getAppCatalog();
-            } catch (AppCatalogException e) {
-                log.error("Unable to create app catalog instance", e);
-            }
-        } else {
-            this.appCatalog = appCatalog;
-        }
-    }
-
-    public String getExperimentID() {
-        return experimentID;
-    }
-
-    public void setExperimentID(String experimentID) {
-        this.experimentID = experimentID;
-    }
-
-    public ApplicationContext getApplicationContext() {
-        return applicationContext;
-    }
-
-    public void setApplicationContext(ApplicationContext applicationContext) {
-        this.applicationContext = applicationContext;
-    }
-
-    public MessageContext getInMessageContext() {
-        return inMessageContext;
-    }
-
-    public void setInMessageContext(MessageContext inMessageContext) {
-        this.inMessageContext = inMessageContext;
-    }
-
-    public MessageContext getOutMessageContext() {
-        return outMessageContext;
-    }
-
-    public void setOutMessageContext(MessageContext outMessageContext) {
-        this.outMessageContext = outMessageContext;
-    }
-
-    public GFacConfiguration getGFacConfiguration() {
-        return gfacConfiguration;
-    }
-
-    public GFacProvider getProvider() {
-        return provider;
-    }
-
-    public void setProvider(GFacProvider provider) {
-        this.provider = provider;
-    }
-
-    public List<String> getInHandlers() {
-        return inHandlers;
-    }
-
-    public void setInHandlers(List<String> inHandlers) {
-        this.inHandlers = inHandlers;
-    }
-
-    public List<String> getOutHandlers() {
-        return outHandlers;
-    }
-
-    public void setOutHandlers(List<String> outHandlers) {
-        this.outHandlers = outHandlers;
-    }
-
-    public String getApplicationName() {
-        return applicationName;
-    }
-
-    public void setApplicationName(String applicationName) {
-        this.applicationName = applicationName;
-    }
-
-    public boolean isInPath() {
-        return inPath;
-    }
-
-    public TaskDetails getTaskData() {
-		return taskData;
-	}
-
-	public void setTaskData(TaskDetails taskData) {
-		this.taskData = taskData;
-	}
-
-	public boolean isOutPath(){
-        return !inPath;
-    }
-
-    public void setInPath() {
-        this.inPath = true;
-    }
-
-    public void setOutPath(){
-        this.inPath = false;
-    }
-
-    public ResourceJobManager getResourceJobManager() {
-        return resourceJobManager;
-    }
-
-    public void setResourceJobManager(ResourceJobManager resourceJobManager) {
-        this.resourceJobManager = resourceJobManager;
-    }
-
-    public SecurityContext getSecurityContext(String name) throws GFacException{
-		SecurityContext secContext = securityContext.get(name);
-		return secContext;
-	}
-
-	public void addSecurityContext(String name, SecurityContext value){
-		securityContext.put(name, value);
-    }
-
-	public String getStatus() {
-		return status;
-	}
-
-	public void setStatus(String status) {
-		this.status = status;
-	}
-
-    public JobDetails getJobDetails() {
-        return jobDetails;
-    }
-
-    public void setJobDetails(JobDetails jobDetails) {
-        this.jobDetails = jobDetails;
-    }
-
-    public void addOutputFile(String file) {
-        outputFileList.add(file);
-    }
-    public List<String> getOutputFiles(){
-        return outputFileList;
-    }
-
-    public ExperimentCatalog getExperimentCatalog() {
-        return experimentCatalog;
-    }
-
-    public Map<String, SecurityContext>  getAllSecurityContexts(){
-        return securityContext;
-    }
-
-    public void setExperimentCatalog(ExperimentCatalog experimentCatalog) {
-        this.experimentCatalog = experimentCatalog;
-    }
-
-    public Experiment getExperiment() {
-        return experiment;
-    }
-
-    public void setExperiment(Experiment experiment) {
-        this.experiment = experiment;
-    }
-
-    public WorkflowNodeDetails getWorkflowNodeDetails() {
-        return workflowNodeDetails;
-    }
-
-    public void setWorkflowNodeDetails(WorkflowNodeDetails workflowNodeDetails) {
-        this.workflowNodeDetails = workflowNodeDetails;
-    }
-
-    public GFac getGfac() {
-        return gfac;
-    }
-
-    public void setGfac(GFac gfac) {
-        this.gfac = gfac;
-    }
-
-    public String getCredentialStoreToken() {
-        return credentialStoreToken;
-    }
-
-    public void setCredentialStoreToken(String credentialStoreToken) {
-        this.credentialStoreToken = credentialStoreToken;
-    }
-
-    public String getScratchLocation() {
-        return scratchLocation;
-    }
-
-    public void setScratchLocation(String scratchLocation) {
-        this.scratchLocation = scratchLocation;
-    }
-
-    public String getWorkingDir() {
-        return workingDir;
-    }
-
-    public void setWorkingDir(String workingDir) {
-        this.workingDir = workingDir;
-    }
-
-    public String getInputDir() {
-        return inputDir;
-    }
-
-    public void setInputDir(String inputDir) {
-        this.inputDir = inputDir;
-    }
-
-    public String getOutputDir() {
-        return outputDir;
-    }
-
-    public void setOutputDir(String outputDir) {
-        this.outputDir = outputDir;
-    }
-
-    public String getStandardOutput() {
-        return standardOutput;
-    }
-
-    public void setStandardOutput(String standardOutput) {
-        this.standardOutput = standardOutput;
-    }
-
-    public String getStandardError() {
-        return standardError;
-    }
-
-    public void setStandardError(String standardError) {
-        this.standardError = standardError;
-    }
-
-    public JobSubmissionProtocol getPreferredJobSubmissionProtocol() {
-        return preferredJobSubmissionProtocol;
-    }
-
-    public void setPreferredJobSubmissionProtocol(JobSubmissionProtocol preferredJobSubmissionProtocol) {
-        this.preferredJobSubmissionProtocol = preferredJobSubmissionProtocol;
-    }
-
-    public DataMovementProtocol getPreferredDataMovementProtocol() {
-        return preferredDataMovementProtocol;
-    }
-
-    public void setPreferredDataMovementProtocol(DataMovementProtocol preferredDataMovementProtocol) {
-        this.preferredDataMovementProtocol = preferredDataMovementProtocol;
-    }
-
-    public List<JobSubmissionInterface> getHostPrioritizedJobSubmissionInterfaces() {
-        return hostPrioritizedJobSubmissionInterfaces;
-    }
-
-    public void setHostPrioritizedJobSubmissionInterfaces(List<JobSubmissionInterface> hostPrioritizedJobSubmissionInterfaces) {
-        this.hostPrioritizedJobSubmissionInterfaces = hostPrioritizedJobSubmissionInterfaces;
-    }
-
-    public JobSubmissionInterface getPreferredJobSubmissionInterface() {
-        return preferredJobSubmissionInterface;
-    }
-
-    public void setPreferredJobSubmissionInterface(JobSubmissionInterface preferredJobSubmissionInterface) {
-        this.preferredJobSubmissionInterface = preferredJobSubmissionInterface;
-    }
-
-    public String getHostName() {
-        return applicationContext.getComputeResourceDescription().getHostName();
-    }
-
-    public List<DataMovementInterface> getHostPrioritizedDataMovementInterfaces() {
-        return hostPrioritizedDataMovementInterfaces;
-    }
-
-    public void setHostPrioritizedDataMovementInterfaces(List<DataMovementInterface> hostPrioritizedDataMovementInterfaces) {
-        this.hostPrioritizedDataMovementInterfaces = hostPrioritizedDataMovementInterfaces;
-    }
-
-    public DataMovementInterface getPreferredDataMovementInterface() {
-        return preferredDataMovementInterface;
-    }
-
-    public void setPreferredDataMovementInterface(DataMovementInterface preferredDataMovementInterface) {
-        this.preferredDataMovementInterface = preferredDataMovementInterface;
-    }
-
-    public CuratorFramework getCuratorClient() {
-        return curatorClient;
-    }
-
-    public void setCuratorClient(CuratorFramework curatorClient) {
-        this.curatorClient = curatorClient;
-    }
-
-    public String getExecutablePath() {
-        if (applicationContext == null || applicationContext.getApplicationDeploymentDescription() == null) {
-            return null;
-        } else {
-            return applicationContext.getApplicationDeploymentDescription().getExecutablePath();
-        }
-    }
-
-
-
-    public String getLoginUserName() {
-        return loginUserName;
-    }
-
-    public void setLoginUserName(String loginUserName) {
-        this.loginUserName = loginUserName;
-    }
-
-    public LocalEventPublisher getLocalEventPublisher() {
-        return localEventPublisher;
-    }
-
-    public void setLocalEventPublisher(LocalEventPublisher localEventPublisher) {
-        this.localEventPublisher = localEventPublisher;
-    }
-}
+///*
+// *
+// * Licensed to the Apache Software Foundation (ASF) under one
+// * or more contributor license agreements.  See the NOTICE file
+// * distributed with this work for additional information
+// * regarding copyright ownership.  The ASF licenses this file
+// * to you under the Apache License, Version 2.0 (the
+// * "License"); you may not use this file except in compliance
+// * with the License.  You may obtain a copy of the License at
+// *
+// *   http://www.apache.org/licenses/LICENSE-2.0
+// *
+// * Unless required by applicable law or agreed to in writing,
+// * software distributed under the License is distributed on an
+// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// * KIND, either express or implied.  See the License for the
+// * specific language governing permissions and limitations
+// * under the License.
+// *
+//*/
+//
+//package org.apache.airavata.gfac.core.context;
+//
+//import java.io.Serializable;
+//import java.util.ArrayList;
+//import java.util.HashMap;
+//import java.util.List;
+//import java.util.Map;
+//
+//import org.apache.airavata.common.utils.LocalEventPublisher;
+//import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
+//import org.apache.airavata.registry.cpi.AppCatalog;
+//import org.apache.airavata.registry.cpi.AppCatalogException;
+//import org.apache.airavata.gfac.core.GFacException;
+//import org.apache.airavata.gfac.core.SecurityContext;
+//import org.apache.airavata.gfac.core.GFac;
+//import org.apache.airavata.gfac.core.provider.GFacProvider;
+//import org.apache.airavata.model.appcatalog.computeresource.*;
+//import org.apache.airavata.model.experiment.JobDetails;
+//import org.apache.airavata.model.experiment.TaskDetails;
+//import org.apache.airavata.model.experiment.WorkflowNodeDetails;
+//import org.apache.airavata.registry.cpi.ExperimentCatalog;
+//import org.apache.curator.framework.CuratorFramework;
+//import org.slf4j.Logger;
+//import org.slf4j.LoggerFactory;
+//
+//public class JobExecutionContext extends AbstractContext implements Serializable{
+//
+//    private static final Logger log = LoggerFactory.getLogger(JobExecutionContext.class);
+//    private GFacConfiguration gfacConfiguration;
+//    private ApplicationContext applicationContext;
+//    private MessageContext inMessageContext;
+//    private MessageContext outMessageContext;
+//    //FIXME : not needed for gfac
+//    private Experiment experiment;
+//    private TaskDetails taskData;
+//    private JobDetails jobDetails;
+//    // FIXME : not needed for gfac
+//    private WorkflowNodeDetails workflowNodeDetails;
+//    private GFac gfac;
+//    private CuratorFramework curatorClient;
+//    private String credentialStoreToken;
+//    /**
+//     * User defined scratch/temp directory
+//     */
+//    private String scratchLocation;
+//    private String loginUserName;
+//    /**
+//     * User defined working directory.
+//     */
+//    private String workingDir;
+//    /**
+//     * Input data directory
+//     */
+//    private String inputDir;
+//    /**
+//     * Output data directory
+//     */
+//    private String outputDir;
+//    /**
+//     * standard output file path
+//     */
+//    private String standardOutput;
+//    /**
+//     * standard error file path
+//     */
+//    private String standardError;
+//    /**
+//     * User preferred job submission protocol.
+//     */
+//    private JobSubmissionProtocol preferredJobSubmissionProtocol;
+//    /**
+//     * User preferred data movement protocol.
+//     */
+//    private DataMovementProtocol preferredDataMovementProtocol;
+//    /**
+//     * List of job submission protocols sorted by priority order.
+//     */
+//    private List<JobSubmissionInterface> hostPrioritizedJobSubmissionInterfaces;
+//    /**
+//     * use preferred job submission protocol.
+//     */
+//    private JobSubmissionInterface preferredJobSubmissionInterface;
+//
+//    private ResourceJobManager resourceJobManager;
+//    /**
+//     * List of job submission protocols sorted by priority order.
+//     */
+//    private List<DataMovementInterface> hostPrioritizedDataMovementInterfaces;
+//    /**
+//     * use preferred job submission protocol.
+//     */
+//    private DataMovementInterface preferredDataMovementInterface;
+//
+////    private ContextHeaderDocument.ContextHeader contextHeader;
+//
+//    // Keep track of the current path of the message. Before hitting provider its in-path.
+//    // After provider its out-path.
+//    private boolean inPath = true;
+//
+//    // Keep list of full qualified class names of GFac handlers which should invoked before
+//    // the provider. This is specific to current job being executed.
+//    private List<String> inHandlers = new ArrayList<String>();
+//
+//    // Keep list of full qualified class names of GFac handlers which should invoked after
+//    // the provider. This is specific to current job being executed.
+//    private List<String> outHandlers = new ArrayList<String>();
+//
+//    // During the execution of in-flow one of the handlers(Scheduling handler) will
+//    // set this and GFac API will get it from the JobExecutionContext and execute the provider.
+//    private GFacProvider provider;
+//
+//    // Service description is used by GFac to mainly specify input/output parameters for a job
+//    // and to expose a job as a service to the outside world. This service concept abstract out
+//    // a scientific application(or algorithm) as a service. Service name is there to identify to
+//    // which service description we should refer during the execution of the current job represented
+//    // by this context instance.
+//    private String applicationName;
+//    private String experimentID;
+//    private AppCatalog appCatalog;
+//    private String gatewayID;
+//    private String status;
+//    private List<String> outputFileList;
+//    private ExperimentCatalog experimentCatalog;
+//    private LocalEventPublisher localEventPublisher;
+//
+//    public String getGatewayID() {
+//        return gatewayID;
+//    }
+//
+//    public void setGatewayID(String gatewayID) {
+//        this.gatewayID = gatewayID;
+//    }
+//
+//
+//    /**
+//     *  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
+//     *
+//     */
+//    private Map<String, SecurityContext> securityContext = new HashMap<String, SecurityContext>();
+//
+//    public JobExecutionContext(GFacConfiguration gFacConfiguration,String applicationName){
+//        this.gfacConfiguration = gFacConfiguration;
+//        setApplicationName(applicationName);
+//        outputFileList = new ArrayList<String>();
+//    }
+//
+//    public AppCatalog getAppCatalog() {
+//        return appCatalog;
+//    }
+//
+//    public void setAppCatalog(AppCatalog appCatalog) {
+//        if (appCatalog == null) {
+//            try {
+//                this.appCatalog = RegistryFactory.getAppCatalog();
+//            } catch (AppCatalogException e) {
+//                log.error("Unable to create app catalog instance", e);
+//            }
+//        } else {
+//            this.appCatalog = appCatalog;
+//        }
+//    }
+//
+//    public String getExperimentID() {
+//        return experimentID;
+//    }
+//
+//    public void setExperimentID(String experimentID) {
+//        this.experimentID = experimentID;
+//    }
+//
+//    public ApplicationContext getApplicationContext() {
+//        return applicationContext;
+//    }
+//
+//    public void setApplicationContext(ApplicationContext applicationContext) {
+//        this.applicationContext = applicationContext;
+//    }
+//
+//    public MessageContext getInMessageContext() {
+//        return inMessageContext;
+//    }
+//
+//    public void setInMessageContext(MessageContext inMessageContext) {
+//        this.inMessageContext = inMessageContext;
+//    }
+//
+//    public MessageContext getOutMessageContext() {
+//        return outMessageContext;
+//    }
+//
+//    public void setOutMessageContext(MessageContext outMessageContext) {
+//        this.outMessageContext = outMessageContext;
+//    }
+//
+//    public GFacConfiguration getGFacConfiguration() {
+//        return gfacConfiguration;
+//    }
+//
+//    public GFacProvider getProvider() {
+//        return provider;
+//    }
+//
+//    public void setProvider(GFacProvider provider) {
+//        this.provider = provider;
+//    }
+//
+//    public List<String> getInHandlers() {
+//        return inHandlers;
+//    }
+//
+//    public void setInHandlers(List<String> inHandlers) {
+//        this.inHandlers = inHandlers;
+//    }
+//
+//    public List<String> getOutHandlers() {
+//        return outHandlers;
+//    }
+//
+//    public void setOutHandlers(List<String> outHandlers) {
+//        this.outHandlers = outHandlers;
+//    }
+//
+//    public String getApplicationName() {
+//        return applicationName;
+//    }
+//
+//    public void setApplicationName(String applicationName) {
+//        this.applicationName = applicationName;
+//    }
+//
+//    public boolean isInPath() {
+//        return inPath;
+//    }
+//
+//    public TaskDetails getTaskData() {
+//		return taskData;
+//	}
+//
+//	public void setTaskData(TaskDetails taskData) {
+//		this.taskData = taskData;
+//	}
+//
+//	public boolean isOutPath(){
+//        return !inPath;
+//    }
+//
+//    public void setInPath() {
+//        this.inPath = true;
+//    }
+//
+//    public void setOutPath(){
+//        this.inPath = false;
+//    }
+//
+//    public ResourceJobManager getResourceJobManager() {
+//        return resourceJobManager;
+//    }
+//
+//    public void setResourceJobManager(ResourceJobManager resourceJobManager) {
+//        this.resourceJobManager = resourceJobManager;
+//    }
+//
+//    public SecurityContext getSecurityContext(String name) throws GFacException{
+//		SecurityContext secContext = securityContext.get(name);
+//		return secContext;
+//	}
+//
+//	public void addSecurityContext(String name, SecurityContext value){
+//		securityContext.put(name, value);
+//    }
+//
+//	public String getStatus() {
+//		return status;
+//	}
+//
+//	public void setStatus(String status) {
+//		this.status = status;
+//	}
+//
+//    public JobDetails getJobDetails() {
+//        return jobDetails;
+//    }
+//
+//    public void setJobDetails(JobDetails jobDetails) {
+//        this.jobDetails = jobDetails;
+//    }
+//
+//    public void addOutputFile(String file) {
+//        outputFileList.add(file);
+//    }
+//    public List<String> getOutputFiles(){
+//        return outputFileList;
+//    }
+//
+//    public ExperimentCatalog getExperimentCatalog() {
+//        return experimentCatalog;
+//    }
+//
+//    public Map<String, SecurityContext>  getAllSecurityContexts(){
+//        return securityContext;
+//    }
+//
+//    public void setExperimentCatalog(ExperimentCatalog experimentCatalog) {
+//        this.experimentCatalog = experimentCatalog;
+//    }
+//
+//    public Experiment getExperiment() {
+//        return experiment;
+//    }
+//
+//    public void setExperiment(Experiment experiment) {
+//        this.experiment = experiment;
+//    }
+//
+//    public WorkflowNodeDetails getWorkflowNodeDetails() {
+//        return workflowNodeDetails;
+//    }
+//
+//    public void setWorkflowNodeDetails(WorkflowNodeDetails workflowNodeDetails) {
+//        this.workflowNodeDetails = workflowNodeDetails;
+//    }
+//
+//    public GFac getGfac() {
+//        return gfac;
+//    }
+//
+//    public void setGfac(GFac gfac) {
+//        this.gfac = gfac;
+//    }
+//
+//    public String getCredentialStoreToken() {
+//        return credentialStoreToken;
+//    }
+//
+//    public void setCredentialStoreToken(String credentialStoreToken) {
+//        this.credentialStoreToken = credentialStoreToken;
+//    }
+//
+//    public String getScratchLocation() {
+//        return scratchLocation;
+//    }
+//
+//    public void setScratchLocation(String scratchLocation) {
+//        this.scratchLocation = scratchLocation;
+//    }
+//
+//    public String getWorkingDir() {
+//        return workingDir;
+//    }
+//
+//    public void setWorkingDir(String workingDir) {
+//        this.workingDir = workingDir;
+//    }
+//
+//    public String getInputDir() {
+//        return inputDir;
+//    }
+//
+//    public void setInputDir(String inputDir) {
+//        this.inputDir = inputDir;
+//    }
+//
+//    public String getOutputDir() {
+//        return outputDir;
+//    }
+//
+//    public void setOutputDir(String outputDir) {
+//        this.outputDir = outputDir;
+//    }
+//
+//    public String getStandardOutput() {
+//        return standardOutput;
+//    }
+//
+//    public void setStandardOutput(String standardOutput) {
+//        this.standardOutput = standardOutput;
+//    }
+//
+//    public String getStandardError() {
+//        return standardError;
+//    }
+//
+//    public void setStandardError(String standardError) {
+//        this.standardError = standardError;
+//    }
+//
+//    public JobSubmissionProtocol getPreferredJobSubmissionProtocol() {
+//        return preferredJobSubmissionProtocol;
+//    }
+//
+//    public void setPreferredJobSubmissionProtocol(JobSubmissionProtocol preferredJobSubmissionProtocol) {
+//        this.preferredJobSubmissionProtocol = preferredJobSubmissionProtocol;
+//    }
+//
+//    public DataMovementProtocol getPreferredDataMovementProtocol() {
+//        return preferredDataMovementProtocol;
+//    }
+//
+//    public void setPreferredDataMovementProtocol(DataMovementProtocol preferredDataMovementProtocol) {
+//        this.preferredDataMovementProtocol = preferredDataMovementProtocol;
+//    }
+//
+//    public List<JobSubmissionInterface> getHostPrioritizedJobSubmissionInterfaces() {
+//        return hostPrioritizedJobSubmissionInterfaces;
+//    }
+//
+//    public void setHostPrioritizedJobSubmissionInterfaces(List<JobSubmissionInterface> hostPrioritizedJobSubmissionInterfaces) {
+//        this.hostPrioritizedJobSubmissionInterfaces = hostPrioritizedJobSubmissionInterfaces;
+//    }
+//
+//    public JobSubmissionInterface getPreferredJobSubmissionInterface() {
+//        return preferredJobSubmissionInterface;
+//    }
+//
+//    public void setPreferredJobSubmissionInterface(JobSubmissionInterface preferredJobSubmissionInterface) {
+//        this.preferredJobSubmissionInterface = preferredJobSubmissionInterface;
+//    }
+//
+//    public String getHostName() {
+//        return applicationContext.getComputeResourceDescription().getHostName();
+//    }
+//
+//    public List<DataMovementInterface> getHostPrioritizedDataMovementInterfaces() {
+//        return hostPrioritizedDataMovementInterfaces;
+//    }
+//
+//    public void setHostPrioritizedDataMovementInterfaces(List<DataMovementInterface> hostPrioritizedDataMovementInterfaces) {
+//        this.hostPrioritizedDataMovementInterfaces = hostPrioritizedDataMovementInterfaces;
+//    }
+//
+//    public DataMovementInterface getPreferredDataMovementInterface() {
+//        return preferredDataMovementInterface;
+//    }
+//
+//    public void setPreferredDataMovementInterface(DataMovementInterface preferredDataMovementInterface) {
+//        this.preferredDataMovementInterface = preferredDataMovementInterface;
+//    }
+//
+//    public CuratorFramework getCuratorClient() {
+//        return curatorClient;
+//    }
+//
+//    public void setCuratorClient(CuratorFramework curatorClient) {
+//        this.curatorClient = curatorClient;
+//    }
+//
+//    public String getExecutablePath() {
+//        if (applicationContext == null || applicationContext.getApplicationDeploymentDescription() == null) {
+//            return null;
+//        } else {
+//            return applicationContext.getApplicationDeploymentDescription().getExecutablePath();
+//        }
+//    }
+//
+//
+//
+//    public String getLoginUserName() {
+//        return loginUserName;
+//    }
+//
+//    public void setLoginUserName(String loginUserName) {
+//        this.loginUserName = loginUserName;
+//    }
+//
+//    public LocalEventPublisher getLocalEventPublisher() {
+//        return localEventPublisher;
+//    }
+//
+//    public void setLocalEventPublisher(LocalEventPublisher localEventPublisher) {
+//        this.localEventPublisher = localEventPublisher;
+//    }
+//}

http://git-wip-us.apache.org/repos/asf/airavata/blob/df3fbe6a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/monitor/MonitorID.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/monitor/MonitorID.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/monitor/MonitorID.java
index 5a0e597..5f3471c 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/monitor/MonitorID.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/monitor/MonitorID.java
@@ -20,7 +20,7 @@
 */
 package org.apache.airavata.gfac.core.monitor;
 
-import org.apache.airavata.gfac.core.context.JobExecutionContext;
+import org.apache.airavata.gfac.core.context.ProcessContext;
 import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
 import org.apache.airavata.model.status.JobState;
 import org.slf4j.Logger;
@@ -61,7 +61,7 @@ public class MonitorID {
 
     private JobState state;
 
-    private JobExecutionContext jobExecutionContext;
+    private ProcessContext processContext;
 
     public MonitorID() {
     }
@@ -86,16 +86,16 @@ public class MonitorID {
         this.jobName = jobName;
     }
 
-    public MonitorID(JobExecutionContext jobExecutionContext) {
-/*        this.jobExecutionContext = jobExecutionContext;
-        this.computeResourceDescription = jobExecutionContext.getApplicationContext().getComputeResourceDescription();
-        userName = jobExecutionContext.getExperiment().getUserName();
-        taskID = jobExecutionContext.getTaskData().getTaskID();
-        experimentID = jobExecutionContext.getExperiment().getExperimentID();
-        workflowNodeID = jobExecutionContext.getWorkflowNodeDetails().getNodeInstanceId();// at this point we only have one node todo: fix this
+    public MonitorID(ProcessContext processContext) {
+/*        this.processContext = processContext;
+        this.computeResourceDescription = processContext.getApplicationContext().getComputeResourceDescription();
+        userName = processContext.getExperiment().getUserName();
+        taskID = processContext.getTaskData().getTaskID();
+        experimentID = processContext.getExperiment().getExperimentID();
+        workflowNodeID = processContext.getWorkflowNodeDetails().getNodeInstanceId();// at this point we only have one node todo: fix this
         try {
-            jobName = jobExecutionContext.getJobDetails().getJobName();
-            jobID = jobExecutionContext.getJobDetails().getJobID();
+            jobName = processContext.getJobDetails().getJobName();
+            jobID = processContext.getJobDetails().getJobID();
         }catch(NullPointerException e){
             logger.error("There is not job created at this point");
             // this is not a big deal we create MonitorId before having a jobId or job Name
@@ -210,12 +210,12 @@ public class MonitorID {
         this.workflowNodeID = workflowNodeID;
     }
 
-    public JobExecutionContext getJobExecutionContext() {
-        return jobExecutionContext;
+    public ProcessContext getProcessContext() {
+        return processContext;
     }
 
-    public void setJobExecutionContext(JobExecutionContext jobExecutionContext) {
-        this.jobExecutionContext = jobExecutionContext;
+    public void setProcessContext(ProcessContext processContext) {
+        this.processContext = processContext;
     }
 
     public String getJobName() {

http://git-wip-us.apache.org/repos/asf/airavata/blob/df3fbe6a/modules/gfac/gfac-impl/src/main/java/com/jcraft/jsch/GSSContextX509.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/com/jcraft/jsch/GSSContextX509.java b/modules/gfac/gfac-impl/src/main/java/com/jcraft/jsch/GSSContextX509.java
new file mode 100644
index 0000000..06cd356
--- /dev/null
+++ b/modules/gfac/gfac-impl/src/main/java/com/jcraft/jsch/GSSContextX509.java
@@ -0,0 +1,205 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package com.jcraft.jsch;
+
+
+import org.globus.common.CoGProperties;
+import org.globus.gsi.gssapi.auth.HostAuthorization;
+import org.gridforum.jgss.ExtendedGSSCredential;
+import org.gridforum.jgss.ExtendedGSSManager;
+import org.ietf.jgss.GSSContext;
+import org.ietf.jgss.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+
+/**
+ * This class is based on GSSContextKrb5; it substitutes the globus
+ * ExtendedGSSManager and uses the SecurityUtils method to get the credential if
+ * one is not passed in from memory.
+ *
+ */
+public class GSSContextX509 implements com.jcraft.jsch.GSSContext {
+
+    private GSSContext context = null;
+    private GSSCredential credential;
+    private static final Logger logger = LoggerFactory.getLogger(GSSContextX509.class);
+
+    public void create(String user, String host) throws JSchException {
+        try {
+//			ExtendedGSSManager manager = (ExtendedGSSManager) ExtendedGSSManager.getInstance();
+
+            if (credential == null) {
+                try {
+                    credential = getCredential();
+                } catch (SecurityException t) {
+                    System.out.printf("Could not get proxy: %s: %s\n", t.getClass().getSimpleName(), t.getMessage());
+                    throw new JSchException(t.toString());
+                }
+            }
+
+            String cname = host;
+
+            try {
+                cname = InetAddress.getByName(cname).getCanonicalHostName();
+            } catch (UnknownHostException e) {
+            }
+
+            GSSName name = HostAuthorization.getInstance().getExpectedName(credential, cname);
+
+//			context = manager.createContext(name, null, credential, GSSContext.DEFAULT_LIFETIME);
+//
+//			// RFC4462 3.4. GSS-API Session
+//			//
+//			// When calling GSS_Init_sec_context(), the client MUST set
+//			// integ_req_flag to "true" to request that per-message integrity
+//			// protection be supported for this context. In addition,
+//			// deleg_req_flag MAY be set to "true" to request access delegation,
+//			// if
+//			// requested by the user.
+//			//
+//			// Since the user authentication process by its nature authenticates
+//			// only the client, the setting of mutual_req_flag is not needed for
+//			// this process. This flag SHOULD be set to "false".
+//
+//			// TODO: OpenSSH's sshd does accept 'false' for mutual_req_flag
+//			// context.requestMutualAuth(false);
+//			context.requestMutualAuth(true);
+//			context.requestConf(true);
+//			context.requestInteg(true); // for MIC
+//			context.requestCredDeleg(true);
+//			context.requestAnonymity(false);
+
+//            context = new BCGSSContextImpl(name, (GlobusGSSCredentialImpl) credential);
+//            context.requestLifetime(GSSCredential.DEFAULT_LIFETIME);
+//            context.requestCredDeleg(true);
+//            context.requestMutualAuth(true);
+//            context.requestReplayDet(true);
+//            context.requestSequenceDet(true);
+//            context.requestConf(false);
+//            context.requestInteg(true);
+//            ((ExtendedGSSContext)context).setOption(GSSConstants.DELEGATION_TYPE, GSIConstants.DELEGATION_TYPE_FULL);
+
+            return;
+        } catch (GSSException ex) {
+            throw new JSchException(ex.toString());
+        }
+    }
+
+    private static GSSCredential getProxy() {
+        return getProxy(null, GSSCredential.DEFAULT_LIFETIME);
+    }
+
+    /**
+     * @param x509_USER_PROXY
+     *            path to the proxy.
+     * @param credentialLifetime
+     *            in seconds.
+     * @return valid credential.
+     *             if proxy task throws exception (or if proxy cannot be found).
+     */
+    private static GSSCredential getProxy(String x509_USER_PROXY, int credentialLifetime) throws SecurityException {
+        if (x509_USER_PROXY == null)
+            x509_USER_PROXY = System.getProperty("x509.user.proxy");
+
+//		if (x509_USER_PROXY == null) {
+//			SystemUtils.envToProperties();
+//			x509_USER_PROXY = System.getProperty("x509.user.proxy");
+//		}
+
+        if (x509_USER_PROXY == null || "".equals(x509_USER_PROXY))
+            x509_USER_PROXY = CoGProperties.getDefault().getProxyFile();
+
+        if (x509_USER_PROXY == null)
+            throw new SecurityException("could not get credential; no location defined");
+
+        ExtendedGSSManager manager = (ExtendedGSSManager) ExtendedGSSManager.getInstance();
+
+        // file...load file into a buffer
+        try {
+            File f = new File(x509_USER_PROXY);
+            byte[] data = new byte[(int) f.length()];
+            FileInputStream in = new FileInputStream(f);
+            // read in the credential data
+            in.read(data);
+            in.close();
+            return manager.createCredential(data, ExtendedGSSCredential.IMPEXP_OPAQUE, credentialLifetime, null, // use
+                    // default
+                    // mechanism
+                    // -
+                    // GSI
+                    GSSCredential.INITIATE_AND_ACCEPT);
+        } catch (Throwable t) {
+            throw new SecurityException("could not get credential from " + x509_USER_PROXY, t);
+        }
+    }
+
+    public boolean isEstablished() {
+        // this must check to see if the call returned GSS_S_COMPLETE
+        if (context != null){
+            return context.isEstablished();
+        }
+        return false;
+    }
+
+    public byte[] init(byte[] token, int s, int l) throws JSchException {
+        try {
+            if (context != null){
+                return context.initSecContext(token, s, l);
+            }else {
+                throw new JSchException("Context is null..");
+            }
+        } catch (GSSException ex) {
+            throw new JSchException(ex.toString());
+        }
+    }
+
+    public byte[] getMIC(byte[] message, int s, int l) {
+        try {
+            MessageProp prop = new MessageProp(0, false);
+            return context.getMIC(message, s, l, prop);
+        } catch (GSSException ex) {
+            logger.error(ex.getMessage(), ex);
+            return null;
+        }
+    }
+
+    public void dispose() {
+        try {
+            context.dispose();
+        } catch (GSSException ex) {
+        }
+    }
+
+    public void setCredential(GSSCredential credential) {
+        this.credential = credential;
+    }
+
+    public GSSCredential getCredential() {
+        return credential;
+    }
+}
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/df3fbe6a/modules/gfac/gfac-impl/src/main/java/com/jcraft/jsch/UserAuthGSSAPIWithMICGSSCredentials.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/com/jcraft/jsch/UserAuthGSSAPIWithMICGSSCredentials.java b/modules/gfac/gfac-impl/src/main/java/com/jcraft/jsch/UserAuthGSSAPIWithMICGSSCredentials.java
index d0e98db..747338a 100644
--- a/modules/gfac/gfac-impl/src/main/java/com/jcraft/jsch/UserAuthGSSAPIWithMICGSSCredentials.java
+++ b/modules/gfac/gfac-impl/src/main/java/com/jcraft/jsch/UserAuthGSSAPIWithMICGSSCredentials.java
@@ -22,7 +22,6 @@
 package com.jcraft.jsch;
 
 import org.apache.airavata.gfac.core.authentication.GSIAuthenticationInfo;
-import org.apache.airavata.gfac.gsi.ssh.GSSContextX509;
 import org.globus.gsi.gssapi.GSSConstants;
 import org.ietf.jgss.GSSException;
 import org.ietf.jgss.Oid;

http://git-wip-us.apache.org/repos/asf/airavata/blob/df3fbe6a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SSHJobSubmissionTask.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SSHJobSubmissionTask.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SSHJobSubmissionTask.java
index 7f4c13a..9873de5 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SSHJobSubmissionTask.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SSHJobSubmissionTask.java
@@ -22,18 +22,14 @@
 package org.apache.airavata.gfac.impl.task;
 
 import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.airavata.common.utils.Constants;
-import org.apache.airavata.common.utils.LocalEventPublisher;
 import org.apache.airavata.gfac.core.*;
 import org.apache.airavata.gfac.core.cluster.RemoteCluster;
 import org.apache.airavata.gfac.core.context.ProcessContext;
 import org.apache.airavata.gfac.core.context.TaskContext;
-import org.apache.airavata.gfac.core.monitor.MonitorID;
 import org.apache.airavata.gfac.core.task.JobSubmissionTask;
 import org.apache.airavata.gfac.core.task.TaskException;
 import org.apache.airavata.gfac.impl.Factory;
 import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager;
-import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManagerType;
 import org.apache.airavata.model.job.JobModel;
 import org.apache.airavata.model.status.JobState;
 import org.apache.airavata.model.status.JobStatus;
@@ -67,26 +63,8 @@ public class SSHJobSubmissionTask implements JobSubmissionTask {
             jobModel.setJobName(jobDescriptor.getJobName());
             ResourceJobManager resourceJobManager = GFacUtils.getResourceJobManager(processContext);
             JobManagerConfiguration jConfig = null;
-            if (resourceJobManager != null){
-                String installedParentPath = resourceJobManager.getJobManagerBinPath();
-                if (installedParentPath == null) {
-                    installedParentPath = "/";
-                }
-                ResourceJobManagerType resourceJobManagerType = resourceJobManager.getResourceJobManagerType();
-                if (resourceJobManagerType == null) {
-                    log.error("No Job Manager is configured, so we are picking pbs as the default job manager");
-                    jConfig = Factory.getPBSJobManager(installedParentPath);
-                } else {
-                    if (ResourceJobManagerType.PBS == resourceJobManagerType) {
-                        jConfig = Factory.getPBSJobManager(installedParentPath);
-                    } else if (ResourceJobManagerType.SLURM == resourceJobManagerType) {
-                        jConfig = Factory.getSLURMJobManager(installedParentPath);
-                    } else if (ResourceJobManagerType.UGE == resourceJobManagerType) {
-                        jConfig = Factory.getUGEJobManager(installedParentPath);
-                    } else if (ResourceJobManagerType.LSF == resourceJobManagerType) {
-                        jConfig = Factory.getLSFJobManager(installedParentPath);
-                    }
-                }
+            if (resourceJobManager != null) {
+                jConfig = Factory.getJobManagerConfiguration(resourceJobManager);
             }
             File jobFile = GFacUtils.createJobFile(jobDescriptor, jConfig);
             if (jobFile != null && jobFile.exists()){

http://git-wip-us.apache.org/repos/asf/airavata/blob/df3fbe6a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/local/handler/LocalDirectorySetupHandler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/local/handler/LocalDirectorySetupHandler.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/local/handler/LocalDirectorySetupHandler.java
index 2f9e3b0..a76a866 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/local/handler/LocalDirectorySetupHandler.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/local/handler/LocalDirectorySetupHandler.java
@@ -1,62 +1,62 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-package org.apache.airavata.gfac.local.handler;
-
-import org.apache.airavata.gfac.core.context.JobExecutionContext;
-import org.apache.airavata.gfac.core.handler.GFacHandler;
-import org.apache.airavata.gfac.core.handler.GFacHandlerException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.File;
-import java.util.Properties;
-
-public class LocalDirectorySetupHandler implements GFacHandler {
-    private static final Logger log = LoggerFactory.getLogger(LocalDirectorySetupHandler.class);
-
-    public void invoke(JobExecutionContext jobExecutionContext) throws GFacHandlerException {
-        log.info("Invoking LocalDirectorySetupHandler ...");
-        log.debug("working directory = " + jobExecutionContext.getWorkingDir());
-        log.debug("temp directory = " + jobExecutionContext.getWorkingDir());
-
-        makeFileSystemDir(jobExecutionContext.getWorkingDir());
-        makeFileSystemDir(jobExecutionContext.getInputDir());
-        makeFileSystemDir(jobExecutionContext.getOutputDir());
-    }
-
-    @Override
-    public void recover(JobExecutionContext jobExecutionContext) throws GFacHandlerException {
-        // TODO: Auto generated method body.
-    }
-
-    private void makeFileSystemDir(String dir) throws GFacHandlerException {
-           File f = new File(dir);
-           if (f.isDirectory() && f.exists()) {
-               return;
-           } else if (!new File(dir).mkdir()) {
-               throw new GFacHandlerException("Cannot create directory " + dir);
-           }
-    }
-
-    public void initProperties(Properties properties) throws GFacHandlerException {
-
-    }
-}
+///*
+// *
+// * Licensed to the Apache Software Foundation (ASF) under one
+// * or more contributor license agreements.  See the NOTICE file
+// * distributed with this work for additional information
+// * regarding copyright ownership.  The ASF licenses this file
+// * to you under the Apache License, Version 2.0 (the
+// * "License"); you may not use this file except in compliance
+// * with the License.  You may obtain a copy of the License at
+// *
+// *   http://www.apache.org/licenses/LICENSE-2.0
+// *
+// * Unless required by applicable law or agreed to in writing,
+// * software distributed under the License is distributed on an
+// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// * KIND, either express or implied.  See the License for the
+// * specific language governing permissions and limitations
+// * under the License.
+// *
+//*/
+//package org.apache.airavata.gfac.local.handler;
+//
+//import org.apache.airavata.gfac.core.context.JobExecutionContext;
+//import org.apache.airavata.gfac.core.handler.GFacHandler;
+//import org.apache.airavata.gfac.core.handler.GFacHandlerException;
+//import org.slf4j.Logger;
+//import org.slf4j.LoggerFactory;
+//
+//import java.io.File;
+//import java.util.Properties;
+//
+//public class LocalDirectorySetupHandler implements GFacHandler {
+//    private static final Logger log = LoggerFactory.getLogger(LocalDirectorySetupHandler.class);
+//
+//    public void invoke(JobExecutionContext jobExecutionContext) throws GFacHandlerException {
+//        log.info("Invoking LocalDirectorySetupHandler ...");
+//        log.debug("working directory = " + jobExecutionContext.getWorkingDir());
+//        log.debug("temp directory = " + jobExecutionContext.getWorkingDir());
+//
+//        makeFileSystemDir(jobExecutionContext.getWorkingDir());
+//        makeFileSystemDir(jobExecutionContext.getInputDir());
+//        makeFileSystemDir(jobExecutionContext.getOutputDir());
+//    }
+//
+//    @Override
+//    public void recover(JobExecutionContext jobExecutionContext) throws GFacHandlerException {
+//        // TODO: Auto generated method body.
+//    }
+//
+//    private void makeFileSystemDir(String dir) throws GFacHandlerException {
+//           File f = new File(dir);
+//           if (f.isDirectory() && f.exists()) {
+//               return;
+//           } else if (!new File(dir).mkdir()) {
+//               throw new GFacHandlerException("Cannot create directory " + dir);
+//           }
+//    }
+//
+//    public void initProperties(Properties properties) throws GFacHandlerException {
+//
+//    }
+//}