You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sh...@apache.org on 2014/11/06 21:53:00 UTC

[2/3] airavata git commit: Removed DataObjectType thift struct from experimentModel and replace it with Input and Output DataObjectType define in applicationInterfaceModel thrift file

Removed DataObjectType thift struct from experimentModel and replace it with Input and Output DataObjectType define in applicationInterfaceModel thrift file


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

Branch: refs/heads/gfac_appcatalog_int
Commit: 198de990384ca3b3974222f22847d2a431fdd686
Parents: 95354ea
Author: shamrath <sh...@gmail.com>
Authored: Thu Nov 6 15:47:57 2014 -0500
Committer: shamrath <sh...@gmail.com>
Committed: Thu Nov 6 15:47:57 2014 -0500

----------------------------------------------------------------------
 .../java/org/apache/airavata/api/Airavata.java  |  58 +--
 .../main/resources/lib/airavata/Airavata.cpp    |   6 +-
 .../src/main/resources/lib/airavata/Airavata.h  |  16 +-
 .../lib/airavata/Airavata_server.skeleton.cpp   |   2 +-
 .../lib/airavata/experimentModel_types.cpp      | 521 +++++++------------
 .../lib/airavata/experimentModel_types.h        | 124 +----
 .../lib/airavata/messagingEvents_types.cpp      |   6 +-
 .../lib/airavata/messagingEvents_types.h        |   9 +-
 .../resources/lib/Airavata/API/Airavata.php     |   4 +-
 .../Airavata/Model/Messaging/Event/Types.php    |   4 +-
 .../Model/Workspace/Experiment/Types.php        | 171 +-----
 .../client/samples/CreateLaunchExperiment.java  |   2 +-
 .../CreateLaunchExperimentForLocalhost.java     | 269 ++++++++++
 .../messaging/event/TaskOutputChangeEvent.java  |  40 +-
 .../model/workspace/experiment/Experiment.java  |  76 +--
 .../model/workspace/experiment/JobDetails.java  |  11 +-
 .../model/workspace/experiment/TaskDetails.java |  76 +--
 .../experiment/WorkflowNodeDetails.java         |  76 +--
 .../airavataAPI.thrift                          |   2 +-
 .../experimentModel.thrift                      |  32 +-
 .../messagingEvents.thrift                      |   3 +-
 21 files changed, 699 insertions(+), 809 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/198de990/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
