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 2014/07/07 17:56:27 UTC

git commit: adding test classes to compute resource

Repository: airavata
Updated Branches:
  refs/heads/master b71499c89 -> f5826458a


adding test classes to compute resource


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

Branch: refs/heads/master
Commit: f5826458a90c10de7340d7b65348f1ca2672af6f
Parents: b71499c
Author: Chathuri Wimalasena <ka...@gmail.com>
Authored: Mon Jul 7 11:56:17 2014 -0400
Committer: Chathuri Wimalasena <ka...@gmail.com>
Committed: Mon Jul 7 11:56:17 2014 -0400

----------------------------------------------------------------------
 .../appcatalog/cpi/ComputeResource.java         |   2 -
 .../data/resources/ScpDataMovementResource.java |   1 -
 .../data/util/AppCatalogThriftConversion.java   |   4 +-
 .../app/catalog/test/ComputeResourceTest.java   | 309 ++++++++++---------
 .../registry/jpa/model/ApplicationInput.java    |   1 +
 .../registry/jpa/model/ApplicationOutput.java   |   1 +
 .../src/main/resources/registry-derby.sql       |   4 +-
 .../src/main/resources/registry-mysql.sql       |   4 +-
 8 files changed, 174 insertions(+), 152 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/f5826458/modules/app-catalog/app-catalog-cpi/src/main/java/org/airavata/appcatalog/cpi/ComputeResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-cpi/src/main/java/org/airavata/appcatalog/cpi/ComputeResource.java b/modules/app-catalog/app-catalog-cpi/src/main/java/org/airavata/appcatalog/cpi/ComputeResource.java
