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/11/11 21:12:43 UTC

[39/50] [abbrv] airavata git commit: Gfac - Removed AcutalParameter objects and replace Input and Output DataObjectTypes

Gfac - Removed AcutalParameter objects and replace Input and Output DataObjectTypes


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

Branch: refs/heads/master
Commit: b52499eb72b438718f32d1b6653c40d4de8ced9f
Parents: 088e80f
Author: shamrath <sh...@gmail.com>
Authored: Thu Nov 6 17:39:59 2014 -0500
Committer: shamrath <sh...@gmail.com>
Committed: Thu Nov 6 17:39:59 2014 -0500

----------------------------------------------------------------------
 .../client/samples/CreateLaunchExperiment.java  |  231 ++--
 .../samples/CreateLaunchExperimentUS3.java      |  139 +--
 .../airavata/gfac/core/cpi/BetterGfacImpl.java  |   10 +-
 .../handler/AbstractRecoverableHandler.java     |    4 +-
 .../airavata/gfac/core/utils/GFacUtils.java     | 1017 +++++++++---------
 .../airavata/gfac/core/utils/OutputUtils.java   |   72 +-
 .../gfac/gram/handler/GridFTPOutputHandler.java |    3 +-
 .../gfac/gsissh/handler/GSISSHInputHandler.java |    8 +-
 .../gsissh/handler/GSISSHOutputHandler.java     |   71 +-
 .../gfac/local/provider/impl/LocalProvider.java |    6 +-
 .../ssh/handler/AdvancedSCPOutputHandler.java   |   13 +-
 .../gfac/ssh/handler/SSHOutputHandler.java      |   64 +-
 12 files changed, 831 insertions(+), 807 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/b52499eb/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 daaf4cc..d6c0f80 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
@@ -25,6 +25,9 @@ import org.apache.airavata.api.Airavata;
 import org.apache.airavata.api.client.AiravataClientFactory;
 import org.apache.airavata.client.tools.RegisterSampleApplications;
 import org.apache.airavata.client.tools.RegisterSampleApplicationsUtils;
+import org.apache.airavata.model.appcatalog.appinterface.DataType;
+import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
+import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
 import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
 import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionInterface;
 import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol;
