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

[1/2] airavata git commit: Fixed AIRAVATA-1596

Repository: airavata
Updated Branches:
  refs/heads/master 4000b82c0 -> 10c5abfdb


Fixed AIRAVATA-1596

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

Branch: refs/heads/master
Commit: b746118e5cc06ac5698c9504f6a4b1c29bc802ca
Parents: 4000b82
Author: raminder <ra...@apache.org>
Authored: Tue Mar 10 23:28:07 2015 -0400
Committer: raminder <ra...@apache.org>
Committed: Tue Mar 10 23:28:07 2015 -0400

----------------------------------------------------------------------
 .../tools/RegisterSampleApplications.java       | 158 +++++++++++++++++--
 1 file changed, 143 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/b746118e/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
index 55dbcf8..58dafbb 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
@@ -55,6 +55,8 @@ public class RegisterSampleApplications {
     private static String trestlesResourceId = "trestles.sdsc.xsede.org_db29986e-5a27-4949-ae7f-04a6012d0d35";
     private static String bigredResourceId = "bigred2.uits.iu.edu_3eae6e9d-a1a7-44ec-ac85-3796ef726ef1";
     private static String lsfResourceId = "lsf_3eae6e9d-a1a7-44ec-ac85-3796ef726ef1";
+    private static String alamoResourceId;
+
 
     private static String fsdResourceId;
  // unicore service endpoint url
@@ -76,7 +78,8 @@ public class RegisterSampleApplications {
     private static final String gaussianName = "Gaussian";
     private static final String gamessName = "Gamess";
     private static final String stressMemName = "StressMem";
-
+    private static final String ultrascanName = "Ultrascan";
+   
     //Appplication Descriptions
     private static final String echoDescription = "A Simple Echo Application";
     private static final String amberDescription = "Assisted Model Building with Energy Refinement MD Package";
@@ -92,8 +95,8 @@ public class RegisterSampleApplications {
     private static final String monteXDescription = "Grid Chem Tinker Monte Application";
     private static final String gaussianDescription = "Grid Chem Gaussian Application";
     private static final String gamessDescription = "A Gamess Application";
-
-
+    private static final String ultrascanDescription = "Ultrascan Application";
+    
     //App Module Id's
     private static String echoModuleId;
     private static String amberModuleId;
@@ -124,6 +127,8 @@ public class RegisterSampleApplications {
     private static String wrfInterfaceId;
     private static String phastaInterfaceId;
     private static String gamessInterfaceId;
+    private static String ultrascanModuleId;
+    private static String ultrascanInterfaceId;
 
     public RegisterSampleApplications(Airavata.Client airavataClient) {
            this.airavataClient = airavataClient;
@@ -209,6 +214,12 @@ public class RegisterSampleApplications {
             fsdResourceId = registerUnicoreEndpoint("fsd-cloud15.zam.kfa-juelich.de", "interop host", JobSubmissionProtocol.UNICORE, SecurityProtocol.GSI);
             System.out.println("FSd Resource Id: "+fsdResourceId);
 
+            //Register Alamo
+            alamoResourceId = registerComputeHost("alamo.uthscsa.edu", "Alamo Cluster",
+                    ResourceJobManagerType.PBS, "push", "/usr/bin/", SecurityProtocol.SSH_KEYS, 22, "/usr/bin/mpiexec -np");
+            System.out.println("Alamo Cluster " + alamoResourceId);
+            
+
         } catch (TException e) {
             e.printStackTrace();
         }
@@ -335,6 +346,11 @@ public class RegisterSampleApplications {
                     RegisterSampleApplicationsUtils.createApplicationModule(
                             gamessName, "17May13", gamessDescription));
             System.out.println("Gamess Module Id " + gamessModuleId);
+            //Register Ultrascan
+            ultrascanModuleId = airavataClient.registerApplicationModule(DEFAULT_GATEWAY,
+                    RegisterSampleApplicationsUtils.createApplicationModule(
+                            ultrascanName, "1.0", ultrascanDescription));
+            System.out.println("Ultrascan Module Id " + ultrascanModuleId);
 
         } catch (TException e) {
             e.printStackTrace();
@@ -360,6 +376,9 @@ public class RegisterSampleApplications {
         registerFSDApps();
 
         registerLSFApps();
+        
+        //Registering Alamo Apps
+        registerAlamoApps();
 
     }
 
@@ -404,6 +423,9 @@ public class RegisterSampleApplications {
         registerTinkerMonteInterface();
 
         registerGaussianInterface();
+        
+        // Register Ultrascan
+        registerUltrascanInterface();
 
     }
 
@@ -432,7 +454,10 @@ public class RegisterSampleApplications {
                     "", DataType.URI, false, true));
             applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("f10_file",
                     "", DataType.URI, false, true));
-
+            applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("STDOUT",
+                    "", DataType.STDOUT, false, true));
+            applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("STDERR",
+                    "", DataType.STDERR, false, true));
 
             gamessInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("gamess", "gamess",
@@ -458,11 +483,14 @@ public class RegisterSampleApplications {
             List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
             applicationInputs.add(input1);
 
-            OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("echo_output",
-                    "", DataType.STRING, false, false);
+            OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",
+                    "", DataType.STDOUT, false, false);
+            OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",
+                    "", DataType.STDERR, false, false);
 
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
+            applicationOutputs.add(output2);
 
             echoLocalInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription(echoName, echoDescription,
@@ -531,11 +559,14 @@ public class RegisterSampleApplications {
             List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
             applicationInputs.add(input1);
             
-            OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("Sample_Output",
-                    "", DataType.STRING, false, false);
+            OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("STDOutput",
+                    "", DataType.STDOUT, true, true);
+            OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("STDErr",
+                    "", DataType.STDERR, true, true);
             
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
+            applicationOutputs.add(output2);
  
             
             mpiInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
@@ -609,17 +640,19 @@ public class RegisterSampleApplications {
 
             InputDataObjectType input3 = RegisterSampleApplicationsUtils.createAppInput("Parameter_Topology_File", null,
                     DataType.URI, null, 3,true, true, false, "Parameter and Topology coordinates", null);
-
+            
             List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
             applicationInputs.add(input1);
             applicationInputs.add(input2);
             applicationInputs.add(input3);
 
-            OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("Echoed_Output",
-                    "", DataType.STRING, true, true);
+            OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true);
+            OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true);
+          
 
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
+            applicationOutputs.add(output2);
 
             autoDockInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription(autoDockName, autoDockDescription,
@@ -723,9 +756,14 @@ public class RegisterSampleApplications {
             applicationInputs.add(input1);
 
             OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("LAMMPS_Simulation_Log",null,DataType.URI, true, true);
-
+            OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true);
+            OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true);
+       
+          
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
+            applicationOutputs.add(output2);
+            applicationOutputs.add(output3);
 
             lammpsInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription(lammpsName, lammpsDescription,
@@ -752,9 +790,14 @@ public class RegisterSampleApplications {
 
             OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("NWChem_Execution_Log",
                     null, DataType.URI, true, false);
+            OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true);
+            OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true);
+           
 
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
+            applicationOutputs.add(output2);
+            applicationOutputs.add(output3);
 
             nwChemInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription(nwChemName, nwChemDescription,
@@ -786,10 +829,14 @@ public class RegisterSampleApplications {
 
             OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("Trinity_Execution_Log",null,DataType.URI, true, true);
             OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("Trinity_FASTA_File",null,DataType.URI, true, true);
+            OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true);
+            OutputDataObjectType output4 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true);
 
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
             applicationOutputs.add(output2);
+            applicationOutputs.add(output3);
+            applicationOutputs.add(output4);
 
             trinityInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription(trinityName, trinityDescription,
@@ -828,11 +875,16 @@ public class RegisterSampleApplications {
 
             OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("WRF_Execution_Log",
                     "", DataType.URI, true, true);
+            OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true);
+            OutputDataObjectType output4 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true);
 
+            
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
             applicationOutputs.add(output2);
-
+            applicationOutputs.add(output3);
+            applicationOutputs.add(output4);
+            
             wrfInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription(wrfName, wrfDescription,
                             appModules, applicationInputs, applicationOutputs));
@@ -866,12 +918,18 @@ public class RegisterSampleApplications {
 
             OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("PHASTA_Execution_Log",null,DataType.URI, true, true);
             OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("PHASTA_Output_tar",null,DataType.URI, true, true);
+            OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true);
+            OutputDataObjectType output4 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true);
 