index ff73965..9a4c034 100644
--- a/modules/app-catalog/app-catalog-cpi/src/main/java/org/airavata/appcatalog/cpi/ComputeResource.java
+++ b/modules/app-catalog/app-catalog-cpi/src/main/java/org/airavata/appcatalog/cpi/ComputeResource.java
@@ -40,7 +40,6 @@ public interface ComputeResource {
     /**
      * This will add a SSHJobSubmission protocol to the database
      * @param computeResourceId compute resource id
-     * @param jobSubmissionId job submission id
      */
     void addJobSubmissionProtocol(String computeResourceId, JobSubmissionInterface jobSubmissionInterface) throws AppCatalogException;
 
@@ -66,7 +65,6 @@ public interface ComputeResource {
     /**
      * This will add a SCPDataMovement protocol to the database
      * @param computeResourceId compute resource id
-     * @param dataMoveId data movement id
      */
     void addDataMovementProtocol (String computeResourceId, DataMovementInterface dataMovementInterface) throws AppCatalogException;
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/f5826458/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ScpDataMovementResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ScpDataMovementResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ScpDataMovementResource.java
index dad3417..9e356da 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ScpDataMovementResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ScpDataMovementResource.java
@@ -1,7 +1,6 @@
 package org.apache.aiaravata.application.catalog.data.resources;
 
 import org.airavata.appcatalog.cpi.AppCatalogException;
-import org.apache.aiaravata.application.catalog.data.model.ComputeResource;
 import org.apache.aiaravata.application.catalog.data.model.ScpDataMovement;
 import org.apache.aiaravata.application.catalog.data.util.AppCatalogJPAUtils;
 import org.apache.aiaravata.application.catalog.data.util.AppCatalogQueryGenerator;

http://git-wip-us.apache.org/repos/asf/airavata/blob/f5826458/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
index d20e955..8dfbdac 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
@@ -270,7 +270,9 @@ public class AppCatalogThriftConversion {
         resourceJobManager.setResourceJobManagerId(submission.getJobSubmissionInterfaceId());
         resource.setResourceJobManagerId(resourceJobManager.getResourceJobManagerId());
         resource.setResourceJobManagerResource(resourceJobManager);
-        resource.setSecurityProtocol(submission.getSecurityProtocol().toString());
+        if (submission.getSecurityProtocol() != null){
+            resource.setSecurityProtocol(submission.getSecurityProtocol().toString());
+        }
         resource.setSshPort(submission.getSshPort());
         return resource;
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/f5826458/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java b/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java
index 4108738..529f95f 100644
--- a/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java
+++ b/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java
@@ -61,94 +61,130 @@ public class ComputeResourceTest {
 
     }
 
-//    @Test
-//    public void testAddComputeResource (){
-//        try {
-//            ComputeResource computeResource = appcatalog.getComputeResource();
-//            ComputeResourceDescription description = new ComputeResourceDescription();
-//
-//            description.setHostName("localhost");
-//            description.setPreferredJobSubmissionProtocol("SSH");
-//            description.setResourceDescription("test compute resource");
-//            Set<String> ipdaresses = new HashSet<String>();
-//            ipdaresses.add("222.33.43.444");
-//            ipdaresses.add("23.344.44.454");
-//            description.setIpAddresses(ipdaresses);
-//            Set<String> aliases = new HashSet<String>();
-//            aliases.add("test.alias1");
-//            aliases.add("test.alias2");
-//            description.setHostAliases(aliases);
-//            String sshsubmissionId = addSSHJobSubmission();
-//            System.out.println("**** SSH Submission id ****** :" + sshsubmissionId);
+    @Test
+    public void testAddComputeResource (){
+        try {
+            ComputeResource computeResource = appcatalog.getComputeResource();
+            ComputeResourceDescription description = new ComputeResourceDescription();
+
+            description.setHostName("localhost");
+            description.setResourceDescription("test compute resource");
+            Set<String> ipdaresses = new HashSet<String>();
+            ipdaresses.add("222.33.43.444");
+            ipdaresses.add("23.344.44.454");
+            description.setIpAddresses(ipdaresses);
+            Set<String> aliases = new HashSet<String>();
+            aliases.add("test.alias1");
+            aliases.add("test.alias2");
+            description.setHostAliases(aliases);
+            String sshsubmissionId = addSSHJobSubmission();
+            System.out.println("**** SSH Submission id ****** :" + sshsubmissionId);
 //            String gsiSSHsubmissionId = addGSISSHJobSubmission();
 //            System.out.println("**** GSISSH Submission id ****** :" + gsiSSHsubmissionId);
 //            String globusSubmissionId = addGlobusJobSubmission();
 //            System.out.println("**** Globus Submission id ****** :" + globusSubmissionId);
-//            Map<String, JobSubmissionProtocol> jobProtools = new HashMap<String, JobSubmissionProtocol>();
-//            jobProtools.put(sshsubmissionId, JobSubmissionProtocol.SSH);
-//            jobProtools.put(gsiSSHsubmissionId, JobSubmissionProtocol.GSISSH);
-//            jobProtools.put(globusSubmissionId, JobSubmissionProtocol.GRAM);
-//            description.setJobSubmissionProtocols(jobProtools);
-//
-//            String scpDataMoveId = addSCPDataMovement();
-//            System.out.println("**** SCP DataMoveId****** :" + scpDataMoveId);
-//            String gridFTPDataMoveId = addGridFTPDataMovement();
-//            System.out.println("**** grid FTP DataMoveId****** :" + gridFTPDataMoveId);
-//            Map<String, DataMovementProtocol> dataProtools = new HashMap<String, DataMovementProtocol>();
-//            dataProtools.put(scpDataMoveId, DataMovementProtocol.SCP);
-//            dataProtools.put(gridFTPDataMoveId, DataMovementProtocol.GridFTP);
-//            description.setDataMovementProtocols(dataProtools);
-//
-//            String resourceId = computeResource.addComputeResource(description);
-//            System.out.println("**********Resource id ************* : " +  resourceId);
-//            ComputeResourceDescription host = null;
-//            if (computeResource.isComputeResourceExists(resourceId)){
-//                host = computeResource.getComputeResource(resourceId);
-//                System.out.println("**********Resource name ************* : " +  host.getHostName());
-//            }
-//
-//            SSHJobSubmission sshJobSubmission = computeResource.getSSHJobSubmission(sshsubmissionId);
-//            System.out.println("**********SSH Submission resource job manager ************* : " +  sshJobSubmission.getResourceJobManager().toString());
-//
-//            GSISSHJobSubmission gsisshJobSubmission = computeResource.getGSISSHJobSubmission(gsiSSHsubmissionId);
-//            System.out.println("**********GSISSH Submission resource job manager ************* : " +  gsisshJobSubmission.getResourceJobManager().toString());
-//
-//            GlobusJobSubmission globusJobSubmission = computeResource.getGlobusJobSubmission(globusSubmissionId);
+            JobSubmissionInterface sshSubmissionInt = new JobSubmissionInterface();
+            sshSubmissionInt.setJobSubmissionInterfaceId(sshsubmissionId);
+            sshSubmissionInt.setPriorityOrder(1);
+            sshSubmissionInt.setJobSubmissionProtocol(JobSubmissionProtocol.SSH);
+            JobSubmissionInterface globusSubInt = new JobSubmissionInterface();
+//            globusSubInt.setJobSubmissionInterfaceId(globusSubmissionId);
+            globusSubInt.setPriorityOrder(2);
+            globusSubInt.setJobSubmissionProtocol(JobSubmissionProtocol.GLOBUS);
+            List<JobSubmissionInterface> interfaceList = new ArrayList<JobSubmissionInterface>();
+            interfaceList.add(sshSubmissionInt);
+            interfaceList.add(globusSubInt);
+            description.setJobSubmissionInterfaces(interfaceList);
+
+            String scpDataMoveId = addSCPDataMovement();
+            System.out.println("**** SCP DataMoveId****** :" + scpDataMoveId);
+            String gridFTPDataMoveId = addGridFTPDataMovement();
+            System.out.println("**** grid FTP DataMoveId****** :" + gridFTPDataMoveId);
+
+            List<DataMovementInterface> dataMovementInterfaces = new ArrayList<DataMovementInterface>();
+            DataMovementInterface scpInterface = new DataMovementInterface();
+            scpInterface.setDataMovementInterfaceId(scpDataMoveId);
+            scpInterface.setDataMovementProtocol(DataMovementProtocol.SCP);
+            scpInterface.setPriorityOrder(1);
+
+            DataMovementInterface gridFTPMv = new DataMovementInterface();
+            gridFTPMv.setDataMovementInterfaceId(gridFTPDataMoveId);
+            gridFTPMv.setDataMovementProtocol(DataMovementProtocol.GridFTP);
+            gridFTPMv.setPriorityOrder(2);
+
+            description.setDataMovementInterfaces(dataMovementInterfaces);
+
+            BatchQueue batchQueue1 = new BatchQueue();
+            batchQueue1.setQueueName("queue1");
+            batchQueue1.setQueueDescription("que1Desc1");
+            batchQueue1.setMaxRunTime(10);
+            batchQueue1.setMaxNodes(4);
+            batchQueue1.setMaxJobsInQueue(1);
+
+            BatchQueue batchQueue2 = new BatchQueue();
+            batchQueue2.setQueueName("queue2");
+            batchQueue2.setQueueDescription("que1Desc2");
+            batchQueue2.setMaxRunTime(10);
+            batchQueue2.setMaxNodes(4);
+            batchQueue2.setMaxJobsInQueue(1);
+
+            List<BatchQueue> batchQueueList = new ArrayList<BatchQueue>();
+            batchQueueList.add(batchQueue1);
+            batchQueueList.add(batchQueue2);
+            description.setBatchQueues(batchQueueList);
+
+            Map<FileSystems, String> fileSysMap = new HashMap<FileSystems, String>();
+            fileSysMap.put(FileSystems.HOME, "/home");
+            fileSysMap.put(FileSystems.SCRATCH, "/tmp");
+            description.setFileSystems(fileSysMap);
+
+            String resourceId = computeResource.addComputeResource(description);
+            System.out.println("**********Resource id ************* : " +  resourceId);
+            ComputeResourceDescription host = null;
+            if (computeResource.isComputeResourceExists(resourceId)){
+                host = computeResource.getComputeResource(resourceId);
+                System.out.println("**********Resource name ************* : " +  host.getHostName());
+            }
+
+            SSHJobSubmission sshJobSubmission = computeResource.getSSHJobSubmission(sshsubmissionId);
+            System.out.println("**********SSH Submission resource job manager ************* : " +  sshJobSubmission.getResourceJobManager().toString());
+
+//            GlobusJobSubmission globusJobSubmission = computeResource.get(globusSubmissionId);
 //            System.out.println("**********Globus Submission resource job manager ************* : " + globusJobSubmission.getResourceJobManager().toString());
-//
-//            SCPDataMovement scpDataMovement = computeResource.getSCPDataMovement(scpDataMoveId);
-//            System.out.println("**********SCP Data Move Security protocol ************* : " + scpDataMovement.getSecurityProtocol().toString());
-//
-//            GridFTPDataMovement gridFTPDataMovement = computeResource.getGridFTPDataMovement(gridFTPDataMoveId);
-//            System.out.println("**********GRID FTP Data Move Security protocol ************* : " + gridFTPDataMovement.getSecurityProtocol().toString());
-//
-//            description.setHostName("localhost2");
-//            computeResource.updateComputeResource(resourceId, description);
-//            if (computeResource.isComputeResourceExists(resourceId)){
-//                host = computeResource.getComputeResource(resourceId);
-//                System.out.println("**********Updated Resource name ************* : " +  host.getHostName());
-//            }
-//
-//            Map<String, String> cfilters = new HashMap<String, String>();
-//            cfilters.put(AbstractResource.ComputeResourceConstants.HOST_NAME, "localhost2");
-//            List<ComputeResourceDescription> computeResourceList = computeResource.getComputeResourceList(cfilters);
-//            System.out.println("**********Size of compute resources ************* : " +  computeResourceList.size());
-//
+
+            SCPDataMovement scpDataMovement = computeResource.getSCPDataMovement(scpDataMoveId);
+            System.out.println("**********SCP Data Move Security protocol ************* : " + scpDataMovement.getSecurityProtocol().toString());
+
+            GridFTPDataMovement gridFTPDataMovement = computeResource.getGridFTPDataMovement(gridFTPDataMoveId);
+            System.out.println("**********GRID FTP Data Move Security protocol ************* : " + gridFTPDataMovement.getSecurityProtocol().toString());
+
+            description.setHostName("localhost2");
+            computeResource.updateComputeResource(resourceId, description);
+            if (computeResource.isComputeResourceExists(resourceId)){
+                host = computeResource.getComputeResource(resourceId);
+                System.out.println("**********Updated Resource name ************* : " +  host.getHostName());
+            }
+
+            Map<String, String> cfilters = new HashMap<String, String>();
+            cfilters.put(AbstractResource.ComputeResourceConstants.HOST_NAME, "localhost2");
+            List<ComputeResourceDescription> computeResourceList = computeResource.getComputeResourceList(cfilters);
+            System.out.println("**********Size of compute resources ************* : " +  computeResourceList.size());
+
 //            Map<String, String> globusfilters = new HashMap<String, String>();
 //            globusfilters.put(AbstractResource.GlobusJobSubmissionConstants.RESOURCE_JOB_MANAGER, ResourceJobManager.PBS.toString());
 //            List<GlobusJobSubmission> gList = computeResource.getGlobusJobSubmissionList(globusfilters);
 //            System.out.println("**********Size of globus jobs ************* : " +  gList.size());
-//
+
 //            Map<String, String> sshfilters = new HashMap<String, String>();
 //            sshfilters.put(AbstractResource.SSHSubmissionConstants.RESOURCE_JOB_MANAGER, ResourceJobManager.PBS.toString());
-//            List<SSHJobSubmission> sshList = computeResource.getSSHJobSubmissionList(sshfilters);
+//            List<SSHJobSubmission> sshList = computeResource.getSS(sshfilters);
 //            System.out.println("**********Size of SSH jobs ************* : " + sshList.size());
-//
+
 //            Map<String, String> gsishfilters = new HashMap<String, String>();
 //            gsishfilters.put(AbstractResource.GSISSHSubmissionConstants.RESOURCE_JOB_MANAGER, ResourceJobManager.PBS.toString());
 //            List<GSISSHJobSubmission> gsisshList = computeResource.getGSISSHJobSubmissionList(gsishfilters);
 //            System.out.println("**********Size of GSISSH jobs ************* : " + gsisshList.size());
-//
+
 //            Map<String, String> scpfilters = new HashMap<String, String>();
 //            scpfilters.put(AbstractResource.SCPDataMovementConstants.SECURITY_PROTOCOL, SecurityProtocol.SSH_KEYS.toString());
 //            List<SCPDataMovement> scpDataMovementList = computeResource.getSCPDataMovementList(scpfilters);
@@ -158,51 +194,36 @@ public class ComputeResourceTest {
 //            ftpfilters.put(AbstractResource.GridFTPDataMovementConstants.SECURITY_PROTOCOL, SecurityProtocol.SSH_KEYS.toString());
 //            List<GridFTPDataMovement> ftpDataMovementList = computeResource.getGridFTPDataMovementList(ftpfilters);
 //            System.out.println("**********Size of FTP DM list ************* : " + ftpDataMovementList.size());
-//
-//            assertTrue("Compute resource save successfully", host != null);
-//        } catch (AppCatalogException e) {
-//            e.printStackTrace();
-//        }
-//    }
-//
-//    public String addSSHJobSubmission (){
-//        try {
-//            SSHJobSubmission jobSubmission = new SSHJobSubmission();
-//            jobSubmission.setSshPort(22);
-//            jobSubmission.setResourceJobManager(ResourceJobManager.PBS);
-//            return appcatalog.getComputeResource().addSSHJobSubmission(jobSubmission);
-//        } catch (AppCatalogException e) {
-//            e.printStackTrace();
-//        }
-//        return null;
-//    }
-//
-//    public String addGSISSHJobSubmission (){
-//        try {
-//            GSISSHJobSubmission jobSubmission = new GSISSHJobSubmission();
-//            jobSubmission.setSshPort(22);
-//            jobSubmission.setResourceJobManager(ResourceJobManager.PBS);
-//            Set<String> exports = new HashSet<String>();
-//            exports.add("export1");
-//            exports.add("export2");
-//            jobSubmission.setExports(exports);
-//            jobSubmission.setMonitorMode("testMonitormode");
-//            List<String> preJobCommands = new ArrayList<String>();
-//            preJobCommands.add("prejobcommand1");
-//            preJobCommands.add("prejobcommand2");
-//            jobSubmission.setPreJobCommands(preJobCommands);
-//            List<String> postJobCommands = new ArrayList<String>();
-//            postJobCommands.add("postjobcommand1");
-//            postJobCommands.add("postjobcommand2");
-//            jobSubmission.setPostJobCommands(postJobCommands);
-//            jobSubmission.setInstalledPath("installedPath");
-//            return appcatalog.getComputeResource().addGSISSHJobSubmission(jobSubmission);
-//        } catch (AppCatalogException e) {
-//            e.printStackTrace();
-//        }
-//        return null;
-//    }
-//
+
+            assertTrue("Compute resource save successfully", host != null);
+        } catch (AppCatalogException e) {
+            e.printStackTrace();
+        }
+    }
+
+    public String addSSHJobSubmission (){
+        try {
+            SSHJobSubmission jobSubmission = new SSHJobSubmission();
+            jobSubmission.setSshPort(22);
+            jobSubmission.setSecurityProtocol(SecurityProtocol.GSI);
+            ResourceJobManager jobManager = new ResourceJobManager();
+            jobManager.setResourceJobManagerType(ResourceJobManagerType.PBS);
+            jobManager.setPushMonitoringEndpoint("monitor ep");
+            jobManager.setJobManagerBinPath("/bin");
+            Map<JobManagerCommand, String> commands = new HashMap<JobManagerCommand, String>();
+            commands.put(JobManagerCommand.SUBMISSION, "Sub command");
+            commands.put(JobManagerCommand.SHOW_QUEUE, "show q command");
+            jobManager.setJobManagerCommands(commands);
+//            String jobManagerID = appcatalog.getComputeResource().addResourceJobManager(jobManager);
+//            jobManager.setResourceJobManagerId(jobManagerID);
+            jobSubmission.setResourceJobManager(jobManager);
+            return appcatalog.getComputeResource().addSSHJobSubmission(jobSubmission);
+        } catch (AppCatalogException e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
 //    public String addGlobusJobSubmission (){
 //        try {
 //            GlobusJobSubmission jobSubmission = new GlobusJobSubmission();
@@ -218,33 +239,33 @@ public class ComputeResourceTest {
 //        }
 //        return null;
 //    }
-//
-//    public String addSCPDataMovement (){
-//        try {
-//            SCPDataMovement dataMovement = new SCPDataMovement();
-//            dataMovement.setSshPort(22);
-//            dataMovement.setSecurityProtocol(SecurityProtocol.SSH_KEYS);
-//            return appcatalog.getComputeResource().addScpDataMovement(dataMovement);
-//        }catch (AppCatalogException e) {
-//            e.printStackTrace();
-//        }
-//        return null;
-//    }
-//
-//    public String addGridFTPDataMovement (){
-//        try {
-//            GridFTPDataMovement dataMovement = new GridFTPDataMovement();
-//            dataMovement.setSecurityProtocol(SecurityProtocol.SSH_KEYS);
-//            List<String> endPoints = new ArrayList<String>();
-//            endPoints.add("222.33.43.444");
-//            endPoints.add("23.344.44.454");
-//            dataMovement.setGridFTPEndPoint(endPoints);
-//            return appcatalog.getComputeResource().addGridFTPDataMovement(dataMovement);
-//        }catch (AppCatalogException e) {
-//            e.printStackTrace();
-//        }
-//        return null;
-//    }
+
+    public String addSCPDataMovement (){
+        try {
+            SCPDataMovement dataMovement = new SCPDataMovement();
+            dataMovement.setSshPort(22);
+            dataMovement.setSecurityProtocol(SecurityProtocol.SSH_KEYS);
+            return appcatalog.getComputeResource().addScpDataMovement(dataMovement);
+        }catch (AppCatalogException e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+    public String addGridFTPDataMovement (){
+        try {
+            GridFTPDataMovement dataMovement = new GridFTPDataMovement();
+            dataMovement.setSecurityProtocol(SecurityProtocol.SSH_KEYS);
+            List<String> endPoints = new ArrayList<String>();
+            endPoints.add("222.33.43.444");
+            endPoints.add("23.344.44.454");
+            dataMovement.setGridFTPEndPoints(endPoints);
+            return appcatalog.getComputeResource().addGridFTPDataMovement(dataMovement);
+        }catch (AppCatalogException e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
 
 
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/f5826458/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput.java
index 38bb0a1..07c80b5 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput.java
@@ -41,6 +41,7 @@ public class ApplicationInput implements Serializable {
     private String inputKeyType;
     @Column(name = "METADATA")
     private String metadata;
+    @Lob
     @Column(name = "VALUE")
     private String value;
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/f5826458/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput.java
index a4547b2..cb983e3 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput.java
@@ -41,6 +41,7 @@ public class ApplicationOutput implements Serializable {
     private String outputKeyType;
     @Column(name = "METADATA")
     private String metadata;
+    @Lob
     @Column(name = "VALUE")
     private String value;
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/f5826458/modules/registry/airavata-jpa-registry/src/main/resources/registry-derby.sql
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/resources/registry-derby.sql b/modules/registry/airavata-jpa-registry/src/main/resources/registry-derby.sql
index f7b530a..90ed6f9 100644
--- a/modules/registry/airavata-jpa-registry/src/main/resources/registry-derby.sql
+++ b/modules/registry/airavata-jpa-registry/src/main/resources/registry-derby.sql
@@ -162,7 +162,7 @@ CREATE TABLE EXPERIMENT_INPUT
         INPUT_KEY VARCHAR(255) NOT NULL,
         INPUT_TYPE VARCHAR(255),
         METADATA VARCHAR(255),
-        VALUE VARCHAR(255),
+        VALUE CLOB,
         PRIMARY KEY(EXPERIMENT_ID,INPUT_KEY),
         FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
 );
@@ -173,7 +173,7 @@ CREATE TABLE EXPERIMENT_OUTPUT
         OUTPUT_KEY VARCHAR(255) NOT NULL,
         OUTPUT_KEY_TYPE VARCHAR(255),
         METADATA VARCHAR(255),
-        VALUE VARCHAR(255),
+        VALUE CLOB,
         PRIMARY KEY(EXPERIMENT_ID,OUTPUT_KEY),
         FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
 );

http://git-wip-us.apache.org/repos/asf/airavata/blob/f5826458/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql b/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql
index f689540..7968ac3 100644
--- a/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql
+++ b/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql
@@ -162,7 +162,7 @@ CREATE TABLE EXPERIMENT_INPUT
         INPUT_KEY VARCHAR(255) NOT NULL,
         INPUT_TYPE VARCHAR(255),
         METADATA VARCHAR(255),
-        VALUE VARCHAR(255),
+        VALUE LONGTEXT,
         PRIMARY KEY(EXPERIMENT_ID,INPUT_KEY),
         FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
 );
@@ -173,7 +173,7 @@ CREATE TABLE EXPERIMENT_OUTPUT
         OUTPUT_KEY VARCHAR(255) NOT NULL,
         OUTPUT_KEY_TYPE VARCHAR(255),
         METADATA VARCHAR(255),
-        VALUE VARCHAR(255),
+        VALUE LONGTEXT,
         PRIMARY KEY(EXPERIMENT_ID,OUTPUT_KEY),
         FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
 );