@@ -152,16 +155,16 @@ public class CreateLaunchExperiment {
     
     public static String createEchoExperimentForTrestles(Airavata.Client client) throws TException {
         try {
-            List<DataObjectType> exInputs = new ArrayList<DataObjectType>();
-            DataObjectType input = new DataObjectType();
-            input.setKey("Input_to_Echo");
+            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<DataObjectType> exOut = new ArrayList<DataObjectType>();
-            DataObjectType output = new DataObjectType();
-            output.setKey("echo_output");
+            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
+            OutputDataObjectType output = new OutputDataObjectType();
+            output.setName("echo_output");
             output.setType(DataType.STRING);
             output.setValue("");
             exOut.add(output);
@@ -204,16 +207,16 @@ public class CreateLaunchExperiment {
     
     public static String createEchoExperimentForFSD(Airavata.Client client) throws TException {
         try {
-            List<DataObjectType> exInputs = new ArrayList<DataObjectType>();
-            DataObjectType input = new DataObjectType();
-            input.setKey("Input_to_Echo");
+            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<DataObjectType> exOut = new ArrayList<DataObjectType>();
-            DataObjectType output = new DataObjectType();
-            output.setKey("echo_output");
+            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
+            OutputDataObjectType output = new OutputDataObjectType();
+            output.setName("echo_output");
             output.setType(DataType.STRING);
             output.setValue("");
             exOut.add(output);
@@ -261,19 +264,19 @@ public class CreateLaunchExperiment {
     
     public static String createExperimentWRFStampede(Airavata.Client client) throws TException {
         try {
-            List<DataObjectType> exInputs = new ArrayList<DataObjectType>();
-            DataObjectType input = new DataObjectType();
-            input.setKey("Config_Namelist_File");
+            List<InputDataObjectType> exInputs = new ArrayList<InputDataObjectType>();
+            InputDataObjectType input = new InputDataObjectType();
+            input.setName("Config_Namelist_File");
             input.setType(DataType.URI);
             input.setValue("/Users/lahirugunathilake/Downloads/wrf_sample_inputs/namelist.input");
 
-            DataObjectType input1 = new DataObjectType();
-            input1.setKey("WRF_Initial_Conditions");
+            InputDataObjectType input1 = new InputDataObjectType();
+            input1.setName("WRF_Initial_Conditions");
             input1.setType(DataType.URI);
             input1.setValue("/Users/lahirugunathilake/Downloads/wrf_sample_inputs/wrfinput_d01");
 
-            DataObjectType input2 = new DataObjectType();
-            input2.setKey("WRF_Boundary_File");
+            InputDataObjectType input2 = new InputDataObjectType();
+            input2.setName("WRF_Boundary_File");
             input2.setType(DataType.URI);
             input2.setValue("/Users/lahirugunathilake/Downloads/wrf_sample_inputs/wrfbdy_d01");
 
@@ -282,14 +285,14 @@ public class CreateLaunchExperiment {
             exInputs.add(input2);
 
 
-            List<DataObjectType> exOut = new ArrayList<DataObjectType>();
-            DataObjectType output = new DataObjectType();
-            output.setKey("WRF_Output");
+            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
+            OutputDataObjectType output = new OutputDataObjectType();
+            output.setName("WRF_Output");
             output.setType(DataType.URI);
             output.setValue("");
 
-            DataObjectType output1 = new DataObjectType();
-            output1.setKey("WRF_Execution_Log");
+            OutputDataObjectType output1 = new OutputDataObjectType();
+            output1.setName("WRF_Execution_Log");
             output1.setType(DataType.URI);
             output1.setValue("");
 
@@ -335,19 +338,19 @@ public class CreateLaunchExperiment {
 
     public static String createExperimentWRFTrestles(Airavata.Client client) throws TException {
         try {
-            List<DataObjectType> exInputs = new ArrayList<DataObjectType>();
-            DataObjectType input = new DataObjectType();
-            input.setKey("WRF_Namelist");
+            List<InputDataObjectType> exInputs = new ArrayList<InputDataObjectType>();
+            InputDataObjectType input = new InputDataObjectType();
+            input.setName("WRF_Namelist");
             input.setType(DataType.URI);
             input.setValue("/Users/chathuri/Downloads/wrf_sample_inputs/namelist.input");
 
-            DataObjectType input1 = new DataObjectType();
-            input1.setKey("WRF_Input_File");
+            InputDataObjectType input1 = new InputDataObjectType();
+            input1.setName("WRF_Input_File");
             input1.setType(DataType.URI);
             input1.setValue("/Users/chathuri/Downloads/wrf_sample_inputs/wrfinput_d01");
 
-            DataObjectType input2 = new DataObjectType();
-            input2.setKey("WRF_Boundary_File");
+            InputDataObjectType input2 = new InputDataObjectType();
+            input2.setName("WRF_Boundary_File");
             input2.setType(DataType.URI);
             input2.setValue("/Users/chathuri/Downloads/wrf_sample_inputs/wrfbdy_d01");
 
@@ -356,14 +359,14 @@ public class CreateLaunchExperiment {
             exInputs.add(input2);
 
 
-            List<DataObjectType> exOut = new ArrayList<DataObjectType>();
-            DataObjectType output = new DataObjectType();
-            output.setKey("WRF_Output");
+            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
+            OutputDataObjectType output = new OutputDataObjectType();
+            output.setName("WRF_Output");
             output.setType(DataType.URI);
             output.setValue("");
 
-            DataObjectType output1 = new DataObjectType();
-            output1.setKey("WRF_Execution_Log");
+            OutputDataObjectType output1 = new OutputDataObjectType();
+            output1.setName("WRF_Execution_Log");
             output1.setType(DataType.URI);
             output1.setValue("");
 
@@ -431,16 +434,16 @@ public class CreateLaunchExperiment {
 
     public static String createExperimentEchoForLocalHost(Airavata.Client client) throws TException {
         try {
-            List<DataObjectType> exInputs = new ArrayList<DataObjectType>();
-            DataObjectType input = new DataObjectType();
-            input.setKey("Input_to_Echo");
+            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<DataObjectType> exOut = new ArrayList<DataObjectType>();
-            DataObjectType output = new DataObjectType();
-            output.setKey("Echoed_Output");
+            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
+            OutputDataObjectType output = new OutputDataObjectType();
+            output.setName("Echoed_Output");
             output.setType(DataType.STRING);
             output.setValue("");
             exOut.add(output);
@@ -485,16 +488,16 @@ public class CreateLaunchExperiment {
 
 //    public static String createExperimentForSSHHost(Airavata.Client client) throws TException {
 //        try {
-//            List<DataObjectType> exInputs = new ArrayList<DataObjectType>();
-//            DataObjectType input = new DataObjectType();
-//            input.setKey("echo_input");
+//            List<OutputDataObjectType> exInputs = new ArrayList<OutputDataObjectType>();
+//            OutputDataObjectType input = new OutputDataObjectType();
+//            input.setName("echo_input");
 //            input.setType(DataType.STRING);
 //            input.setValue("echo_output=Hello World");
 //            exInputs.add(input);
 //
-//            List<DataObjectType> exOut = new ArrayList<DataObjectType>();
-//            DataObjectType output = new DataObjectType();
-//            output.setKey("echo_output");
+//            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
+//            OutputDataObjectType output = new OutputDataObjectType();
+//            output.setName("echo_output");
 //            output.setType(DataType.STRING);
 //            output.setValue("");
 //            exOut.add(output);
@@ -531,16 +534,16 @@ public class CreateLaunchExperiment {
 
     public static String createEchoExperimentForStampede(Airavata.Client client) throws TException {
         try {
-            List<DataObjectType> exInputs = new ArrayList<DataObjectType>();
-            DataObjectType input = new DataObjectType();
-            input.setKey("Input_to_Echo");
+            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<DataObjectType> exOut = new ArrayList<DataObjectType>();
-            DataObjectType output = new DataObjectType();
-            output.setKey("Echoed_Output");
+            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
+            OutputDataObjectType output = new OutputDataObjectType();
+            output.setName("Echoed_Output");
             output.setType(DataType.STRING);
             output.setValue("");
             exOut.add(output);
@@ -585,16 +588,16 @@ public class CreateLaunchExperiment {
 
 //    public static String createEchoExperimentForLonestar(Airavata.Client client) throws TException {
 //        try {
-//            List<DataObjectType> exInputs = new ArrayList<DataObjectType>();
-//            DataObjectType input = new DataObjectType();
-//            input.setKey("echo_input");
+//            List<OutputDataObjectType> exInputs = new ArrayList<OutputDataObjectType>();
+//            OutputDataObjectType input = new OutputDataObjectType();
+//            input.setName("echo_input");
 //            input.setType(DataType.STRING);
 //            input.setValue("echo_output=Hello World");
 //            exInputs.add(input);
 //
-//            List<DataObjectType> exOut = new ArrayList<DataObjectType>();
-//            DataObjectType output = new DataObjectType();
-//            output.setKey("echo_output");
+//            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
+//            OutputDataObjectType output = new OutputDataObjectType();
+//            output.setName("echo_output");
 //            output.setType(DataType.STRING);
 //            output.setValue("");
 //            exOut.add(output);
@@ -655,16 +658,16 @@ public class CreateLaunchExperiment {
 
     public static String createExperimentForBR2(Airavata.Client client) throws TException {
         try {
-            List<DataObjectType> exInputs = new ArrayList<DataObjectType>();
-            DataObjectType input = new DataObjectType();
-            input.setKey("Input_to_Echo");
+            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<DataObjectType> exOut = new ArrayList<DataObjectType>();
-            DataObjectType output = new DataObjectType();
-            output.setKey("Echoed_Output");
+            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
+            OutputDataObjectType output = new OutputDataObjectType();
+            output.setName("Echoed_Output");
             output.setType(DataType.STRING);
             output.setValue("");
             exOut.add(output);
@@ -709,44 +712,44 @@ public class CreateLaunchExperiment {
 
     public static String createExperimentForBR2Amber(Airavata.Client client) throws TException {
         try {
-            List<DataObjectType> exInputs = new ArrayList<DataObjectType>();
-            DataObjectType input = new DataObjectType();
-            input.setKey("Heat_Restart_File");
+            List<InputDataObjectType> exInputs = new ArrayList<InputDataObjectType>();
+            InputDataObjectType input = new InputDataObjectType();
+            input.setName("Heat_Restart_File");
             input.setType(DataType.URI);
             input.setValue("/Users/lahirugunathilake/Downloads/02_Heat.rst");
             exInputs.add(input);
 
-            DataObjectType input1 = new DataObjectType();
-            input1.setKey("Production_Control_File");
+            InputDataObjectType input1 = new InputDataObjectType();
+            input1.setName("Production_Control_File");
             input1.setType(DataType.URI);
             input1.setValue("/Users/lahirugunathilake/Downloads/03_Prod.in");
             exInputs.add(input1);
 
-            DataObjectType input2 = new DataObjectType();
-            input2.setKey("Parameter_Topology_File");
+            InputDataObjectType input2 = new InputDataObjectType();
+            input2.setName("Parameter_Topology_File");
             input2.setType(DataType.URI);
             input2.setValue("/Users/lahirugunathilake/Downloads/prmtop");
             exInputs.add(input2);
 
-            List<DataObjectType> exOut = new ArrayList<DataObjectType>();
-            DataObjectType output = new DataObjectType();
-            output.setKey("AMBER_Execution_Summary");
+            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
+            OutputDataObjectType output = new OutputDataObjectType();
+            output.setName("AMBER_Execution_Summary");
             output.setType(DataType.URI);
             output.setValue("");
             exOut.add(output);
 
-            DataObjectType output1 = new DataObjectType();
-            output1.setKey("AMBER_Execution_log");
+            OutputDataObjectType output1 = new OutputDataObjectType();
+            output1.setName("AMBER_Execution_log");
             output1.setType(DataType.URI);
             output1.setValue("");
             exOut.add(output1);
-            DataObjectType output2 = new DataObjectType();
-            output2.setKey("AMBER_Trajectory_file");
+            OutputDataObjectType output2 = new OutputDataObjectType();
+            output2.setName("AMBER_Trajectory_file");
             output2.setType(DataType.URI);
             output2.setValue("");
             exOut.add(output2);
-            DataObjectType output3 = new DataObjectType();
-            output3.setKey("AMBER_Restart_file");
+            OutputDataObjectType output3 = new OutputDataObjectType();
+            output3.setName("AMBER_Restart_file");
             output3.setType(DataType.URI);
             output3.setValue("");
             exOut.add(output3);
@@ -792,44 +795,44 @@ public class CreateLaunchExperiment {
 
     public static String createExperimentForStampedeAmber(Airavata.Client client) throws TException {
         try {
-            List<DataObjectType> exInputs = new ArrayList<DataObjectType>();
-            DataObjectType input = new DataObjectType();
-            input.setKey("Heat_Restart_File");
+            List<InputDataObjectType> exInputs = new ArrayList<InputDataObjectType>();
+            InputDataObjectType input = new InputDataObjectType();
+            input.setName("Heat_Restart_File");
             input.setType(DataType.URI);
             input.setValue("/Users/lahirugunathilake/Downloads/02_Heat.rst");
             exInputs.add(input);
 
-            DataObjectType input1 = new DataObjectType();
-            input1.setKey("Production_Control_File");
+            InputDataObjectType input1 = new InputDataObjectType();
+            input1.setName("Production_Control_File");
             input1.setType(DataType.URI);
             input1.setValue("/Users/lahirugunathilake/Downloads/03_Prod.in");
             exInputs.add(input1);
 
-            DataObjectType input2 = new DataObjectType();
-            input2.setKey("Parameter_Topology_File");
+            InputDataObjectType input2 = new InputDataObjectType();
+            input2.setName("Parameter_Topology_File");
             input2.setType(DataType.URI);
             input2.setValue("/Users/lahirugunathilake/Downloads/prmtop");
             exInputs.add(input2);
 
-            List<DataObjectType> exOut = new ArrayList<DataObjectType>();
-            DataObjectType output = new DataObjectType();
-            output.setKey("AMBER_Execution_Summary");
+            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
+            OutputDataObjectType output = new OutputDataObjectType();
+            output.setName("AMBER_Execution_Summary");
             output.setType(DataType.URI);
             output.setValue("");
             exOut.add(output);
 
-            DataObjectType output1 = new DataObjectType();
-            output1.setKey("AMBER_Execution_Summary");
+            OutputDataObjectType output1 = new OutputDataObjectType();
+            output1.setName("AMBER_Execution_Summary");
             output1.setType(DataType.URI);
             output1.setValue("");
             exOut.add(output1);
-            DataObjectType output2 = new DataObjectType();
-            output2.setKey("AMBER_Trajectory_file");
+            OutputDataObjectType output2 = new OutputDataObjectType();
+            output2.setName("AMBER_Trajectory_file");
             output2.setType(DataType.URI);
             output2.setValue("");
             exOut.add(output2);
-            DataObjectType output3 = new DataObjectType();
-            output3.setKey("AMBER_Restart_file");
+            OutputDataObjectType output3 = new OutputDataObjectType();
+            output3.setName("AMBER_Restart_file");
             output3.setType(DataType.URI);
             output3.setValue("");
             exOut.add(output3);
@@ -874,44 +877,44 @@ public class CreateLaunchExperiment {
 
     public static String createExperimentForTrestlesAmber(Airavata.Client client) throws TException {
         try {
-            List<DataObjectType> exInputs = new ArrayList<DataObjectType>();
-            DataObjectType input = new DataObjectType();
-            input.setKey("Heat_Restart_File");
+            List<InputDataObjectType> exInputs = new ArrayList<InputDataObjectType>();
+            InputDataObjectType input = new InputDataObjectType();
+            input.setName("Heat_Restart_File");
             input.setType(DataType.URI);
             input.setValue("/Users/lahirugunathilake/Downloads/02_Heat.rst");
             exInputs.add(input);
 
-            DataObjectType input1 = new DataObjectType();
-            input1.setKey("Production_Control_File");
+            InputDataObjectType input1 = new InputDataObjectType();
+            input1.setName("Production_Control_File");
             input1.setType(DataType.URI);
             input1.setValue("/Users/lahirugunathilake/Downloads/03_Prod.in");
             exInputs.add(input1);
 
-            DataObjectType input2 = new DataObjectType();
-            input2.setKey("Production_Control_File");
+            InputDataObjectType input2 = new InputDataObjectType();
+            input2.setName("Production_Control_File");
             input2.setType(DataType.URI);
             input2.setValue("/Users/lahirugunathilake/Downloads/prmtop");
             exInputs.add(input2);
 
-            List<DataObjectType> exOut = new ArrayList<DataObjectType>();
-            DataObjectType output = new DataObjectType();
-            output.setKey("AMBER_Execution_Summary");
+            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
+            OutputDataObjectType output = new OutputDataObjectType();
+            output.setName("AMBER_Execution_Summary");
             output.setType(DataType.URI);
             output.setValue("");
             exOut.add(output);
 
-            DataObjectType output1 = new DataObjectType();
-            output1.setKey("AMBER_Execution_log");
+            OutputDataObjectType output1 = new OutputDataObjectType();
+            output1.setName("AMBER_Execution_log");
             output1.setType(DataType.URI);
             output1.setValue("");
             exOut.add(output1);
-            DataObjectType output2 = new DataObjectType();
-            output2.setKey("AMBER_Trajectory_file");
+            OutputDataObjectType output2 = new OutputDataObjectType();
+            output2.setName("AMBER_Trajectory_file");
             output2.setType(DataType.URI);
             output2.setValue("");
             exOut.add(output2);
-            DataObjectType output3 = new DataObjectType();
-            output3.setKey("AMBER_Restart_file");
+            OutputDataObjectType output3 = new OutputDataObjectType();
+            output3.setName("AMBER_Restart_file");
             output3.setType(DataType.URI);
             output3.setValue("");
             exOut.add(output3);

http://git-wip-us.apache.org/repos/asf/airavata/blob/b52499eb/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperimentUS3.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperimentUS3.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperimentUS3.java
index bd9d959..b4f8d98 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperimentUS3.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperimentUS3.java
@@ -21,6 +21,9 @@ package org.apache.airavata.client.samples;
 
 import org.apache.airavata.api.Airavata;
 import org.apache.airavata.api.client.AiravataClientFactory;
+import org.apache.airavata.model.appcatalog.appinterface.DataType;
+import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
+import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
 import org.apache.airavata.model.error.AiravataClientException;
 import org.apache.airavata.model.error.AiravataSystemException;
 import org.apache.airavata.model.error.ExperimentNotFoundException;
@@ -140,16 +143,16 @@ public class CreateLaunchExperimentUS3 {
 
     public static String createExperimentForTrestles(Airavata.Client client) throws TException  {
         try{
-            List<DataObjectType> exInputs = new ArrayList<DataObjectType>();
-            DataObjectType input = new DataObjectType();
-            input.setKey("echo_input");
+            List<InputDataObjectType> exInputs = new ArrayList<InputDataObjectType>();
+            InputDataObjectType input = new InputDataObjectType();
+            input.setName("echo_input");
             input.setType(DataType.STRING);
             input.setValue("echo_output=Hello World");
             exInputs.add(input);
 
-            List<DataObjectType> exOut = new ArrayList<DataObjectType>();
-            DataObjectType output = new DataObjectType();
-            output.setKey("echo_output");
+            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
+            OutputDataObjectType output = new OutputDataObjectType();
+            output.setName("echo_output");
             output.setType(DataType.STRING);
             output.setValue("");
             exOut.add(output);
@@ -186,17 +189,17 @@ public class CreateLaunchExperimentUS3 {
     
     public static String createUS3ExperimentForTrestles (Airavata.Client client) throws AiravataSystemException, InvalidRequestException, AiravataClientException, TException  {
         try{
-            List<DataObjectType> exInputs = new ArrayList<DataObjectType>();
-            DataObjectType input = new DataObjectType();
-            input.setKey("input");
+            List<InputDataObjectType> exInputs = new ArrayList<InputDataObjectType>();
+            InputDataObjectType input = new InputDataObjectType();
+            input.setName("input");
             input.setType(DataType.URI);
             input.setValue("file:///home/airavata/input/hpcinput.tar");
-            DataObjectType input1 = new DataObjectType();
-            input1.setKey("walltime");
+            InputDataObjectType input1 = new InputDataObjectType();
+            input1.setName("walltime");
             input1.setType(DataType.STRING);
             input1.setValue("-walltime=60");
-            DataObjectType input2 = new DataObjectType();
-            input2.setKey("mgroupcount");
+            InputDataObjectType input2 = new InputDataObjectType();
+            input2.setName("mgroupcount");
             input2.setType(DataType.STRING);
             input2.setValue("-mgroupcount=1");
             
@@ -204,17 +207,17 @@ public class CreateLaunchExperimentUS3 {
             exInputs.add(input1);
             exInputs.add(input2);
 
-            List<DataObjectType> exOut = new ArrayList<DataObjectType>();
-            DataObjectType output = new DataObjectType();
-            output.setKey("output");
+            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
+            OutputDataObjectType output = new OutputDataObjectType();
+            output.setName("output");
             output.setType(DataType.URI);
             output.setValue("");
-//            DataObjectType output1 = new DataObjectType();
-//            output1.setKey("stdout");
+//            OutputDataObjectType output1 = new OutputDataObjectType();
+//            output1.setName("stdout");
 //            output1.setType(DataType.STDOUT);
 //            output1.setValue("");
-//            DataObjectType output2 = new DataObjectType();
-//            output2.setKey("stderr");
+//            OutputDataObjectType output2 = new OutputDataObjectType();
+//            output2.setName("stderr");
 //            output2.setType(DataType.STDERR);
 //            output2.setValue("");
             exOut.add(output);
@@ -257,17 +260,17 @@ public class CreateLaunchExperimentUS3 {
     }
     public static String createUS3ExperimentForStampede (Airavata.Client client) throws AiravataSystemException, InvalidRequestException, AiravataClientException, TException  {
         try{
-            List<DataObjectType> exInputs = new ArrayList<DataObjectType>();
-            DataObjectType input = new DataObjectType();
-            input.setKey("input");
+            List<InputDataObjectType> exInputs = new ArrayList<InputDataObjectType>();
+            InputDataObjectType input = new InputDataObjectType();
+            input.setName("input");
             input.setType(DataType.URI);
             input.setValue("file:///home/airavata/input/hpcinput.tar");
-            DataObjectType input1 = new DataObjectType();
-            input1.setKey("walltime");
+            InputDataObjectType input1 = new InputDataObjectType();
+            input1.setName("walltime");
             input1.setType(DataType.STRING);
             input1.setValue("-walltime=60");
-            DataObjectType input2 = new DataObjectType();
-            input2.setKey("mgroupcount");
+            InputDataObjectType input2 = new InputDataObjectType();
+            input2.setName("mgroupcount");
             input2.setType(DataType.STRING);
             input2.setValue("-mgroupcount=1");
             
@@ -276,17 +279,17 @@ public class CreateLaunchExperimentUS3 {
             exInputs.add(input2);
 
 
-            List<DataObjectType> exOut = new ArrayList<DataObjectType>();
-            DataObjectType output = new DataObjectType();
-            output.setKey("output");
+            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
+            OutputDataObjectType output = new OutputDataObjectType();
+            output.setName("output");
             output.setType(DataType.URI);
             output.setValue("");
-//            DataObjectType output1 = new DataObjectType();
-//            output1.setKey("stdout");
+//            OutputDataObjectType output1 = new OutputDataObjectType();
+//            output1.setName("stdout");
 //            output1.setType(DataType.STDOUT);
 //            output1.setValue("");
-//            DataObjectType output2 = new DataObjectType();
-//            output2.setKey("stderr");
+//            OutputDataObjectType output2 = new OutputDataObjectType();
+//            output2.setName("stderr");
 //            output2.setType(DataType.STDERR);
 //            output2.setValue("");
             exOut.add(output);
@@ -330,17 +333,17 @@ public class CreateLaunchExperimentUS3 {
     }
     public static String createUS3ExperimentForLonestar (Airavata.Client client) throws AiravataSystemException, InvalidRequestException, AiravataClientException, TException  {
         try{
-            List<DataObjectType> exInputs = new ArrayList<DataObjectType>();
-            DataObjectType input = new DataObjectType();
-            input.setKey("input");
+            List<InputDataObjectType> exInputs = new ArrayList<InputDataObjectType>();
+            InputDataObjectType input = new InputDataObjectType();
+            input.setName("input");
             input.setType(DataType.URI);
             input.setValue("file:///home/airavata/input/hpcinput.tar");
-            DataObjectType input1 = new DataObjectType();
-            input1.setKey("walltime");
+            InputDataObjectType input1 = new InputDataObjectType();
+            input1.setName("walltime");
             input1.setType(DataType.STRING);
             input1.setValue("-walltime=60");
-            DataObjectType input2 = new DataObjectType();
-            input2.setKey("mgroupcount");
+            InputDataObjectType input2 = new InputDataObjectType();
+            input2.setName("mgroupcount");
             input2.setType(DataType.STRING);
             input2.setValue("-mgroupcount=1");
             
@@ -348,17 +351,17 @@ public class CreateLaunchExperimentUS3 {
             exInputs.add(input1);
             exInputs.add(input2);
 
-            List<DataObjectType> exOut = new ArrayList<DataObjectType>();
-            DataObjectType output = new DataObjectType();
-            output.setKey("output");
+            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
+            OutputDataObjectType output = new OutputDataObjectType();
+            output.setName("output");
             output.setType(DataType.URI);
             output.setValue("");
-//            DataObjectType output1 = new DataObjectType();
-//            output1.setKey("stdout");
+//            OutputDataObjectType output1 = new OutputDataObjectType();
+//            output1.setName("stdout");
 //            output1.setType(DataType.STDOUT);
 //            output1.setValue("");
-//            DataObjectType output2 = new DataObjectType();
-//            output2.setKey("stderr");
+//            OutputDataObjectType output2 = new OutputDataObjectType();
+//            output2.setName("stderr");
 //            output2.setType(DataType.STDERR);
 //            output2.setValue("");
             exOut.add(output);
@@ -402,17 +405,17 @@ public class CreateLaunchExperimentUS3 {
     }
     public static String createUS3ExperimentForAlamo (Airavata.Client client) throws AiravataSystemException, InvalidRequestException, AiravataClientException, TException  {
         try{
-            List<DataObjectType> exInputs = new ArrayList<DataObjectType>();
-            DataObjectType input = new DataObjectType();
-            input.setKey("input");
+            List<InputDataObjectType> exInputs = new ArrayList<InputDataObjectType>();
+            InputDataObjectType input = new InputDataObjectType();
+            input.setName("input");
             input.setType(DataType.URI);
             input.setValue("file:///home/airavata/input/hpcinput.tar");
-            DataObjectType input1 = new DataObjectType();
-            input1.setKey("walltime");
+            InputDataObjectType input1 = new InputDataObjectType();
+            input1.setName("walltime");
             input1.setType(DataType.STRING);
             input1.setValue("-walltime=60");
-            DataObjectType input2 = new DataObjectType();
-            input2.setKey("mgroupcount");
+            InputDataObjectType input2 = new InputDataObjectType();
+            input2.setName("mgroupcount");
             input2.setType(DataType.STRING);
             input2.setValue("-mgroupcount=1");
             
@@ -421,17 +424,17 @@ public class CreateLaunchExperimentUS3 {
             exInputs.add(input2);
 
 
-            List<DataObjectType> exOut = new ArrayList<DataObjectType>();
-            DataObjectType output = new DataObjectType();
-            output.setKey("output");
+            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
+            OutputDataObjectType output = new OutputDataObjectType();
+            output.setName("output");
             output.setType(DataType.URI);
             output.setValue("");
-//            DataObjectType output1 = new DataObjectType();
-//            output1.setKey("stdout");
+//            OutputDataObjectType output1 = new OutputDataObjectType();
+//            output1.setName("stdout");
 //            output1.setType(DataType.STDOUT);
 //            output1.setValue("");
-//            DataObjectType output2 = new DataObjectType();
-//            output2.setKey("stderr");
+//            OutputDataObjectType output2 = new OutputDataObjectType();
+//            output2.setName("stderr");
 //            output2.setType(DataType.STDERR);
 //            output2.setValue("");
             exOut.add(output);
@@ -475,16 +478,16 @@ public class CreateLaunchExperimentUS3 {
     }
     public static String createExperimentForStampede(Airavata.Client client) throws TException  {
         try{
-            List<DataObjectType> exInputs = new ArrayList<DataObjectType>();
-            DataObjectType input = new DataObjectType();
-            input.setKey("echo_input");
+            List<InputDataObjectType> exInputs = new ArrayList<InputDataObjectType>();
+            InputDataObjectType input = new InputDataObjectType();
+            input.setName("echo_input");
             input.setType(DataType.STRING);
             input.setValue("echo_output=Hello World");
             exInputs.add(input);
 
-            List<DataObjectType> exOut = new ArrayList<DataObjectType>();
-            DataObjectType output = new DataObjectType();
-            output.setKey("echo_output");
+            List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
+            OutputDataObjectType output = new OutputDataObjectType();
+            output.setName("echo_output");
             output.setType(DataType.STRING);
             output.setValue("");
             exOut.add(output);

http://git-wip-us.apache.org/repos/asf/airavata/blob/b52499eb/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java
index d063dac..cbf32f7 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java
@@ -51,6 +51,8 @@ import org.apache.airavata.messaging.core.Publisher;
 import org.apache.airavata.messaging.core.PublisherFactory;
 import org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription;
 import org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription;
+import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
+import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
 import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
 import org.apache.airavata.model.appcatalog.computeresource.DataMovementInterface;
 import org.apache.airavata.model.appcatalog.computeresource.FileSystems;
@@ -295,11 +297,11 @@ public class BetterGfacImpl implements GFac,Watcher {
         applicationContext.setComputeResourcePreference(gatewayResourcePreferences);
         jobExecutionContext.setApplicationContext(applicationContext);
 
-        List<DataObjectType> experimentInputs = taskData.getApplicationInputs();
-        jobExecutionContext.setInMessageContext(new MessageContext(GFacUtils.getInMessageContext(experimentInputs)));
+        List<InputDataObjectType> experimentInputs = taskData.getApplicationInputs();
+        jobExecutionContext.setInMessageContext(new MessageContext(GFacUtils.getInputParamMap(experimentInputs)));
 
-        List<DataObjectType> outputData = taskData.getApplicationOutputs();
-        jobExecutionContext.setOutMessageContext(new MessageContext(GFacUtils.getOutMessageContext(outputData)));
+        List<OutputDataObjectType> outputData = taskData.getApplicationOutputs();
+        jobExecutionContext.setOutMessageContext(new MessageContext(GFacUtils.getOuputParamMap(outputData)));
 
         jobExecutionContext.setProperty(Constants.PROP_TOPIC, experimentID);
         jobExecutionContext.setGfac(this);

http://git-wip-us.apache.org/repos/asf/airavata/blob/b52499eb/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/handler/AbstractRecoverableHandler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/handler/AbstractRecoverableHandler.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/handler/AbstractRecoverableHandler.java
index 1ae19f3..566a6ba 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/handler/AbstractRecoverableHandler.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/handler/AbstractRecoverableHandler.java
@@ -25,9 +25,9 @@ import org.apache.airavata.gfac.core.context.JobExecutionContext;
 import org.apache.airavata.gfac.core.cpi.BetterGfacImpl;
 import org.apache.airavata.gfac.core.states.GfacPluginState;
 import org.apache.airavata.gfac.core.utils.GFacUtils;
+import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
 import org.apache.airavata.model.messaging.event.TaskIdentifier;
 import org.apache.airavata.model.messaging.event.TaskOutputChangeEvent;
-import org.apache.airavata.model.workspace.experiment.DataObjectType;
 import org.apache.airavata.persistance.registry.jpa.impl.RegistryFactory;
 import org.apache.airavata.registry.cpi.Registry;
 import org.apache.airavata.registry.cpi.RegistryException;
@@ -78,7 +78,7 @@ public abstract class AbstractRecoverableHandler implements GFacRecoverableHandl
         this.registry = registry;
     }
 
-    protected void fireTaskOutputChangeEvent(JobExecutionContext jobExecutionContext, List<DataObjectType> outputArray) {
+    protected void fireTaskOutputChangeEvent(JobExecutionContext jobExecutionContext, List<OutputDataObjectType> outputArray) {
         TaskIdentifier taskIdentity = new TaskIdentifier(jobExecutionContext.getTaskData().getTaskID(),
                 jobExecutionContext.getWorkflowNodeDetails().getNodeInstanceId(),
                 jobExecutionContext.getExperimentID(),