+            
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
             applicationOutputs.add(output2);
+            applicationOutputs.add(output3);
+            applicationOutputs.add(output4);
 
-            amberInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
+
+            phastaInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription(phastaName, phastaDescription,
                             appModules, applicationInputs, applicationOutputs));
             System.out.println("phasta Application Interface Id " + phastaInterfaceId);
@@ -911,10 +969,15 @@ public class RegisterSampleApplications {
 
             OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("gaussian.out",
                     "", DataType.URI, true, true );
+            OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true);
+            OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true);
+
 
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
-
+            applicationOutputs.add(output2);
+            applicationOutputs.add(output3);
+            
             String addApplicationInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("Gaussian", "Gaussian application",
                             appModules, applicationInputs, applicationOutputs));
@@ -958,9 +1021,14 @@ public class RegisterSampleApplications {
 
             OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("Diskoutputfile_with_dir",
                     "", DataType.URI, false, false);
+            OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",null,DataType.STDOUT, true, true);
+            OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",null,DataType.STDERR, true, true);
 
+            
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
+            applicationOutputs.add(output2);
+            applicationOutputs.add(output3);
 
             String addApplicationInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("Tinker_Monte", "Monte application",
@@ -1254,6 +1322,9 @@ public class RegisterSampleApplications {
             ComputeResourcePreference fsdResourcePreferences = RegisterSampleApplicationsUtils.
                     createComputeResourcePreference(fsdResourceId, null, false, null, JobSubmissionProtocol.UNICORE, DataMovementProtocol.UNICORE_STORAGE_SERVICE,null);
             
+            ComputeResourcePreference alamoResourcePreferences = RegisterSampleApplicationsUtils.
+                    createComputeResourcePreference(alamoResourceId, null, false, null, JobSubmissionProtocol.SSH, DataMovementProtocol.SCP,"/home/us3/work/uslims3_cauma3-03896");
+          
             GatewayResourceProfile gatewayResourceProfile = new GatewayResourceProfile();
             gatewayResourceProfile.setGatewayID(DEFAULT_GATEWAY);
             gatewayResourceProfile.addToComputeResourcePreferences(stampedeResourcePreferences);
@@ -1298,5 +1369,62 @@ public class RegisterSampleApplications {
             e.printStackTrace();
         }
     }
+    public void registerAlamoApps() {
+        try {
+            System.out.println("#### Registering Application Deployments on Alamo #### \n");
+
+            //Register Ultrascan on Alamo
+            List<String> ultrascanMouldes = new ArrayList<String>();
+            ultrascanMouldes.add("module load intel/2015/64");
+            ultrascanMouldes.add("module load openmpi/intel/1.8.4");
+            ultrascanMouldes.add("module load qt4/4.8.6");
+            ultrascanMouldes.add("module load ultrascan3/3.3");
+
+            String ultrascanAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
+                    RegisterSampleApplicationsUtils.createApplicationDeployment(ultrascanModuleId, alamoResourceId,
+                            "/home/us3/bin/us_mpi_analysis", ApplicationParallelismType.OPENMP, ultrascanDescription, ultrascanMouldes , null, null));
+            System.out.println("Ultrascan on alamo deployment Id " + ultrascanAppDeployId);
+
+        } catch (TException e) {
+            e.printStackTrace();
+        }
+    }
+    
+     private void registerUltrascanInterface() {
+        try {
+            System.out.println("#### Registering Ultrascan Application Interface ####");
+
+            List<String> appModules = new ArrayList<String>();
+            appModules.add(ultrascanModuleId);
+
+            InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("input", null,
+                    DataType.URI, null, 1, true, true,  false, "input file", null);
+
+            List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
+            applicationInputs.add(input1);
+
+            OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("output/analysis-results.tar",
+                    "", DataType.URI, true, true );
+
+            OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("STDOUT",
+                    "", DataType.STDOUT, true, true );
+
+            OutputDataObjectType output3 = RegisterSampleApplicationsUtils.createAppOutput("STDERR",
+                    "", DataType.STDERR, true, true );
+
+            List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
+            applicationOutputs.add(output1);
+            applicationOutputs.add(output2);
+            applicationOutputs.add(output3);
+
+            String ultrascanInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
+                    RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("Ultrascan", "Ultrascan application",
+                            appModules, applicationInputs, applicationOutputs));
+            System.out.println("Ultrascan Application Interface Id " + ultrascanInterfaceId);
+
+        } catch (TException e) {
+            e.printStackTrace();
+        }
+    }
 }
 