index 720173c..d6f2c44 100644
--- a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
+++ b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
@@ -358,7 +358,7 @@ import org.slf4j.LoggerFactory;
 
     public org.apache.airavata.model.workspace.experiment.ExperimentStatus getExperimentStatus(String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
-    public List<org.apache.airavata.model.workspace.experiment.DataObjectType> getExperimentOutputs(String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType> getExperimentOutputs(String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     public Map<String,org.apache.airavata.model.workspace.experiment.JobStatus> getJobStatuses(String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
@@ -2335,7 +2335,7 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getExperimentStatus failed: unknown result");
     }
 
-    public List<org.apache.airavata.model.workspace.experiment.DataObjectType> getExperimentOutputs(String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public List<org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType> getExperimentOutputs(String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
       send_getExperimentOutputs(airavataExperimentId);
       return recv_getExperimentOutputs();
@@ -2348,7 +2348,7 @@ import org.slf4j.LoggerFactory;
       sendBase("getExperimentOutputs", args);
     }
 
-    public List<org.apache.airavata.model.workspace.experiment.DataObjectType> recv_getExperimentOutputs() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public List<org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType> recv_getExperimentOutputs() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
       getExperimentOutputs_result result = new getExperimentOutputs_result();
       receiveBase(result, "getExperimentOutputs");
@@ -5622,7 +5622,7 @@ import org.slf4j.LoggerFactory;
         prot.writeMessageEnd();
       }
 
-      public List<org.apache.airavata.model.workspace.experiment.DataObjectType> getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException {
+      public List<org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType> getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -12695,7 +12695,7 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public static class getExperimentOutputs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getExperimentOutputs_args, List<org.apache.airavata.model.workspace.experiment.DataObjectType>> {
+    public static class getExperimentOutputs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getExperimentOutputs_args, List<org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType>> {
       public getExperimentOutputs() {
         super("getExperimentOutputs");
       }
@@ -12704,10 +12704,10 @@ import org.slf4j.LoggerFactory;
         return new getExperimentOutputs_args();
       }
 
-      public AsyncMethodCallback<List<org.apache.airavata.model.workspace.experiment.DataObjectType>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<org.apache.airavata.model.workspace.experiment.DataObjectType>>() { 
-          public void onComplete(List<org.apache.airavata.model.workspace.experiment.DataObjectType> o) {
+        return new AsyncMethodCallback<List<org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType>>() { 
+          public void onComplete(List<org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType> o) {
             getExperimentOutputs_result result = new getExperimentOutputs_result();
             result.success = o;
             try {
@@ -12762,7 +12762,7 @@ import org.slf4j.LoggerFactory;
         return false;
       }
 
-      public void start(I iface, getExperimentOutputs_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.workspace.experiment.DataObjectType>> resultHandler) throws TException {
+      public void start(I iface, getExperimentOutputs_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType>> resultHandler) throws TException {
         iface.getExperimentOutputs(args.airavataExperimentId,resultHandler);
       }
     }
@@ -41960,7 +41960,7 @@ import org.slf4j.LoggerFactory;
       schemes.put(TupleScheme.class, new getExperimentOutputs_resultTupleSchemeFactory());
     }
 
-    public List<org.apache.airavata.model.workspace.experiment.DataObjectType> success; // required
+    public List<org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType> success; // required
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
     public org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
@@ -42042,7 +42042,7 @@ import org.slf4j.LoggerFactory;
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
-              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.workspace.experiment.DataObjectType.class))));
+              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType.class))));
       tmpMap.put(_Fields.IRE, new org.apache.thrift.meta_data.FieldMetaData("ire", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       tmpMap.put(_Fields.ENF, new org.apache.thrift.meta_data.FieldMetaData("enf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
@@ -42059,7 +42059,7 @@ import org.slf4j.LoggerFactory;
     }
 
     public getExperimentOutputs_result(
-      List<org.apache.airavata.model.workspace.experiment.DataObjectType> success,
+      List<org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType> success,
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.ExperimentNotFoundException enf,
       org.apache.airavata.model.error.AiravataClientException ace,
@@ -42078,9 +42078,9 @@ import org.slf4j.LoggerFactory;
      */
     public getExperimentOutputs_result(getExperimentOutputs_result other) {
       if (other.isSetSuccess()) {
-        List<org.apache.airavata.model.workspace.experiment.DataObjectType> __this__success = new ArrayList<org.apache.airavata.model.workspace.experiment.DataObjectType>(other.success.size());
-        for (org.apache.airavata.model.workspace.experiment.DataObjectType other_element : other.success) {
-          __this__success.add(new org.apache.airavata.model.workspace.experiment.DataObjectType(other_element));
+        List<org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType> __this__success = new ArrayList<org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType>(other.success.size());
+        for (org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType other_element : other.success) {
+          __this__success.add(new org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType(other_element));
         }
         this.success = __this__success;
       }
@@ -42115,22 +42115,22 @@ import org.slf4j.LoggerFactory;
       return (this.success == null) ? 0 : this.success.size();
     }
 
-    public java.util.Iterator<org.apache.airavata.model.workspace.experiment.DataObjectType> getSuccessIterator() {
+    public java.util.Iterator<org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
 
-    public void addToSuccess(org.apache.airavata.model.workspace.experiment.DataObjectType elem) {
+    public void addToSuccess(org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType elem) {
       if (this.success == null) {
-        this.success = new ArrayList<org.apache.airavata.model.workspace.experiment.DataObjectType>();
+        this.success = new ArrayList<org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType>();
       }
       this.success.add(elem);
     }
 
-    public List<org.apache.airavata.model.workspace.experiment.DataObjectType> getSuccess() {
+    public List<org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType> getSuccess() {
       return this.success;
     }
 
-    public getExperimentOutputs_result setSuccess(List<org.apache.airavata.model.workspace.experiment.DataObjectType> success) {
+    public getExperimentOutputs_result setSuccess(List<org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType> success) {
       this.success = success;
       return this;
     }
@@ -42252,7 +42252,7 @@ import org.slf4j.LoggerFactory;
         if (value == null) {
           unsetSuccess();
         } else {
-          setSuccess((List<org.apache.airavata.model.workspace.experiment.DataObjectType>)value);
+          setSuccess((List<org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType>)value);
         }
         break;
 
@@ -42563,11 +42563,11 @@ import org.slf4j.LoggerFactory;
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
                   org.apache.thrift.protocol.TList _list80 = iprot.readListBegin();
-                  struct.success = new ArrayList<org.apache.airavata.model.workspace.experiment.DataObjectType>(_list80.size);
+                  struct.success = new ArrayList<org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType>(_list80.size);
                   for (int _i81 = 0; _i81 < _list80.size; ++_i81)
                   {
-                    org.apache.airavata.model.workspace.experiment.DataObjectType _elem82;
-                    _elem82 = new org.apache.airavata.model.workspace.experiment.DataObjectType();
+                    org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType _elem82;
+                    _elem82 = new org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType();
                     _elem82.read(iprot);
                     struct.success.add(_elem82);
                   }
@@ -42633,7 +42633,7 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.workspace.experiment.DataObjectType _iter83 : struct.success)
+            for (org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType _iter83 : struct.success)
             {
               _iter83.write(oprot);
             }
@@ -42698,7 +42698,7 @@ import org.slf4j.LoggerFactory;
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.workspace.experiment.DataObjectType _iter84 : struct.success)
+            for (org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType _iter84 : struct.success)
             {
               _iter84.write(oprot);
             }
@@ -42725,11 +42725,11 @@ import org.slf4j.LoggerFactory;
         if (incoming.get(0)) {
           {
             org.apache.thrift.protocol.TList _list85 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<org.apache.airavata.model.workspace.experiment.DataObjectType>(_list85.size);
+            struct.success = new ArrayList<org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType>(_list85.size);
             for (int _i86 = 0; _i86 < _list85.size; ++_i86)
             {
-              org.apache.airavata.model.workspace.experiment.DataObjectType _elem87;
-              _elem87 = new org.apache.airavata.model.workspace.experiment.DataObjectType();
+              org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType _elem87;
+              _elem87 = new org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType();
               _elem87.read(iprot);
               struct.success.add(_elem87);
             }

http://git-wip-us.apache.org/repos/asf/airavata/blob/198de990/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
index 063c4c6..59d72e5 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
@@ -5621,7 +5621,7 @@ uint32_t Airavata_getExperimentOutputs_result::write(::apache::thrift::protocol:
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::workspace::experiment::DataObjectType> ::const_iterator _iter116;
+      std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> ::const_iterator _iter116;
       for (_iter116 = this->success.begin(); _iter116 != this->success.end(); ++_iter116)
       {
         xfer += (*_iter116).write(oprot);
@@ -25467,7 +25467,7 @@ void AiravataClient::recv_getExperimentStatus( ::apache::airavata::model::worksp
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getExperimentStatus failed: unknown result");
 }
 
-void AiravataClient::getExperimentOutputs(std::vector< ::apache::airavata::model::workspace::experiment::DataObjectType> & _return, const std::string& airavataExperimentId)
+void AiravataClient::getExperimentOutputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> & _return, const std::string& airavataExperimentId)
 {
   send_getExperimentOutputs(airavataExperimentId);
   recv_getExperimentOutputs(_return);
@@ -25487,7 +25487,7 @@ void AiravataClient::send_getExperimentOutputs(const std::string& airavataExperi
   oprot_->getTransport()->flush();
 }
 
-void AiravataClient::recv_getExperimentOutputs(std::vector< ::apache::airavata::model::workspace::experiment::DataObjectType> & _return)
+void AiravataClient::recv_getExperimentOutputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> & _return)
 {
 
   int32_t rseqid = 0;

http://git-wip-us.apache.org/repos/asf/airavata/blob/198de990/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
index b68d927..31e2d25 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
@@ -54,7 +54,7 @@ class AiravataIf {
   virtual bool validateExperiment(const std::string& airavataExperimentId) = 0;
   virtual void launchExperiment(const std::string& airavataExperimentId, const std::string& airavataCredStoreToken) = 0;
   virtual void getExperimentStatus( ::apache::airavata::model::workspace::experiment::ExperimentStatus& _return, const std::string& airavataExperimentId) = 0;
-  virtual void getExperimentOutputs(std::vector< ::apache::airavata::model::workspace::experiment::DataObjectType> & _return, const std::string& airavataExperimentId) = 0;
+  virtual void getExperimentOutputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> & _return, const std::string& airavataExperimentId) = 0;
   virtual void getJobStatuses(std::map<std::string,  ::apache::airavata::model::workspace::experiment::JobStatus> & _return, const std::string& airavataExperimentId) = 0;
   virtual void getJobDetails(std::vector< ::apache::airavata::model::workspace::experiment::JobDetails> & _return, const std::string& airavataExperimentId) = 0;
   virtual void getDataTransferDetails(std::vector< ::apache::airavata::model::workspace::experiment::DataTransferDetails> & _return, const std::string& airavataExperimentId) = 0;
@@ -227,7 +227,7 @@ class AiravataNull : virtual public AiravataIf {
   void getExperimentStatus( ::apache::airavata::model::workspace::experiment::ExperimentStatus& /* _return */, const std::string& /* airavataExperimentId */) {
     return;
   }
-  void getExperimentOutputs(std::vector< ::apache::airavata::model::workspace::experiment::DataObjectType> & /* _return */, const std::string& /* airavataExperimentId */) {
+  void getExperimentOutputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> & /* _return */, const std::string& /* airavataExperimentId */) {
     return;
   }
   void getJobStatuses(std::map<std::string,  ::apache::airavata::model::workspace::experiment::JobStatus> & /* _return */, const std::string& /* airavataExperimentId */) {
@@ -3511,7 +3511,7 @@ class Airavata_getExperimentOutputs_result {
 
   virtual ~Airavata_getExperimentOutputs_result() throw() {}
 
-  std::vector< ::apache::airavata::model::workspace::experiment::DataObjectType>  success;
+  std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType>  success;
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::ExperimentNotFoundException enf;
    ::apache::airavata::api::error::AiravataClientException ace;
@@ -3519,7 +3519,7 @@ class Airavata_getExperimentOutputs_result {
 
   _Airavata_getExperimentOutputs_result__isset __isset;
 
-  void __set_success(const std::vector< ::apache::airavata::model::workspace::experiment::DataObjectType> & val) {
+  void __set_success(const std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> & val) {
     success = val;
   }
 
@@ -3579,7 +3579,7 @@ class Airavata_getExperimentOutputs_presult {
 
   virtual ~Airavata_getExperimentOutputs_presult() throw() {}
 
-  std::vector< ::apache::airavata::model::workspace::experiment::DataObjectType> * success;
+  std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> * success;
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::ExperimentNotFoundException enf;
    ::apache::airavata::api::error::AiravataClientException ace;
@@ -14014,9 +14014,9 @@ class AiravataClient : virtual public AiravataIf {
   void getExperimentStatus( ::apache::airavata::model::workspace::experiment::ExperimentStatus& _return, const std::string& airavataExperimentId);
   void send_getExperimentStatus(const std::string& airavataExperimentId);
   void recv_getExperimentStatus( ::apache::airavata::model::workspace::experiment::ExperimentStatus& _return);
-  void getExperimentOutputs(std::vector< ::apache::airavata::model::workspace::experiment::DataObjectType> & _return, const std::string& airavataExperimentId);
+  void getExperimentOutputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> & _return, const std::string& airavataExperimentId);
   void send_getExperimentOutputs(const std::string& airavataExperimentId);
-  void recv_getExperimentOutputs(std::vector< ::apache::airavata::model::workspace::experiment::DataObjectType> & _return);
+  void recv_getExperimentOutputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> & _return);
   void getJobStatuses(std::map<std::string,  ::apache::airavata::model::workspace::experiment::JobStatus> & _return, const std::string& airavataExperimentId);
   void send_getJobStatuses(const std::string& airavataExperimentId);
   void recv_getJobStatuses(std::map<std::string,  ::apache::airavata::model::workspace::experiment::JobStatus> & _return);
@@ -14703,7 +14703,7 @@ class AiravataMultiface : virtual public AiravataIf {
     return;
   }
 
-  void getExperimentOutputs(std::vector< ::apache::airavata::model::workspace::experiment::DataObjectType> & _return, const std::string& airavataExperimentId) {
+  void getExperimentOutputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> & _return, const std::string& airavataExperimentId) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/198de990/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
index ce06c45..1dc8277 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
@@ -149,7 +149,7 @@ class AiravataHandler : virtual public AiravataIf {
     printf("getExperimentStatus\n");
   }
 
-  void getExperimentOutputs(std::vector< ::apache::airavata::model::workspace::experiment::DataObjectType> & _return, const std::string& airavataExperimentId) {
+  void getExperimentOutputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> & _return, const std::string& airavataExperimentId) {
     // Your implementation goes here
     printf("getExperimentOutputs\n");
   }

http://git-wip-us.apache.org/repos/asf/airavata/blob/198de990/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp
index fdf070d..18a2674 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp
@@ -221,22 +221,6 @@ const char* _kCorrectiveActionNames[] = {
 };
 const std::map<int, const char*> _CorrectiveAction_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(3, _kCorrectiveActionValues, _kCorrectiveActionNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
 
-int _kDataTypeValues[] = {
-  DataType::STRING,
-  DataType::INTEGER,
-  DataType::URI,
-  DataType::STDOUT,
-  DataType::STDERR
-};
-const char* _kDataTypeNames[] = {
-  "STRING",
-  "INTEGER",
-  "URI",
-  "STDOUT",
-  "STDERR"
-};
-const std::map<int, const char*> _DataType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kDataTypeValues, _kDataTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
 int _kExecutionUnitValues[] = {
   ExecutionUnit::INPUT,
   ExecutionUnit::APPLICATION,
@@ -735,115 +719,6 @@ void swap(ApplicationStatus &a, ApplicationStatus &b) {
   swap(a.__isset, b.__isset);
 }
 
-const char* DataObjectType::ascii_fingerprint = "544FBB8031AE070AEEB7AC0E4A90E43C";
-const uint8_t DataObjectType::binary_fingerprint[16] = {0x54,0x4F,0xBB,0x80,0x31,0xAE,0x07,0x0A,0xEE,0xB7,0xAC,0x0E,0x4A,0x90,0xE4,0x3C};
-
-uint32_t DataObjectType::read(::apache::thrift::protocol::TProtocol* iprot) {
-
-  uint32_t xfer = 0;
-  std::string fname;
-  ::apache::thrift::protocol::TType ftype;
-  int16_t fid;
-
-  xfer += iprot->readStructBegin(fname);
-
-  using ::apache::thrift::protocol::TProtocolException;
-
-  bool isset_key = false;
-
-  while (true)
-  {
-    xfer += iprot->readFieldBegin(fname, ftype, fid);
-    if (ftype == ::apache::thrift::protocol::T_STOP) {
-      break;
-    }
-    switch (fid)
-    {
-      case 1:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->key);
-          isset_key = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 2:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->value);
-          this->__isset.value = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 3:
-        if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast5;
-          xfer += iprot->readI32(ecast5);
-          this->type = (DataType::type)ecast5;
-          this->__isset.type = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->metaData);
-          this->__isset.metaData = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  if (!isset_key)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t DataObjectType::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("DataObjectType");
-
-  xfer += oprot->writeFieldBegin("key", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString(this->key);
-  xfer += oprot->writeFieldEnd();
-
-  if (this->__isset.value) {
-    xfer += oprot->writeFieldBegin("value", ::apache::thrift::protocol::T_STRING, 2);
-    xfer += oprot->writeString(this->value);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.type) {
-    xfer += oprot->writeFieldBegin("type", ::apache::thrift::protocol::T_I32, 3);
-    xfer += oprot->writeI32((int32_t)this->type);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.metaData) {
-    xfer += oprot->writeFieldBegin("metaData", ::apache::thrift::protocol::T_STRING, 4);
-    xfer += oprot->writeString(this->metaData);
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-void swap(DataObjectType &a, DataObjectType &b) {
-  using ::std::swap;
-  swap(a.key, b.key);
-  swap(a.value, b.value);
-  swap(a.type, b.type);
-  swap(a.metaData, b.metaData);
-  swap(a.__isset, b.__isset);
-}
-
 const char* ComputationalResourceScheduling::ascii_fingerprint = "32AC7AC41AD3753A7224A32FD6EB4B5D";
 const uint8_t ComputationalResourceScheduling::binary_fingerprint[16] = {0x32,0xAC,0x7A,0xC4,0x1A,0xD3,0x75,0x3A,0x72,0x24,0xA3,0x2F,0xD6,0xEB,0x4B,0x5D};
 
@@ -1529,9 +1404,9 @@ uint32_t ErrorDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
         break;
       case 5:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast6;
-          xfer += iprot->readI32(ecast6);
-          this->errorCategory = (ErrorCategory::type)ecast6;
+          int32_t ecast5;
+          xfer += iprot->readI32(ecast5);
+          this->errorCategory = (ErrorCategory::type)ecast5;
           this->__isset.errorCategory = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -1547,9 +1422,9 @@ uint32_t ErrorDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
         break;
       case 7:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast7;
-          xfer += iprot->readI32(ecast7);
-          this->correctiveAction = (CorrectiveAction::type)ecast7;
+          int32_t ecast6;
+          xfer += iprot->readI32(ecast6);
+          this->correctiveAction = (CorrectiveAction::type)ecast6;
           this->__isset.correctiveAction = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -1557,9 +1432,9 @@ uint32_t ErrorDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
         break;
       case 8:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast8;
-          xfer += iprot->readI32(ecast8);
-          this->actionableGroup = (ActionableGroup::type)ecast8;
+          int32_t ecast7;
+          xfer += iprot->readI32(ecast7);
+          this->actionableGroup = (ActionableGroup::type)ecast7;
           this->__isset.actionableGroup = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -1569,14 +1444,14 @@ uint32_t ErrorDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->rootCauseErrorIdList.clear();
-            uint32_t _size9;
-            ::apache::thrift::protocol::TType _etype12;
-            xfer += iprot->readListBegin(_etype12, _size9);
-            this->rootCauseErrorIdList.resize(_size9);
-            uint32_t _i13;
-            for (_i13 = 0; _i13 < _size9; ++_i13)
+            uint32_t _size8;
+            ::apache::thrift::protocol::TType _etype11;
+            xfer += iprot->readListBegin(_etype11, _size8);
+            this->rootCauseErrorIdList.resize(_size8);
+            uint32_t _i12;
+            for (_i12 = 0; _i12 < _size8; ++_i12)
             {
-              xfer += iprot->readString(this->rootCauseErrorIdList[_i13]);
+              xfer += iprot->readString(this->rootCauseErrorIdList[_i12]);
             }
             xfer += iprot->readListEnd();
           }
@@ -1646,10 +1521,10 @@ uint32_t ErrorDetails::write(::apache::thrift::protocol::TProtocol* oprot) const
     xfer += oprot->writeFieldBegin("rootCauseErrorIdList", ::apache::thrift::protocol::T_LIST, 9);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->rootCauseErrorIdList.size()));
-      std::vector<std::string> ::const_iterator _iter14;
-      for (_iter14 = this->rootCauseErrorIdList.begin(); _iter14 != this->rootCauseErrorIdList.end(); ++_iter14)
+      std::vector<std::string> ::const_iterator _iter13;
+      for (_iter13 = this->rootCauseErrorIdList.begin(); _iter13 != this->rootCauseErrorIdList.end(); ++_iter13)
       {
-        xfer += oprot->writeString((*_iter14));
+        xfer += oprot->writeString((*_iter13));
       }
       xfer += oprot->writeListEnd();
     }
@@ -1743,14 +1618,14 @@ uint32_t JobDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->errors.clear();
-            uint32_t _size15;
-            ::apache::thrift::protocol::TType _etype18;
-            xfer += iprot->readListBegin(_etype18, _size15);
-            this->errors.resize(_size15);
-            uint32_t _i19;
-            for (_i19 = 0; _i19 < _size15; ++_i19)
+            uint32_t _size14;
+            ::apache::thrift::protocol::TType _etype17;
+            xfer += iprot->readListBegin(_etype17, _size14);
+            this->errors.resize(_size14);
+            uint32_t _i18;
+            for (_i18 = 0; _i18 < _size14; ++_i18)
             {
-              xfer += this->errors[_i19].read(iprot);
+              xfer += this->errors[_i18].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -1822,10 +1697,10 @@ uint32_t JobDetails::write(::apache::thrift::protocol::TProtocol* oprot) const {
     xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 6);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->errors.size()));
-      std::vector<ErrorDetails> ::const_iterator _iter20;
-      for (_iter20 = this->errors.begin(); _iter20 != this->errors.end(); ++_iter20)
+      std::vector<ErrorDetails> ::const_iterator _iter19;
+      for (_iter19 = this->errors.begin(); _iter19 != this->errors.end(); ++_iter19)
       {
-        xfer += (*_iter20).write(oprot);
+        xfer += (*_iter19).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -1968,8 +1843,8 @@ void swap(DataTransferDetails &a, DataTransferDetails &b) {
   swap(a.__isset, b.__isset);
 }
 
-const char* TaskDetails::ascii_fingerprint = "5329C387E7633AF234038F8461F51097";
-const uint8_t TaskDetails::binary_fingerprint[16] = {0x53,0x29,0xC3,0x87,0xE7,0x63,0x3A,0xF2,0x34,0x03,0x8F,0x84,0x61,0xF5,0x10,0x97};
+const char* TaskDetails::ascii_fingerprint = "C0E50EB91BEBDC23A45D03BFD2BD630A";
+const uint8_t TaskDetails::binary_fingerprint[16] = {0xC0,0xE5,0x0E,0xB9,0x1B,0xEB,0xDC,0x23,0xA4,0x5D,0x03,0xBF,0xD2,0xBD,0x63,0x0A};
 
 uint32_t TaskDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
 
@@ -2036,14 +1911,14 @@ uint32_t TaskDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->applicationInputs.clear();
-            uint32_t _size21;
-            ::apache::thrift::protocol::TType _etype24;
-            xfer += iprot->readListBegin(_etype24, _size21);
-            this->applicationInputs.resize(_size21);
-            uint32_t _i25;
-            for (_i25 = 0; _i25 < _size21; ++_i25)
+            uint32_t _size20;
+            ::apache::thrift::protocol::TType _etype23;
+            xfer += iprot->readListBegin(_etype23, _size20);
+            this->applicationInputs.resize(_size20);
+            uint32_t _i24;
+            for (_i24 = 0; _i24 < _size20; ++_i24)
             {
-              xfer += this->applicationInputs[_i25].read(iprot);
+              xfer += this->applicationInputs[_i24].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -2056,14 +1931,14 @@ uint32_t TaskDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->applicationOutputs.clear();
-            uint32_t _size26;
-            ::apache::thrift::protocol::TType _etype29;
-            xfer += iprot->readListBegin(_etype29, _size26);
-            this->applicationOutputs.resize(_size26);
-            uint32_t _i30;
-            for (_i30 = 0; _i30 < _size26; ++_i30)
+            uint32_t _size25;
+            ::apache::thrift::protocol::TType _etype28;
+            xfer += iprot->readListBegin(_etype28, _size25);
+            this->applicationOutputs.resize(_size25);
+            uint32_t _i29;
+            for (_i29 = 0; _i29 < _size25; ++_i29)
             {
-              xfer += this->applicationOutputs[_i30].read(iprot);
+              xfer += this->applicationOutputs[_i29].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -2108,14 +1983,14 @@ uint32_t TaskDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->jobDetailsList.clear();
-            uint32_t _size31;
-            ::apache::thrift::protocol::TType _etype34;
-            xfer += iprot->readListBegin(_etype34, _size31);
-            this->jobDetailsList.resize(_size31);
-            uint32_t _i35;
-            for (_i35 = 0; _i35 < _size31; ++_i35)
+            uint32_t _size30;
+            ::apache::thrift::protocol::TType _etype33;
+            xfer += iprot->readListBegin(_etype33, _size30);
+            this->jobDetailsList.resize(_size30);
+            uint32_t _i34;
+            for (_i34 = 0; _i34 < _size30; ++_i34)
             {
-              xfer += this->jobDetailsList[_i35].read(iprot);
+              xfer += this->jobDetailsList[_i34].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -2128,14 +2003,14 @@ uint32_t TaskDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->dataTransferDetailsList.clear();
-            uint32_t _size36;
-            ::apache::thrift::protocol::TType _etype39;
-            xfer += iprot->readListBegin(_etype39, _size36);
-            this->dataTransferDetailsList.resize(_size36);
-            uint32_t _i40;
-            for (_i40 = 0; _i40 < _size36; ++_i40)
+            uint32_t _size35;
+            ::apache::thrift::protocol::TType _etype38;
+            xfer += iprot->readListBegin(_etype38, _size35);
+            this->dataTransferDetailsList.resize(_size35);
+            uint32_t _i39;
+            for (_i39 = 0; _i39 < _size35; ++_i39)
             {
-              xfer += this->dataTransferDetailsList[_i40].read(iprot);
+              xfer += this->dataTransferDetailsList[_i39].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -2148,14 +2023,14 @@ uint32_t TaskDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->errors.clear();
-            uint32_t _size41;
-            ::apache::thrift::protocol::TType _etype44;
-            xfer += iprot->readListBegin(_etype44, _size41);
-            this->errors.resize(_size41);
-            uint32_t _i45;
-            for (_i45 = 0; _i45 < _size41; ++_i45)
+            uint32_t _size40;
+            ::apache::thrift::protocol::TType _etype43;
+            xfer += iprot->readListBegin(_etype43, _size40);
+            this->errors.resize(_size40);
+            uint32_t _i44;
+            for (_i44 = 0; _i44 < _size40; ++_i44)
             {
-              xfer += this->errors[_i45].read(iprot);
+              xfer += this->errors[_i44].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -2210,10 +2085,10 @@ uint32_t TaskDetails::write(::apache::thrift::protocol::TProtocol* oprot) const
     xfer += oprot->writeFieldBegin("applicationInputs", ::apache::thrift::protocol::T_LIST, 6);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->applicationInputs.size()));
-      std::vector<DataObjectType> ::const_iterator _iter46;
-      for (_iter46 = this->applicationInputs.begin(); _iter46 != this->applicationInputs.end(); ++_iter46)
+      std::vector< ::apache::airavata::model::appcatalog::appinterface::InputDataObjectType> ::const_iterator _iter45;
+      for (_iter45 = this->applicationInputs.begin(); _iter45 != this->applicationInputs.end(); ++_iter45)
       {
-        xfer += (*_iter46).write(oprot);
+        xfer += (*_iter45).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -2223,10 +2098,10 @@ uint32_t TaskDetails::write(::apache::thrift::protocol::TProtocol* oprot) const
     xfer += oprot->writeFieldBegin("applicationOutputs", ::apache::thrift::protocol::T_LIST, 7);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->applicationOutputs.size()));
-      std::vector<DataObjectType> ::const_iterator _iter47;
-      for (_iter47 = this->applicationOutputs.begin(); _iter47 != this->applicationOutputs.end(); ++_iter47)
+      std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> ::const_iterator _iter46;
+      for (_iter46 = this->applicationOutputs.begin(); _iter46 != this->applicationOutputs.end(); ++_iter46)
       {
-        xfer += (*_iter47).write(oprot);
+        xfer += (*_iter46).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -2256,10 +2131,10 @@ uint32_t TaskDetails::write(::apache::thrift::protocol::TProtocol* oprot) const
     xfer += oprot->writeFieldBegin("jobDetailsList", ::apache::thrift::protocol::T_LIST, 12);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->jobDetailsList.size()));
-      std::vector<JobDetails> ::const_iterator _iter48;
-      for (_iter48 = this->jobDetailsList.begin(); _iter48 != this->jobDetailsList.end(); ++_iter48)
+      std::vector<JobDetails> ::const_iterator _iter47;
+      for (_iter47 = this->jobDetailsList.begin(); _iter47 != this->jobDetailsList.end(); ++_iter47)
       {
-        xfer += (*_iter48).write(oprot);
+        xfer += (*_iter47).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -2269,10 +2144,10 @@ uint32_t TaskDetails::write(::apache::thrift::protocol::TProtocol* oprot) const
     xfer += oprot->writeFieldBegin("dataTransferDetailsList", ::apache::thrift::protocol::T_LIST, 13);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->dataTransferDetailsList.size()));
-      std::vector<DataTransferDetails> ::const_iterator _iter49;
-      for (_iter49 = this->dataTransferDetailsList.begin(); _iter49 != this->dataTransferDetailsList.end(); ++_iter49)
+      std::vector<DataTransferDetails> ::const_iterator _iter48;
+      for (_iter48 = this->dataTransferDetailsList.begin(); _iter48 != this->dataTransferDetailsList.end(); ++_iter48)
       {
-        xfer += (*_iter49).write(oprot);
+        xfer += (*_iter48).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -2282,10 +2157,10 @@ uint32_t TaskDetails::write(::apache::thrift::protocol::TProtocol* oprot) const
     xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 14);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->errors.size()));
-      std::vector<ErrorDetails> ::const_iterator _iter50;
-      for (_iter50 = this->errors.begin(); _iter50 != this->errors.end(); ++_iter50)
+      std::vector<ErrorDetails> ::const_iterator _iter49;
+      for (_iter49 = this->errors.begin(); _iter49 != this->errors.end(); ++_iter49)
       {
-        xfer += (*_iter50).write(oprot);
+        xfer += (*_iter49).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -2315,8 +2190,8 @@ void swap(TaskDetails &a, TaskDetails &b) {
   swap(a.__isset, b.__isset);
 }
 
-const char* WorkflowNodeDetails::ascii_fingerprint = "6ABC52FB94DCEC8D6AA3F1F3188E2691";
-const uint8_t WorkflowNodeDetails::binary_fingerprint[16] = {0x6A,0xBC,0x52,0xFB,0x94,0xDC,0xEC,0x8D,0x6A,0xA3,0xF1,0xF3,0x18,0x8E,0x26,0x91};
+const char* WorkflowNodeDetails::ascii_fingerprint = "F9600D5A8E84EAF65A64E38C18DFACAE";
+const uint8_t WorkflowNodeDetails::binary_fingerprint[16] = {0xF9,0x60,0x0D,0x5A,0x8E,0x84,0xEA,0xF6,0x5A,0x64,0xE3,0x8C,0x18,0xDF,0xAC,0xAE};
 
 uint32_t WorkflowNodeDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
 
@@ -2367,9 +2242,9 @@ uint32_t WorkflowNodeDetails::read(::apache::thrift::protocol::TProtocol* iprot)
         break;
       case 4:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast51;
-          xfer += iprot->readI32(ecast51);
-          this->executionUnit = (ExecutionUnit::type)ecast51;
+          int32_t ecast50;
+          xfer += iprot->readI32(ecast50);
+          this->executionUnit = (ExecutionUnit::type)ecast50;
           isset_executionUnit = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -2387,14 +2262,14 @@ uint32_t WorkflowNodeDetails::read(::apache::thrift::protocol::TProtocol* iprot)
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->nodeInputs.clear();
-            uint32_t _size52;
-            ::apache::thrift::protocol::TType _etype55;
-            xfer += iprot->readListBegin(_etype55, _size52);
-            this->nodeInputs.resize(_size52);
-            uint32_t _i56;
-            for (_i56 = 0; _i56 < _size52; ++_i56)
+            uint32_t _size51;
+            ::apache::thrift::protocol::TType _etype54;
+            xfer += iprot->readListBegin(_etype54, _size51);
+            this->nodeInputs.resize(_size51);
+            uint32_t _i55;
+            for (_i55 = 0; _i55 < _size51; ++_i55)
             {
-              xfer += this->nodeInputs[_i56].read(iprot);
+              xfer += this->nodeInputs[_i55].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -2407,14 +2282,14 @@ uint32_t WorkflowNodeDetails::read(::apache::thrift::protocol::TProtocol* iprot)
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->nodeOutputs.clear();
-            uint32_t _size57;
-            ::apache::thrift::protocol::TType _etype60;
-            xfer += iprot->readListBegin(_etype60, _size57);
-            this->nodeOutputs.resize(_size57);
-            uint32_t _i61;
-            for (_i61 = 0; _i61 < _size57; ++_i61)
+            uint32_t _size56;
+            ::apache::thrift::protocol::TType _etype59;
+            xfer += iprot->readListBegin(_etype59, _size56);
+            this->nodeOutputs.resize(_size56);
+            uint32_t _i60;
+            for (_i60 = 0; _i60 < _size56; ++_i60)
             {
-              xfer += this->nodeOutputs[_i61].read(iprot);
+              xfer += this->nodeOutputs[_i60].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -2435,14 +2310,14 @@ uint32_t WorkflowNodeDetails::read(::apache::thrift::protocol::TProtocol* iprot)
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->taskDetailsList.clear();
-            uint32_t _size62;
-            ::apache::thrift::protocol::TType _etype65;
-            xfer += iprot->readListBegin(_etype65, _size62);
-            this->taskDetailsList.resize(_size62);
-            uint32_t _i66;
-            for (_i66 = 0; _i66 < _size62; ++_i66)
+            uint32_t _size61;
+            ::apache::thrift::protocol::TType _etype64;
+            xfer += iprot->readListBegin(_etype64, _size61);
+            this->taskDetailsList.resize(_size61);
+            uint32_t _i65;
+            for (_i65 = 0; _i65 < _size61; ++_i65)
             {
-              xfer += this->taskDetailsList[_i66].read(iprot);
+              xfer += this->taskDetailsList[_i65].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -2455,14 +2330,14 @@ uint32_t WorkflowNodeDetails::read(::apache::thrift::protocol::TProtocol* iprot)
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->errors.clear();
-            uint32_t _size67;
-            ::apache::thrift::protocol::TType _etype70;
-            xfer += iprot->readListBegin(_etype70, _size67);
-            this->errors.resize(_size67);
-            uint32_t _i71;
-            for (_i71 = 0; _i71 < _size67; ++_i71)
+            uint32_t _size66;
+            ::apache::thrift::protocol::TType _etype69;
+            xfer += iprot->readListBegin(_etype69, _size66);
+            this->errors.resize(_size66);
+            uint32_t _i70;
+            for (_i70 = 0; _i70 < _size66; ++_i70)
             {
-              xfer += this->errors[_i71].read(iprot);
+              xfer += this->errors[_i70].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -2519,10 +2394,10 @@ uint32_t WorkflowNodeDetails::write(::apache::thrift::protocol::TProtocol* oprot
     xfer += oprot->writeFieldBegin("nodeInputs", ::apache::thrift::protocol::T_LIST, 6);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->nodeInputs.size()));
-      std::vector<DataObjectType> ::const_iterator _iter72;
-      for (_iter72 = this->nodeInputs.begin(); _iter72 != this->nodeInputs.end(); ++_iter72)
+      std::vector< ::apache::airavata::model::appcatalog::appinterface::InputDataObjectType> ::const_iterator _iter71;
+      for (_iter71 = this->nodeInputs.begin(); _iter71 != this->nodeInputs.end(); ++_iter71)
       {
-        xfer += (*_iter72).write(oprot);
+        xfer += (*_iter71).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -2532,10 +2407,10 @@ uint32_t WorkflowNodeDetails::write(::apache::thrift::protocol::TProtocol* oprot
     xfer += oprot->writeFieldBegin("nodeOutputs", ::apache::thrift::protocol::T_LIST, 7);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->nodeOutputs.size()));
-      std::vector<DataObjectType> ::const_iterator _iter73;
-      for (_iter73 = this->nodeOutputs.begin(); _iter73 != this->nodeOutputs.end(); ++_iter73)
+      std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> ::const_iterator _iter72;
+      for (_iter72 = this->nodeOutputs.begin(); _iter72 != this->nodeOutputs.end(); ++_iter72)
       {
-        xfer += (*_iter73).write(oprot);
+        xfer += (*_iter72).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -2550,10 +2425,10 @@ uint32_t WorkflowNodeDetails::write(::apache::thrift::protocol::TProtocol* oprot
     xfer += oprot->writeFieldBegin("taskDetailsList", ::apache::thrift::protocol::T_LIST, 9);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->taskDetailsList.size()));
-      std::vector<TaskDetails> ::const_iterator _iter74;
-      for (_iter74 = this->taskDetailsList.begin(); _iter74 != this->taskDetailsList.end(); ++_iter74)
+      std::vector<TaskDetails> ::const_iterator _iter73;
+      for (_iter73 = this->taskDetailsList.begin(); _iter73 != this->taskDetailsList.end(); ++_iter73)
       {
-        xfer += (*_iter74).write(oprot);
+        xfer += (*_iter73).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -2563,10 +2438,10 @@ uint32_t WorkflowNodeDetails::write(::apache::thrift::protocol::TProtocol* oprot
     xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 10);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->errors.size()));
-      std::vector<ErrorDetails> ::const_iterator _iter75;
-      for (_iter75 = this->errors.begin(); _iter75 != this->errors.end(); ++_iter75)
+      std::vector<ErrorDetails> ::const_iterator _iter74;
+      for (_iter74 = this->errors.begin(); _iter74 != this->errors.end(); ++_iter74)
       {
-        xfer += (*_iter75).write(oprot);
+        xfer += (*_iter74).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -2708,14 +2583,14 @@ uint32_t ValidationResults::read(::apache::thrift::protocol::TProtocol* iprot) {
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->validationResultList.clear();
-            uint32_t _size76;
-            ::apache::thrift::protocol::TType _etype79;
-            xfer += iprot->readListBegin(_etype79, _size76);
-            this->validationResultList.resize(_size76);
-            uint32_t _i80;
-            for (_i80 = 0; _i80 < _size76; ++_i80)
+            uint32_t _size75;
+            ::apache::thrift::protocol::TType _etype78;
+            xfer += iprot->readListBegin(_etype78, _size75);
+            this->validationResultList.resize(_size75);
+            uint32_t _i79;
+            for (_i79 = 0; _i79 < _size75; ++_i79)
             {
-              xfer += this->validationResultList[_i80].read(iprot);
+              xfer += this->validationResultList[_i79].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -2751,10 +2626,10 @@ uint32_t ValidationResults::write(::apache::thrift::protocol::TProtocol* oprot)
   xfer += oprot->writeFieldBegin("validationResultList", ::apache::thrift::protocol::T_LIST, 2);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->validationResultList.size()));
-    std::vector<ValidatorResult> ::const_iterator _iter81;
-    for (_iter81 = this->validationResultList.begin(); _iter81 != this->validationResultList.end(); ++_iter81)
+    std::vector<ValidatorResult> ::const_iterator _iter80;
+    for (_iter80 = this->validationResultList.begin(); _iter80 != this->validationResultList.end(); ++_iter80)
     {
-      xfer += (*_iter81).write(oprot);
+      xfer += (*_iter80).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -2771,8 +2646,8 @@ void swap(ValidationResults &a, ValidationResults &b) {
   swap(a.validationResultList, b.validationResultList);
 }
 
-const char* Experiment::ascii_fingerprint = "EAE6C4E7D5F1EDAC82E4630FDDD892A9";
-const uint8_t Experiment::binary_fingerprint[16] = {0xEA,0xE6,0xC4,0xE7,0xD5,0xF1,0xED,0xAC,0x82,0xE4,0x63,0x0F,0xDD,0xD8,0x92,0xA9};
+const char* Experiment::ascii_fingerprint = "CDFB79AEABF988D5D38D8EEAEEBECC6F";
+const uint8_t Experiment::binary_fingerprint[16] = {0xCD,0xFB,0x79,0xAE,0xAB,0xF9,0x88,0xD5,0xD3,0x8D,0x8E,0xEA,0xEE,0xBE,0xCC,0x6F};
 
 uint32_t Experiment::read(::apache::thrift::protocol::TProtocol* iprot) {
 
@@ -2898,14 +2773,14 @@ uint32_t Experiment::read(::apache::thrift::protocol::TProtocol* iprot) {
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->experimentInputs.clear();
-            uint32_t _size82;
-            ::apache::thrift::protocol::TType _etype85;
-            xfer += iprot->readListBegin(_etype85, _size82);
-            this->experimentInputs.resize(_size82);
-            uint32_t _i86;
-            for (_i86 = 0; _i86 < _size82; ++_i86)
+            uint32_t _size81;
+            ::apache::thrift::protocol::TType _etype84;
+            xfer += iprot->readListBegin(_etype84, _size81);
+            this->experimentInputs.resize(_size81);
+            uint32_t _i85;
+            for (_i85 = 0; _i85 < _size81; ++_i85)
             {
-              xfer += this->experimentInputs[_i86].read(iprot);
+              xfer += this->experimentInputs[_i85].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -2918,14 +2793,14 @@ uint32_t Experiment::read(::apache::thrift::protocol::TProtocol* iprot) {
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->experimentOutputs.clear();
-            uint32_t _size87;
-            ::apache::thrift::protocol::TType _etype90;
-            xfer += iprot->readListBegin(_etype90, _size87);
-            this->experimentOutputs.resize(_size87);
-            uint32_t _i91;
-            for (_i91 = 0; _i91 < _size87; ++_i91)
+            uint32_t _size86;
+            ::apache::thrift::protocol::TType _etype89;
+            xfer += iprot->readListBegin(_etype89, _size86);
+            this->experimentOutputs.resize(_size86);
+            uint32_t _i90;
+            for (_i90 = 0; _i90 < _size86; ++_i90)
             {
-              xfer += this->experimentOutputs[_i91].read(iprot);
+              xfer += this->experimentOutputs[_i90].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -2946,14 +2821,14 @@ uint32_t Experiment::read(::apache::thrift::protocol::TProtocol* iprot) {
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->stateChangeList.clear();
-            uint32_t _size92;
-            ::apache::thrift::protocol::TType _etype95;
-            xfer += iprot->readListBegin(_etype95, _size92);
-            this->stateChangeList.resize(_size92);
-            uint32_t _i96;
-            for (_i96 = 0; _i96 < _size92; ++_i96)
+            uint32_t _size91;
+            ::apache::thrift::protocol::TType _etype94;
+            xfer += iprot->readListBegin(_etype94, _size91);
+            this->stateChangeList.resize(_size91);
+            uint32_t _i95;
+            for (_i95 = 0; _i95 < _size91; ++_i95)
             {
-              xfer += this->stateChangeList[_i96].read(iprot);
+              xfer += this->stateChangeList[_i95].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -2966,14 +2841,14 @@ uint32_t Experiment::read(::apache::thrift::protocol::TProtocol* iprot) {
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->workflowNodeDetailsList.clear();
-            uint32_t _size97;
-            ::apache::thrift::protocol::TType _etype100;
-            xfer += iprot->readListBegin(_etype100, _size97);
-            this->workflowNodeDetailsList.resize(_size97);
-            uint32_t _i101;
-            for (_i101 = 0; _i101 < _size97; ++_i101)
+            uint32_t _size96;
+            ::apache::thrift::protocol::TType _etype99;
+            xfer += iprot->readListBegin(_etype99, _size96);
+            this->workflowNodeDetailsList.resize(_size96);
+            uint32_t _i100;
+            for (_i100 = 0; _i100 < _size96; ++_i100)
             {
-              xfer += this->workflowNodeDetailsList[_i101].read(iprot);
+              xfer += this->workflowNodeDetailsList[_i100].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -2986,14 +2861,14 @@ uint32_t Experiment::read(::apache::thrift::protocol::TProtocol* iprot) {
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->errors.clear();
-            uint32_t _size102;
-            ::apache::thrift::protocol::TType _etype105;
-            xfer += iprot->readListBegin(_etype105, _size102);
-            this->errors.resize(_size102);
-            uint32_t _i106;
-            for (_i106 = 0; _i106 < _size102; ++_i106)
+            uint32_t _size101;
+            ::apache::thrift::protocol::TType _etype104;
+            xfer += iprot->readListBegin(_etype104, _size101);
+            this->errors.resize(_size101);
+            uint32_t _i105;
+            for (_i105 = 0; _i105 < _size101; ++_i105)
             {
-              xfer += this->errors[_i106].read(iprot);
+              xfer += this->errors[_i105].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -3086,10 +2961,10 @@ uint32_t Experiment::write(::apache::thrift::protocol::TProtocol* oprot) const {
     xfer += oprot->writeFieldBegin("experimentInputs", ::apache::thrift::protocol::T_LIST, 13);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->experimentInputs.size()));
-      std::vector<DataObjectType> ::const_iterator _iter107;
-      for (_iter107 = this->experimentInputs.begin(); _iter107 != this->experimentInputs.end(); ++_iter107)
+      std::vector< ::apache::airavata::model::appcatalog::appinterface::InputDataObjectType> ::const_iterator _iter106;
+      for (_iter106 = this->experimentInputs.begin(); _iter106 != this->experimentInputs.end(); ++_iter106)
       {
-        xfer += (*_iter107).write(oprot);
+        xfer += (*_iter106).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -3099,10 +2974,10 @@ uint32_t Experiment::write(::apache::thrift::protocol::TProtocol* oprot) const {
     xfer += oprot->writeFieldBegin("experimentOutputs", ::apache::thrift::protocol::T_LIST, 14);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->experimentOutputs.size()));
-      std::vector<DataObjectType> ::const_iterator _iter108;
-      for (_iter108 = this->experimentOutputs.begin(); _iter108 != this->experimentOutputs.end(); ++_iter108)
+      std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> ::const_iterator _iter107;
+      for (_iter107 = this->experimentOutputs.begin(); _iter107 != this->experimentOutputs.end(); ++_iter107)
       {
-        xfer += (*_iter108).write(oprot);
+        xfer += (*_iter107).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -3117,10 +2992,10 @@ uint32_t Experiment::write(::apache::thrift::protocol::TProtocol* oprot) const {
     xfer += oprot->writeFieldBegin("stateChangeList", ::apache::thrift::protocol::T_LIST, 16);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->stateChangeList.size()));
-      std::vector<WorkflowNodeStatus> ::const_iterator _iter109;
-      for (_iter109 = this->stateChangeList.begin(); _iter109 != this->stateChangeList.end(); ++_iter109)
+      std::vector<WorkflowNodeStatus> ::const_iterator _iter108;
+      for (_iter108 = this->stateChangeList.begin(); _iter108 != this->stateChangeList.end(); ++_iter108)
       {
-        xfer += (*_iter109).write(oprot);
+        xfer += (*_iter108).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -3130,10 +3005,10 @@ uint32_t Experiment::write(::apache::thrift::protocol::TProtocol* oprot) const {
     xfer += oprot->writeFieldBegin("workflowNodeDetailsList", ::apache::thrift::protocol::T_LIST, 17);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->workflowNodeDetailsList.size()));
-      std::vector<WorkflowNodeDetails> ::const_iterator _iter110;
-      for (_iter110 = this->workflowNodeDetailsList.begin(); _iter110 != this->workflowNodeDetailsList.end(); ++_iter110)
+      std::vector<WorkflowNodeDetails> ::const_iterator _iter109;
+      for (_iter109 = this->workflowNodeDetailsList.begin(); _iter109 != this->workflowNodeDetailsList.end(); ++_iter109)
       {
-        xfer += (*_iter110).write(oprot);
+        xfer += (*_iter109).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -3143,10 +3018,10 @@ uint32_t Experiment::write(::apache::thrift::protocol::TProtocol* oprot) const {
     xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 18);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->errors.size()));
-      std::vector<ErrorDetails> ::const_iterator _iter111;
-      for (_iter111 = this->errors.begin(); _iter111 != this->errors.end(); ++_iter111)
+      std::vector<ErrorDetails> ::const_iterator _iter110;
+      for (_iter110 = this->errors.begin(); _iter110 != this->errors.end(); ++_iter110)
       {
-        xfer += (*_iter111).write(oprot);
+        xfer += (*_iter110).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -3275,14 +3150,14 @@ uint32_t ExperimentSummary::read(::apache::thrift::protocol::TProtocol* iprot) {
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->errors.clear();
-            uint32_t _size112;
-            ::apache::thrift::protocol::TType _etype115;
-            xfer += iprot->readListBegin(_etype115, _size112);
-            this->errors.resize(_size112);
-            uint32_t _i116;
-            for (_i116 = 0; _i116 < _size112; ++_i116)
+            uint32_t _size111;
+            ::apache::thrift::protocol::TType _etype114;
+            xfer += iprot->readListBegin(_etype114, _size111);
+            this->errors.resize(_size111);
+            uint32_t _i115;
+            for (_i115 = 0; _i115 < _size111; ++_i115)
             {
-              xfer += this->errors[_i116].read(iprot);
+              xfer += this->errors[_i115].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -3355,10 +3230,10 @@ uint32_t ExperimentSummary::write(::apache::thrift::protocol::TProtocol* oprot)
     xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 9);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->errors.size()));
-      std::vector<ErrorDetails> ::const_iterator _iter117;
-      for (_iter117 = this->errors.begin(); _iter117 != this->errors.end(); ++_iter117)
+      std::vector<ErrorDetails> ::const_iterator _iter116;
+      for (_iter116 = this->errors.begin(); _iter116 != this->errors.end(); ++_iter116)
       {
-        xfer += (*_iter117).write(oprot);
+        xfer += (*_iter116).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/198de990/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h
index fa1803e..c4edbb7 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h
@@ -31,6 +31,7 @@
 
 #include <thrift/cxxfunctional.h>
 #include "computeResourceModel_types.h"
+#include "applicationInterfaceModel_types.h"
 
 
 namespace apache { namespace airavata { namespace model { namespace workspace { namespace experiment {
@@ -164,18 +165,6 @@ struct CorrectiveAction {
 
 extern const std::map<int, const char*> _CorrectiveAction_VALUES_TO_NAMES;
 
-struct DataType {
-  enum type {
-    STRING = 0,
-    INTEGER = 1,
-    URI = 2,
-    STDOUT = 3,
-    STDERR = 4
-  };
-};
-
-extern const std::map<int, const char*> _DataType_VALUES_TO_NAMES;
-
 struct ExecutionUnit {
   enum type {
     INPUT = 0,
@@ -505,81 +494,6 @@ class ApplicationStatus {
 
 void swap(ApplicationStatus &a, ApplicationStatus &b);
 
-typedef struct _DataObjectType__isset {
-  _DataObjectType__isset() : value(false), type(false), metaData(false) {}
-  bool value;
-  bool type;
-  bool metaData;
-} _DataObjectType__isset;
-
-class DataObjectType {
- public:
-
-  static const char* ascii_fingerprint; // = "544FBB8031AE070AEEB7AC0E4A90E43C";
-  static const uint8_t binary_fingerprint[16]; // = {0x54,0x4F,0xBB,0x80,0x31,0xAE,0x07,0x0A,0xEE,0xB7,0xAC,0x0E,0x4A,0x90,0xE4,0x3C};
-
-  DataObjectType() : key(), value(), type((DataType::type)0), metaData() {
-  }
-
-  virtual ~DataObjectType() throw() {}
-
-  std::string key;
-  std::string value;
-  DataType::type type;
-  std::string metaData;
-
-  _DataObjectType__isset __isset;
-
-  void __set_key(const std::string& val) {
-    key = val;
-  }
-
-  void __set_value(const std::string& val) {
-    value = val;
-    __isset.value = true;
-  }
-
-  void __set_type(const DataType::type val) {
-    type = val;
-    __isset.type = true;
-  }
-
-  void __set_metaData(const std::string& val) {
-    metaData = val;
-    __isset.metaData = true;
-  }
-
-  bool operator == (const DataObjectType & rhs) const
-  {
-    if (!(key == rhs.key))
-      return false;
-    if (__isset.value != rhs.__isset.value)
-      return false;
-    else if (__isset.value && !(value == rhs.value))
-      return false;
-    if (__isset.type != rhs.__isset.type)
-      return false;
-    else if (__isset.type && !(type == rhs.type))
-      return false;
-    if (__isset.metaData != rhs.__isset.metaData)
-      return false;
-    else if (__isset.metaData && !(metaData == rhs.metaData))
-      return false;
-    return true;
-  }
-  bool operator != (const DataObjectType &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const DataObjectType & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(DataObjectType &a, DataObjectType &b);
-
 typedef struct _ComputationalResourceScheduling__isset {
   _ComputationalResourceScheduling__isset() : resourceHostId(false), totalCPUCount(false), nodeCount(false), numberOfThreads(false), queueName(false), wallTimeLimit(false), jobStartTime(false), totalPhysicalMemory(false), computationalProjectAccount(false) {}
   bool resourceHostId;
@@ -1380,8 +1294,8 @@ typedef struct _TaskDetails__isset {
 class TaskDetails {
  public:
 
-  static const char* ascii_fingerprint; // = "5329C387E7633AF234038F8461F51097";
-  static const uint8_t binary_fingerprint[16]; // = {0x53,0x29,0xC3,0x87,0xE7,0x63,0x3A,0xF2,0x34,0x03,0x8F,0x84,0x61,0xF5,0x10,0x97};
+  static const char* ascii_fingerprint; // = "C0E50EB91BEBDC23A45D03BFD2BD630A";
+  static const uint8_t binary_fingerprint[16]; // = {0xC0,0xE5,0x0E,0xB9,0x1B,0xEB,0xDC,0x23,0xA4,0x5D,0x03,0xBF,0xD2,0xBD,0x63,0x0A};
 
   TaskDetails() : taskID("DO_NOT_SET_AT_CLIENTS"), creationTime(0), applicationId(), applicationVersion(), applicationDeploymentId() {
   }
@@ -1393,8 +1307,8 @@ class TaskDetails {
   std::string applicationId;
   std::string applicationVersion;
   std::string applicationDeploymentId;
-  std::vector<DataObjectType>  applicationInputs;
-  std::vector<DataObjectType>  applicationOutputs;
+  std::vector< ::apache::airavata::model::appcatalog::appinterface::InputDataObjectType>  applicationInputs;
+  std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType>  applicationOutputs;
   ComputationalResourceScheduling taskScheduling;
   AdvancedInputDataHandling advancedInputDataHandling;
   AdvancedOutputDataHandling advancedOutputDataHandling;
@@ -1429,12 +1343,12 @@ class TaskDetails {
     __isset.applicationDeploymentId = true;
   }
 
-  void __set_applicationInputs(const std::vector<DataObjectType> & val) {
+  void __set_applicationInputs(const std::vector< ::apache::airavata::model::appcatalog::appinterface::InputDataObjectType> & val) {
     applicationInputs = val;
     __isset.applicationInputs = true;
   }
 
-  void __set_applicationOutputs(const std::vector<DataObjectType> & val) {
+  void __set_applicationOutputs(const std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> & val) {
     applicationOutputs = val;
     __isset.applicationOutputs = true;
   }
@@ -1559,8 +1473,8 @@ typedef struct _WorkflowNodeDetails__isset {
 class WorkflowNodeDetails {
  public:
 
-  static const char* ascii_fingerprint; // = "6ABC52FB94DCEC8D6AA3F1F3188E2691";
-  static const uint8_t binary_fingerprint[16]; // = {0x6A,0xBC,0x52,0xFB,0x94,0xDC,0xEC,0x8D,0x6A,0xA3,0xF1,0xF3,0x18,0x8E,0x26,0x91};
+  static const char* ascii_fingerprint; // = "F9600D5A8E84EAF65A64E38C18DFACAE";
+  static const uint8_t binary_fingerprint[16]; // = {0xF9,0x60,0x0D,0x5A,0x8E,0x84,0xEA,0xF6,0x5A,0x64,0xE3,0x8C,0x18,0xDF,0xAC,0xAE};
 
   WorkflowNodeDetails() : nodeInstanceId("DO_NOT_SET_AT_CLIENTS"), creationTime(0), nodeName("SINGLE_APP_NODE"), executionUnit((ExecutionUnit::type)1), executionUnitData() {
     executionUnit = (ExecutionUnit::type)1;
@@ -1574,8 +1488,8 @@ class WorkflowNodeDetails {
   std::string nodeName;
   ExecutionUnit::type executionUnit;
   std::string executionUnitData;
-  std::vector<DataObjectType>  nodeInputs;
-  std::vector<DataObjectType>  nodeOutputs;
+  std::vector< ::apache::airavata::model::appcatalog::appinterface::InputDataObjectType>  nodeInputs;
+  std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType>  nodeOutputs;
   WorkflowNodeStatus workflowNodeStatus;
   std::vector<TaskDetails>  taskDetailsList;
   std::vector<ErrorDetails>  errors;
@@ -1604,12 +1518,12 @@ class WorkflowNodeDetails {
     __isset.executionUnitData = true;
   }
 
-  void __set_nodeInputs(const std::vector<DataObjectType> & val) {
+  void __set_nodeInputs(const std::vector< ::apache::airavata::model::appcatalog::appinterface::InputDataObjectType> & val) {
     nodeInputs = val;
     __isset.nodeInputs = true;
   }
 
-  void __set_nodeOutputs(const std::vector<DataObjectType> & val) {
+  void __set_nodeOutputs(const std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> & val) {
     nodeOutputs = val;
     __isset.nodeOutputs = true;
   }
@@ -1798,8 +1712,8 @@ typedef struct _Experiment__isset {
 class Experiment {
  public:
 
-  static const char* ascii_fingerprint; // = "EAE6C4E7D5F1EDAC82E4630FDDD892A9";
-  static const uint8_t binary_fingerprint[16]; // = {0xEA,0xE6,0xC4,0xE7,0xD5,0xF1,0xED,0xAC,0x82,0xE4,0x63,0x0F,0xDD,0xD8,0x92,0xA9};
+  static const char* ascii_fingerprint; // = "CDFB79AEABF988D5D38D8EEAEEBECC6F";
+  static const uint8_t binary_fingerprint[16]; // = {0xCD,0xFB,0x79,0xAE,0xAB,0xF9,0x88,0xD5,0xD3,0x8D,0x8E,0xEA,0xEE,0xBE,0xCC,0x6F};
 
   Experiment() : experimentID("DO_NOT_SET_AT_CLIENTS"), projectID("DEFAULT"), creationTime(0), userName(), name(), description(), applicationId(), applicationVersion(), workflowTemplateId(), workflowTemplateVersion(), workflowExecutionInstanceId() {
   }
@@ -1818,8 +1732,8 @@ class Experiment {
   std::string workflowTemplateVersion;
   UserConfigurationData userConfigurationData;
   std::string workflowExecutionInstanceId;
-  std::vector<DataObjectType>  experimentInputs;
-  std::vector<DataObjectType>  experimentOutputs;
+  std::vector< ::apache::airavata::model::appcatalog::appinterface::InputDataObjectType>  experimentInputs;
+  std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType>  experimentOutputs;
   ExperimentStatus experimentStatus;
   std::vector<WorkflowNodeStatus>  stateChangeList;
   std::vector<WorkflowNodeDetails>  workflowNodeDetailsList;
@@ -1883,12 +1797,12 @@ class Experiment {
     __isset.workflowExecutionInstanceId = true;
   }
 
-  void __set_experimentInputs(const std::vector<DataObjectType> & val) {
+  void __set_experimentInputs(const std::vector< ::apache::airavata::model::appcatalog::appinterface::InputDataObjectType> & val) {
     experimentInputs = val;
     __isset.experimentInputs = true;
   }
 
-  void __set_experimentOutputs(const std::vector<DataObjectType> & val) {
+  void __set_experimentOutputs(const std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> & val) {
     experimentOutputs = val;
     __isset.experimentOutputs = true;
   }

http://git-wip-us.apache.org/repos/asf/airavata/blob/198de990/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messagingEvents_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messagingEvents_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messagingEvents_types.cpp
index c661759..4bfd1bc 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messagingEvents_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messagingEvents_types.cpp
@@ -607,8 +607,8 @@ void swap(TaskStatusChangeRequestEvent &a, TaskStatusChangeRequestEvent &b) {
   swap(a.taskIdentity, b.taskIdentity);
 }
 
-const char* TaskOutputChangeEvent::ascii_fingerprint = "A7F4390C8E4A64CE48431C1FB6A45F50";
-const uint8_t TaskOutputChangeEvent::binary_fingerprint[16] = {0xA7,0xF4,0x39,0x0C,0x8E,0x4A,0x64,0xCE,0x48,0x43,0x1C,0x1F,0xB6,0xA4,0x5F,0x50};
+const char* TaskOutputChangeEvent::ascii_fingerprint = "850570A8E8883AE24DE92AFC9AA86C7E";
+const uint8_t TaskOutputChangeEvent::binary_fingerprint[16] = {0x85,0x05,0x70,0xA8,0xE8,0x88,0x3A,0xE2,0x4D,0xE9,0x2A,0xFC,0x9A,0xA8,0x6C,0x7E};
 
 uint32_t TaskOutputChangeEvent::read(::apache::thrift::protocol::TProtocol* iprot) {
 
@@ -683,7 +683,7 @@ uint32_t TaskOutputChangeEvent::write(::apache::thrift::protocol::TProtocol* opr
   xfer += oprot->writeFieldBegin("output", ::apache::thrift::protocol::T_LIST, 1);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->output.size()));
-    std::vector< ::apache::airavata::model::workspace::experiment::DataObjectType> ::const_iterator _iter9;
+    std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> ::const_iterator _iter9;
     for (_iter9 = this->output.begin(); _iter9 != this->output.end(); ++_iter9)
     {
       xfer += (*_iter9).write(oprot);

http://git-wip-us.apache.org/repos/asf/airavata/blob/198de990/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messagingEvents_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messagingEvents_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messagingEvents_types.h
index 4eefe50..61dc55f 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messagingEvents_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messagingEvents_types.h
@@ -31,6 +31,7 @@
 
 #include <thrift/cxxfunctional.h>
 #include "experimentModel_types.h"
+#include "applicationInterfaceModel_types.h"
 
 
 namespace apache { namespace airavata { namespace model { namespace messaging { namespace event {
@@ -353,18 +354,18 @@ void swap(TaskStatusChangeRequestEvent &a, TaskStatusChangeRequestEvent &b);
 class TaskOutputChangeEvent {
  public:
 
-  static const char* ascii_fingerprint; // = "A7F4390C8E4A64CE48431C1FB6A45F50";
-  static const uint8_t binary_fingerprint[16]; // = {0xA7,0xF4,0x39,0x0C,0x8E,0x4A,0x64,0xCE,0x48,0x43,0x1C,0x1F,0xB6,0xA4,0x5F,0x50};
+  static const char* ascii_fingerprint; // = "850570A8E8883AE24DE92AFC9AA86C7E";
+  static const uint8_t binary_fingerprint[16]; // = {0x85,0x05,0x70,0xA8,0xE8,0x88,0x3A,0xE2,0x4D,0xE9,0x2A,0xFC,0x9A,0xA8,0x6C,0x7E};
 
   TaskOutputChangeEvent() {
   }
 
   virtual ~TaskOutputChangeEvent() throw() {}
 
-  std::vector< ::apache::airavata::model::workspace::experiment::DataObjectType>  output;
+  std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType>  output;
   TaskIdentifier taskIdentity;
 
-  void __set_output(const std::vector< ::apache::airavata::model::workspace::experiment::DataObjectType> & val) {
+  void __set_output(const std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> & val) {
     output = val;
   }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/198de990/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
index 20134a8..ba421d8 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
@@ -11357,7 +11357,7 @@ class Airavata_getExperimentOutputs_result {
           'etype' => TType::STRUCT,
           'elem' => array(
             'type' => TType::STRUCT,
-            'class' => '\Airavata\Model\Workspace\Experiment\DataObjectType',
+            'class' => '\Airavata\Model\AppCatalog\AppInterface\OutputDataObjectType',
             ),
           ),
         1 => array(
@@ -11429,7 +11429,7 @@ class Airavata_getExperimentOutputs_result {
             for ($_i74 = 0; $_i74 < $_size70; ++$_i74)
             {
               $elem75 = null;
-              $elem75 = new \Airavata\Model\Workspace\Experiment\DataObjectType();
+              $elem75 = new \Airavata\Model\AppCatalog\AppInterface\OutputDataObjectType();
               $xfer += $elem75->read($input);
               $this->success []= $elem75;
             }

http://git-wip-us.apache.org/repos/asf/airavata/blob/198de990/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php
index 0be911b..d20392a 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php
@@ -705,7 +705,7 @@ class TaskOutputChangeEvent {
           'etype' => TType::STRUCT,
           'elem' => array(
             'type' => TType::STRUCT,
-            'class' => '\Airavata\Model\Workspace\Experiment\DataObjectType',
+            'class' => '\Airavata\Model\AppCatalog\AppInterface\OutputDataObjectType',
             ),
           ),
         2 => array(
@@ -753,7 +753,7 @@ class TaskOutputChangeEvent {
             for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
             {
               $elem5 = null;
-              $elem5 = new \Airavata\Model\Workspace\Experiment\DataObjectType();
+              $elem5 = new \Airavata\Model\AppCatalog\AppInterface\OutputDataObjectType();
               $xfer += $elem5->read($input);
               $this->output []= $elem5;
             }