[2/2] airavata git commit: Fixed AIRAVATA-1597

Posted by ra...@apache.org.
Fixed AIRAVATA-1597

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

Branch: refs/heads/master
Commit: 10c5abfdb478c57ba77e0dacdc1b02bec5ff8ed6
Parents: b746118
Author: raminder <ra...@apache.org>
Authored: Tue Mar 10 23:28:34 2015 -0400
Committer: raminder <ra...@apache.org>
Committed: Tue Mar 10 23:28:34 2015 -0400

----------------------------------------------------------------------
 .../client/samples/CreateLaunchExperiment.java  | 569 +++++--------------
 1 file changed, 146 insertions(+), 423 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/10c5abfd/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
index 6110f53..bb914fa 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
@@ -293,36 +293,18 @@ public class CreateLaunchExperiment {
     
     public static String createEchoExperimentForFSD(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = new ArrayList<InputDataObjectType>();
-            InputDataObjectType input = new InputDataObjectType();
-            input.setName("Input_to_Echo");
-            input.setType(DataType.STRING);
-            input.setValue("Hello World");
-            
-            
-            InputDataObjectType i2 = new InputDataObjectType();
-            i2.setName("Input_to_Echo2");
-            i2.setType(DataType.URI);
-            i2.setValue("http://www.textfiles.com/100/ad.txt");
-            
-            InputDataObjectType i3 = new InputDataObjectType();
-            i3.setName("Input_to_Echo3");
-            i3.setType(DataType.URI);
-            i3.setValue("file:///tmp/test.txt");
-            
-            exInputs.add(input);
-            exInputs.add(i2);
-            exInputs.add(i3);
+        	List<InputDataObjectType> exInputs = client.getApplicationInputs(echoAppId);
+            for (InputDataObjectType inputDataObjectType : exInputs) {
+            	if (inputDataObjectType.getName().equalsIgnoreCase("Input_to_Echo")) {
+                      inputDataObjectType.setValue("Hello World");
+                 }else if (inputDataObjectType.getName().equalsIgnoreCase("Input_to_Echo2")) {
+                    inputDataObjectType.setValue("http://www.textfiles.com/100/ad.txt");
+                }else if (inputDataObjectType.getName().equalsIgnoreCase("Input_to_Echo3")) {
+                    inputDataObjectType.setValue("file:///tmp/test.txt");
+                 }
+            }
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(echoAppId);
 
-            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
-            
-            OutputDataObjectType output = new OutputDataObjectType();
-            output.setName("Echoed_Output");
-            output.setType(DataType.STRING);
-            output.setValue("test.txt");
-            exOut.add(output);
-            
-            
             Experiment simpleExperiment = 
                     ExperimentModelUtil.createSimpleExperiment("default", "admin", "echoExperiment", "SimpleEcho2", echoAppId, exInputs);
             simpleExperiment.setExperimentOutputs(exOut);
@@ -369,24 +351,18 @@ public class CreateLaunchExperiment {
     
     public static String createMPIExperimentForFSD(Airavata.Client client) throws TException {
         try {
-           
-        	List<InputDataObjectType> exInputs = new ArrayList<InputDataObjectType>();
-            InputDataObjectType input = new InputDataObjectType();
-            input.setName("Sample_Input");
-            input.setType(DataType.STRING);
-            input.setValue("");
-        	exInputs.add(input);
-            
-            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
-            OutputDataObjectType output = new OutputDataObjectType();
-            output.setName("Sample_Output");
-            output.setType(DataType.STRING);
-            output.setValue("");
-            exOut.add(output);
-            
+        	List<InputDataObjectType> exInputs = client.getApplicationInputs(mpiAppId);
+            for (InputDataObjectType inputDataObjectType : exInputs) {
+            	if (inputDataObjectType.getName().equalsIgnoreCase("Sample_Input")) {
+                      inputDataObjectType.setValue("");
+                 }
+            }
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(mpiAppId);
+
+        	  
             Experiment simpleExperiment = 
                     ExperimentModelUtil.createSimpleExperiment("default", "admin", "mpiExperiment", "HelloMPI", mpiAppId, null);
-//          simpleExperiment.setExperimentOutputs(exOut);
+          simpleExperiment.setExperimentOutputs(exOut);
             
             
             
@@ -432,43 +408,10 @@ public class CreateLaunchExperiment {
     
     public static String createExperimentWRFStampede(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = new ArrayList<InputDataObjectType>();
-            InputDataObjectType input = new InputDataObjectType();
-            input.setName("Config_Namelist_File");
-            input.setType(DataType.URI);
-            input.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/WRF_FILES/namelist.input");
-
-            InputDataObjectType input1 = new InputDataObjectType();
-            input1.setName("WRF_Initial_Conditions");
-            input1.setType(DataType.URI);
-            input1.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/WRF_FILES/wrfinput_d01");
-
-            InputDataObjectType input2 = new InputDataObjectType();
-            input2.setName("WRF_Boundary_File");
-            input2.setType(DataType.URI);
-            input2.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/WRF_FILES/wrfbdy_d01");
-
-            exInputs.add(input);
-            exInputs.add(input1);
-            exInputs.add(input2);
-
-
-            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
-            OutputDataObjectType output = new OutputDataObjectType();
-            output.setName("WRF_Output");
-            output.setType(DataType.URI);
-            output.setValue("");
-
-            OutputDataObjectType output1 = new OutputDataObjectType();
-            output1.setName("WRF_Execution_Log");
-            output1.setType(DataType.URI);
-            output1.setValue("");
-
-
-            exOut.add(output);
-            exOut.add(output1);
-
-
+        	List<InputDataObjectType> exInputs = client.getApplicationInputs(wrfAppId);
+            setWRFInputs(exInputs);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(wrfAppId);
+       
             Experiment simpleExperiment =
                     ExperimentModelUtil.createSimpleExperiment("default", "admin", "WRFExperiment", "Testing", wrfAppId, exInputs);
             simpleExperiment.setExperimentOutputs(exOut);
@@ -505,57 +448,26 @@ public class CreateLaunchExperiment {
     }
 
 
-    public static String createExperimentGROMACSStampede(Airavata.Client client) throws TException {
-        try {
-            List<InputDataObjectType> exInputs = new ArrayList<InputDataObjectType>();
-            InputDataObjectType input = new InputDataObjectType();
-            input.setName("GROMOS_Coordinate_File");
-            input.setType(DataType.URI);
-            input.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/GROMMACS_FILES/pdb1y6l-EM-vacuum.gro");
-
-            InputDataObjectType input1 = new InputDataObjectType();
-            input1.setName("Portable_Input_Binary_File");
-            input1.setType(DataType.URI);
-            input1.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/GROMMACS_FILES/pdb1y6l-EM-vacuum.tpr");
-
-            exInputs.add(input);
-            exInputs.add(input1);
-
-
-            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
-            OutputDataObjectType output = new OutputDataObjectType();
-            output.setName("pdb1y6l-EM-vacuum.tpr.trr");
-            output.setType(DataType.URI);
-            output.setValue("");
-
-            OutputDataObjectType output1 = new OutputDataObjectType();
-            output1.setName("pdb1y6l-EM-vacuum.tpr.edr");
-            output1.setType(DataType.URI);
-            output1.setValue("");
-
-            OutputDataObjectType output2 = new OutputDataObjectType();
-            output2.setName("pdb1y6l-EM-vacuum.tpr.log");
-            output2.setType(DataType.URI);
-            output2.setValue("");
-
-            OutputDataObjectType output3 = new OutputDataObjectType();
-            output3.setName("pdb1y6l-EM-vacuum.gro");
-            output3.setType(DataType.URI);
-            output3.setValue("");
-
-            OutputDataObjectType output4 = new OutputDataObjectType();
-            output4.setName("GROMACS.oJobID");
-            output4.setType(DataType.URI);
-            output4.setValue("");
-
-
-            exOut.add(output);
-            exOut.add(output1);
-            exOut.add(output2);
-            exOut.add(output3);
-            exOut.add(output4);
+	private static void setWRFInputs(List<InputDataObjectType> exInputs) {
+		for (InputDataObjectType inputDataObjectType : exInputs) {
+			if (inputDataObjectType.getName().equalsIgnoreCase("Config_Namelist_File")) {
+		          inputDataObjectType.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/WRF_FILES/namelist.input");
+		     }else if (inputDataObjectType.getName().equalsIgnoreCase("WRF_Initial_Conditions")) {
+		        inputDataObjectType.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/WRF_FILES/wrfinput_d01");
+		    }else if (inputDataObjectType.getName().equalsIgnoreCase("WRF_Boundary_File")) {
+		        inputDataObjectType.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/WRF_FILES/wrfbdy_d01");
+		     }
+		}
+	}
 
 
+    public static String createExperimentGROMACSStampede(Airavata.Client client) throws TException {
+        try {
+        	
+        	List<InputDataObjectType> exInputs = client.getApplicationInputs(gromacsAppId);
+        	setGROMACSInputs(exInputs);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(gromacsAppId);
+       
             Experiment simpleExperiment =
                     ExperimentModelUtil.createSimpleExperiment("default", "admin", "GromacsExperiment", "Testing", gromacsAppId, exInputs);
             simpleExperiment.setExperimentOutputs(exOut);
@@ -591,69 +503,21 @@ public class CreateLaunchExperiment {
         return null;
     }
 
+    private static void setGROMACSInputs(List<InputDataObjectType> exInputs) {
+    		for (InputDataObjectType inputDataObjectType : exInputs) {
+			if (inputDataObjectType.getName().equalsIgnoreCase("GROMOS_Coordinate_File")) {
+		          inputDataObjectType.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/GROMMACS_FILES/pdb1y6l-EM-vacuum.gro");
+		     }else if (inputDataObjectType.getName().equalsIgnoreCase("Portable_Input_Binary_File")) {
+		        inputDataObjectType.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/GROMMACS_FILES/pdb1y6l-EM-vacuum.tpr");
+		    }
+		}
+	}
     public static String createExperimentESPRESSOStampede(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = new ArrayList<InputDataObjectType>();
-            InputDataObjectType input = new InputDataObjectType();
-            input.setName("AI_Pseudopotential_File");
-            input.setType(DataType.URI);
-            input.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/ESPRESSO_FILES/Al.sample.in");
-
-            InputDataObjectType input1 = new InputDataObjectType();
-            input1.setName("AI_Primitive_Cell");
-            input1.setType(DataType.URI);
-            input1.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/ESPRESSO_FILES/Al.pz-vbc.UPF");
-
-            exInputs.add(input);
-            exInputs.add(input1);
-
-
-            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
-            OutputDataObjectType output = new OutputDataObjectType();
-            output.setName("ESPRESSO_Execution_Log");
-            output.setType(DataType.URI);
-            output.setValue("");
-
-            OutputDataObjectType output1 = new OutputDataObjectType();
-            output1.setName("ESPRESSO_WFC_Binary_file");
-            output1.setType(DataType.URI);
-            output1.setValue("");
-
-            OutputDataObjectType output2 = new OutputDataObjectType();
-            output2.setName("Al_exc3.wfc1");
-            output2.setType(DataType.URI);
-            output2.setValue("");
-
-            OutputDataObjectType output3 = new OutputDataObjectType();
-            output3.setName("Al_exc3.wfc2");
-            output3.setType(DataType.URI);
-            output3.setValue("");
-
-            OutputDataObjectType output4 = new OutputDataObjectType();
-            output4.setName("Al_exc3.wfc3");
-            output4.setType(DataType.URI);
-            output4.setValue("");
-
-            OutputDataObjectType output5 = new OutputDataObjectType();
-            output5.setName("Al_exc3.wfc4");
-            output5.setType(DataType.URI);
-            output5.setValue("");
-
-            OutputDataObjectType output6 = new OutputDataObjectType();
-            output6.setName("ESPRESSO.oJobID");
-            output6.setType(DataType.URI);
-            output6.setValue("");
-
-
-            exOut.add(output);
-            exOut.add(output1);
-            exOut.add(output2);
-            exOut.add(output3);
-            exOut.add(output4);
-            exOut.add(output5);
-            exOut.add(output6);
-
-
+         	List<InputDataObjectType> exInputs = client.getApplicationInputs(espressoAppId);
+        	setESPRESSOInputs(exInputs);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(espressoAppId);
+        
             Experiment simpleExperiment =
                     ExperimentModelUtil.createSimpleExperiment("default", "admin", "EspressoExperiment", "Testing", espressoAppId, exInputs);
             simpleExperiment.setExperimentOutputs(exOut);
@@ -688,45 +552,22 @@ public class CreateLaunchExperiment {
         }
         return null;
     }
+    private static void setESPRESSOInputs(List<InputDataObjectType> exInputs) {
+    	for (InputDataObjectType inputDataObjectType : exInputs) {
+		if (inputDataObjectType.getName().equalsIgnoreCase("AI_Pseudopotential_File")) {
+	          inputDataObjectType.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/ESPRESSO_FILES/Al.sample.in");
+	     }else if (inputDataObjectType.getName().equalsIgnoreCase("AI_Primitive_Cell")) {
+	        inputDataObjectType.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/ESPRESSO_FILES/Al.pz-vbc.UPF");
+	    }
+	}
+}
 
     public static String createExperimentTRINITYStampede(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = new ArrayList<InputDataObjectType>();
-            InputDataObjectType input = new InputDataObjectType();
-            input.setName("RNA_Seq_Left_Input");
-            input.setType(DataType.URI);
-            input.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/TRINITY_FILES/reads.left.fq");
-
-            InputDataObjectType input1 = new InputDataObjectType();
-            input1.setName("RNA_Seq_Right_Input");
-            input1.setType(DataType.URI);
-            input1.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/TRINITY_FILES/reads.right.fq");
-
-            exInputs.add(input);
-            exInputs.add(input1);
-
-
-            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
-            OutputDataObjectType output = new OutputDataObjectType();
-            output.setName("Trinity_Execution_Log");
-            output.setType(DataType.URI);
-            output.setValue("");
-
-            OutputDataObjectType output1 = new OutputDataObjectType();
-            output1.setName("Trinity_FASTA_File");
-            output1.setType(DataType.URI);
-            output1.setValue("");
-
-            OutputDataObjectType output2 = new OutputDataObjectType();
-            output2.setName("Trinity.oJobID");
-            output2.setType(DataType.URI);
-            output2.setValue("");
-
-
-            exOut.add(output);
-            exOut.add(output1);
-            exOut.add(output2);
-
+        	List<InputDataObjectType> exInputs = client.getApplicationInputs(trinityAppId);
+        	setTRINITYInputs(exInputs);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(trinityAppId);
+            
             Experiment simpleExperiment =
                     ExperimentModelUtil.createSimpleExperiment("default", "admin", "TrinityExperiment", "Testing", trinityAppId, exInputs);
             simpleExperiment.setExperimentOutputs(exOut);
@@ -761,31 +602,21 @@ public class CreateLaunchExperiment {
         }
         return null;
     }
-
+    private static void setTRINITYInputs(List<InputDataObjectType> exInputs) {
+    	for (InputDataObjectType inputDataObjectType : exInputs) {
+    		if (inputDataObjectType.getName().equalsIgnoreCase("RNA_Seq_Left_Input")) {
+	          inputDataObjectType.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/TRINITY_FILES/reads.left.fq");
+    		}else if (inputDataObjectType.getName().equalsIgnoreCase("RNA_Seq_Right_Input")) {
+	        inputDataObjectType.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/TRINITY_FILES/reads.right.fq");
+    		}
+    	}
+    }
     public static String createExperimentLAMMPSStampede(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = new ArrayList<InputDataObjectType>();
-            InputDataObjectType input = new InputDataObjectType();
-            input.setName("Friction_Simulation_Input");
-            input.setType(DataType.URI);
-            input.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/LAMMPS_FILES/in.friction");
-
-            exInputs.add(input);
-
-            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
-            OutputDataObjectType output = new OutputDataObjectType();
-            output.setName("LAMMPS_Simulation_Log");
-            output.setType(DataType.URI);
-            output.setValue("");
-
-            OutputDataObjectType output1 = new OutputDataObjectType();
-            output1.setName("LAMMPS.oJobID");
-            output1.setType(DataType.URI);
-            output1.setValue("");
-
-            exOut.add(output);
-            exOut.add(output1);
-
+         	List<InputDataObjectType> exInputs = client.getApplicationInputs(lammpsAppId);
+        	setLAMMPSInputs(exInputs);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(lammpsAppId);
+            
             Experiment simpleExperiment =
                     ExperimentModelUtil.createSimpleExperiment("default", "admin", "LAMMPSExperiment", "Testing", lammpsAppId, exInputs);
             simpleExperiment.setExperimentOutputs(exOut);
@@ -820,24 +651,18 @@ public class CreateLaunchExperiment {
         }
         return null;
     }
-
+    private static void setLAMMPSInputs(List<InputDataObjectType> exInputs) {
+    	for (InputDataObjectType inputDataObjectType : exInputs) {
+    		if (inputDataObjectType.getName().equalsIgnoreCase("Friction_Simulation_Input")) {
+	          inputDataObjectType.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/LAMMPS_FILES/in.friction");
+    		}
+    	}
+    }
     public static String createExperimentNWCHEMStampede(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = new ArrayList<InputDataObjectType>();
-            InputDataObjectType input = new InputDataObjectType();
-            input.setName("Water_Molecule_Input");
-            input.setType(DataType.URI);
-            input.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/NWCHEM_FILES/water.nw");
-
-            exInputs.add(input);
-
-            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
-            OutputDataObjectType output = new OutputDataObjectType();
-            output.setName("NWChem_Execution_Log");
-            output.setType(DataType.URI);
-            output.setValue("");
-
-            exOut.add(output);
+         	List<InputDataObjectType> exInputs = client.getApplicationInputs(nwchemAppId);
+        	setNWCHEMInputs(exInputs);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(nwchemAppId);
 
             Experiment simpleExperiment =
                     ExperimentModelUtil.createSimpleExperiment("default", "admin", "NWchemExperiment", "Testing", nwchemAppId, exInputs);
@@ -873,96 +698,18 @@ public class CreateLaunchExperiment {
         }
         return null;
     }
+    private static void setNWCHEMInputs(List<InputDataObjectType> exInputs) {
+    	for (InputDataObjectType inputDataObjectType : exInputs) {
+    		if (inputDataObjectType.getName().equalsIgnoreCase("Water_Molecule_Input")) {
+	          inputDataObjectType.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/NWCHEM_FILES/water.nw");
+    		}
+    	}
+    }
     public static String createExperimentAUTODOCKStampede(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = new ArrayList<InputDataObjectType>();
-            InputDataObjectType input = new InputDataObjectType();
-            input.setName("AD4_parameters.dat");
-            input.setType(DataType.URI);
-            input.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/AUTODOCK_FILES/AD4_parameters.dat");
-
-            InputDataObjectType input1 = new InputDataObjectType();
-            input1.setName("hsg1.A.map");
-            input1.setType(DataType.URI);
-            input1.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/AUTODOCK_FILES/hsg1.A.map");
-
-            InputDataObjectType input2 = new InputDataObjectType();
-            input2.setName("hsg1.C.map");
-            input2.setType(DataType.URI);
-            input2.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/AUTODOCK_FILES/hsg1.C.map");
-
-            InputDataObjectType input3 = new InputDataObjectType();
-            input3.setName("hsg1.d.map");
-            input3.setType(DataType.URI);
-            input3.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/AUTODOCK_FILES/hsg1.d.map");
-
-            InputDataObjectType input4 = new InputDataObjectType();
-            input4.setName("hsg1.e.map");
-            input4.setType(DataType.URI);
-            input4.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/AUTODOCK_FILES/hsg1.e.map");
-
-            InputDataObjectType input5 = new InputDataObjectType();
-            input5.setName("hsg1.HD.map");
-            input5.setType(DataType.URI);
-            input5.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/AUTODOCK_FILES/hsg1.HD.map");
-
-            InputDataObjectType input6 = new InputDataObjectType();
-            input6.setName("hsg1.maps.fld");
-            input6.setType(DataType.URI);
-            input6.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/AUTODOCK_FILES/hsg1.maps.fld");
-
-            InputDataObjectType input7 = new InputDataObjectType();
-            input7.setName("hsg1.NA.map");
-            input7.setType(DataType.URI);
-            input7.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/AUTODOCK_FILES/hsg1.NA.map");
-
-            InputDataObjectType input8 = new InputDataObjectType();
-            input8.setName("hsg1.N.map");
-            input8.setType(DataType.URI);
-            input8.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/AUTODOCK_FILES/hsg1.N.map");
-
-            InputDataObjectType input9 = new InputDataObjectType();
-            input9.setName("hsg1.OA.map");
-            input9.setType(DataType.URI);
-            input9.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/AUTODOCK_FILES/hsg1.OA.map");
-
-            InputDataObjectType input10 = new InputDataObjectType();
-            input10.setName("ind.dpf");
-            input10.setType(DataType.URI);
-            input10.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/AUTODOCK_FILES/ind.dpf");
-
-            InputDataObjectType input11 = new InputDataObjectType();
-            input11.setName("ind.pdbqt");
-            input11.setType(DataType.URI);
-            input11.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/AUTODOCK_FILES/ind.pdbqt");
-
-
-            exInputs.add(input);
-            exInputs.add(input1);
-            exInputs.add(input2);
-            exInputs.add(input3);
-            exInputs.add(input4);
-            exInputs.add(input5);
-            exInputs.add(input6);
-            exInputs.add(input7);
-            exInputs.add(input8);
-            exInputs.add(input9);
-            exInputs.add(input10);
-            exInputs.add(input11);
-
-            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
-            OutputDataObjectType output = new OutputDataObjectType();
-            output.setName("ind.dlg");
-            output.setType(DataType.URI);
-            output.setValue("");
-
-            OutputDataObjectType output1 = new OutputDataObjectType();
-            output1.setName("Autodock.oJobID");
-            output1.setType(DataType.URI);
-            output1.setValue("");
-
-            exOut.add(output);
-            exOut.add(output1);
+        	List<InputDataObjectType> exInputs = client.getApplicationInputs(nwchemAppId);
+        	setAUTODOCKInputs(exInputs);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(nwchemAppId);
 
             Experiment simpleExperiment =
                     ExperimentModelUtil.createSimpleExperiment("default", "admin", "AutoDockExperiment", "Testing", autodockAppId, exInputs);
@@ -998,47 +745,43 @@ public class CreateLaunchExperiment {
         }
         return null;
     }
-
+    private static void setAUTODOCKInputs(List<InputDataObjectType> exInputs) {
+
+    	for (InputDataObjectType inputDataObjectType : exInputs) {
+			if (inputDataObjectType.getName().equalsIgnoreCase("AD4_parameters.dat")) {
+				inputDataObjectType.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/AUTODOCK_FILES/AD4_parameters.dat");
+			} else if (inputDataObjectType.getName().equalsIgnoreCase("hsg1.A.map")) {
+				inputDataObjectType.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/AUTODOCK_FILES/hsg1.A.map");
+			} else if (inputDataObjectType.getName().equalsIgnoreCase("hsg1.C.map")) {
+				inputDataObjectType.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/AUTODOCK_FILES/hsg1.C.map");
+			} else if (inputDataObjectType.getName().equalsIgnoreCase("hsg1.d.map")) {
+				inputDataObjectType.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/AUTODOCK_FILES/hsg1.d.map");
+			} else if (inputDataObjectType.getName().equalsIgnoreCase("hsg1.e.map")) {
+				inputDataObjectType.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/AUTODOCK_FILES/hsg1.e.map");
+			} else if (inputDataObjectType.getName().equalsIgnoreCase("hsg1.HD.map")) {
+				inputDataObjectType.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/AUTODOCK_FILES/hsg1.HD.map");
+			} else if (inputDataObjectType.getName().equalsIgnoreCase("hsg1.maps.fld")) {
+				inputDataObjectType.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/AUTODOCK_FILES/hsg1.maps.fld");
+			} else if (inputDataObjectType.getName().equalsIgnoreCase("hsg1.NA.map")) {
+				inputDataObjectType.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/AUTODOCK_FILES/hsg1.NA.map");
+			} else if (inputDataObjectType.getName().equalsIgnoreCase("hsg1.N.map")) {
+				inputDataObjectType.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/AUTODOCK_FILES/hsg1.N.map");
+			} else if (inputDataObjectType.getName().equalsIgnoreCase("hsg1.OA.map")) {
+				inputDataObjectType.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/AUTODOCK_FILES/hsg1.OA.map");
+			} else if (inputDataObjectType.getName().equalsIgnoreCase("ind.dpf")) {
+				inputDataObjectType.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/AUTODOCK_FILES/ind.dpf");
+			} else if (inputDataObjectType.getName().equalsIgnoreCase("ind.pdbqt")) {
+				inputDataObjectType.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/AUTODOCK_FILES/ind.pdbqt");
+			}
+		}
+    }
     public static String createExperimentWRFTrestles(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = new ArrayList<InputDataObjectType>();
-            InputDataObjectType input = new InputDataObjectType();
-            input.setName("WRF_Namelist");
-            input.setType(DataType.URI);
-            input.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/WRF_FILES/namelist.input");
-
-            InputDataObjectType input1 = new InputDataObjectType();
-            input1.setName("WRF_Input_File");
-            input1.setType(DataType.URI);
-            input1.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/WRF_FILES/wrfinput_d01");
-
-            InputDataObjectType input2 = new InputDataObjectType();
-            input2.setName("WRF_Boundary_File");
-            input2.setType(DataType.URI);
-            input2.setValue("/Users/shameera/Downloads/PHP-Gateway-Scripts/appScripts/WRF_FILES/wrfbdy_d01");
-
-            exInputs.add(input);
-            exInputs.add(input1);
-            exInputs.add(input2);
-
-
-            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
-            OutputDataObjectType output = new OutputDataObjectType();
-            output.setName("WRF_Output");
-            output.setType(DataType.URI);
-            output.setValue("");
-
-            OutputDataObjectType output1 = new OutputDataObjectType();
-            output1.setName("WRF_Execution_Log");
-            output1.setType(DataType.URI);
-            output1.setValue("");
-
-
-            exOut.add(output);
-            exOut.add(output1);
-
-
-            Experiment simpleExperiment =
+        	List<InputDataObjectType> exInputs = client.getApplicationInputs(wrfAppId);
+            setWRFInputs(exInputs);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(wrfAppId);
+       
+                    Experiment simpleExperiment =
                     ExperimentModelUtil.createSimpleExperiment("default", "admin", "WRFExperiment", "Testing", wrfAppId, exInputs);
             simpleExperiment.setExperimentOutputs(exOut);
 
@@ -1315,19 +1058,14 @@ public class CreateLaunchExperiment {
 
     public static String createExperimentForBR2(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = new ArrayList<InputDataObjectType>();
-            InputDataObjectType input = new InputDataObjectType();
-            input.setName("Input_to_Echo");
-            input.setType(DataType.STRING);
-            input.setValue("Echoed_Output=Hello World");
-            exInputs.add(input);
+        	  List<InputDataObjectType> exInputs = client.getApplicationInputs(echoAppId);
+              for (InputDataObjectType inputDataObjectType : exInputs) {
+  				if (inputDataObjectType.getName().equalsIgnoreCase("Input_to_Echo")) {
+  					inputDataObjectType.setValue("Hello World");
+  				} 
+  			}
+  			List<OutputDataObjectType> exOut = client.getApplicationOutputs(echoAppId);
 
-            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
-            OutputDataObjectType output = new OutputDataObjectType();
-            output.setName("Echoed_Output");
-            output.setType(DataType.STRING);
-            output.setValue("");
-            exOut.add(output);
 
             Project project = ProjectModelUtil.createProject("default", "lahiru", "test project");
             String projectId = client.createProject(DEFAULT_GATEWAY, project);
@@ -1374,24 +1112,9 @@ public class CreateLaunchExperiment {
             for (InputDataObjectType inputDataObjectType : exInputs) {
                 inputDataObjectType.setValue("Hello World");
             }
-            /*List<InputDataObjectType> exInputs = new ArrayList<InputDataObjectType>();
-            InputDataObjectType input = new InputDataObjectType();
-            input.setName("Input_to_Echo");
-            input.setType(DataType.STRING);
-            input.setValue("Echoed_Output=Hello World");
-            input.setRequiredToAddedToCommandLine(true);
-            exInputs.add(input);*/
-
+        
             List<OutputDataObjectType> exOut = client.getApplicationOutputs(echoAppId);
-            /*
-            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
-            OutputDataObjectType output = new OutputDataObjectType();
-            output.setName("output_file");
-            output.setType(DataType.URI);
-            output.setValue("");
-
-            exOut.add(output);*/
-
+          
             Project project = ProjectModelUtil.createProject("default", "lg11w", "test project");
             String projectId = client.createProject(DEFAULT_GATEWAY, project);