airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sma...@apache.org
Subject [10/44] airavata git commit: changing few API methods to adhere to security solution.
Date Tue, 21 Jul 2015 04:41:53 GMT
http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp
new file mode 100644
index 0000000..021d660
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp
@@ -0,0 +1,1444 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "experiment_model_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+namespace apache { namespace airavata { namespace model { namespace experiment {
+
+int _kExperimentTypeValues[] = {
+  ExperimentType::SINGLE_APPLICATION,
+  ExperimentType::WORKFLOW
+};
+const char* _kExperimentTypeNames[] = {
+  "SINGLE_APPLICATION",
+  "WORKFLOW"
+};
+const std::map<int, const char*> _ExperimentType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(2, _kExperimentTypeValues, _kExperimentTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kExperimentSearchFieldsValues[] = {
+  ExperimentSearchFields::EXPERIMENT_NAME,
+  ExperimentSearchFields::EXPERIMENT_DESC,
+  ExperimentSearchFields::APPLICATION_ID,
+  ExperimentSearchFields::FROM_DATE,
+  ExperimentSearchFields::TO_DATE,
+  ExperimentSearchFields::STATUS
+};
+const char* _kExperimentSearchFieldsNames[] = {
+  "EXPERIMENT_NAME",
+  "EXPERIMENT_DESC",
+  "APPLICATION_ID",
+  "FROM_DATE",
+  "TO_DATE",
+  "STATUS"
+};
+const std::map<int, const char*> _ExperimentSearchFields_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(6, _kExperimentSearchFieldsValues, _kExperimentSearchFieldsNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+
+UserConfigurationDataModel::~UserConfigurationDataModel() throw() {
+}
+
+
+void UserConfigurationDataModel::__set_airavataAutoSchedule(const bool val) {
+  this->airavataAutoSchedule = val;
+}
+
+void UserConfigurationDataModel::__set_overrideManualScheduledParams(const bool val) {
+  this->overrideManualScheduledParams = val;
+}
+
+void UserConfigurationDataModel::__set_shareExperimentPublicly(const bool val) {
+  this->shareExperimentPublicly = val;
+__isset.shareExperimentPublicly = true;
+}
+
+void UserConfigurationDataModel::__set_computationalResourceScheduling(const  ::apache::airavata::model::scheduling::ComputationalResourceSchedulingModel& val) {
+  this->computationalResourceScheduling = val;
+__isset.computationalResourceScheduling = true;
+}
+
+void UserConfigurationDataModel::__set_throttleResources(const bool val) {
+  this->throttleResources = val;
+__isset.throttleResources = true;
+}
+
+void UserConfigurationDataModel::__set_userDN(const std::string& val) {
+  this->userDN = val;
+__isset.userDN = true;
+}
+
+void UserConfigurationDataModel::__set_generateCert(const bool val) {
+  this->generateCert = val;
+__isset.generateCert = true;
+}
+
+const char* UserConfigurationDataModel::ascii_fingerprint = "45F3B52108AC703F0CDC363B5EECA38B";
+const uint8_t UserConfigurationDataModel::binary_fingerprint[16] = {0x45,0xF3,0xB5,0x21,0x08,0xAC,0x70,0x3F,0x0C,0xDC,0x36,0x3B,0x5E,0xEC,0xA3,0x8B};
+
+uint32_t UserConfigurationDataModel::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_airavataAutoSchedule = false;
+  bool isset_overrideManualScheduledParams = 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_BOOL) {
+          xfer += iprot->readBool(this->airavataAutoSchedule);
+          isset_airavataAutoSchedule = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->overrideManualScheduledParams);
+          isset_overrideManualScheduledParams = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->shareExperimentPublicly);
+          this->__isset.shareExperimentPublicly = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->computationalResourceScheduling.read(iprot);
+          this->__isset.computationalResourceScheduling = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->throttleResources);
+          this->__isset.throttleResources = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->userDN);
+          this->__isset.userDN = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->generateCert);
+          this->__isset.generateCert = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_airavataAutoSchedule)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_overrideManualScheduledParams)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t UserConfigurationDataModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("UserConfigurationDataModel");
+
+  xfer += oprot->writeFieldBegin("airavataAutoSchedule", ::apache::thrift::protocol::T_BOOL, 1);
+  xfer += oprot->writeBool(this->airavataAutoSchedule);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("overrideManualScheduledParams", ::apache::thrift::protocol::T_BOOL, 2);
+  xfer += oprot->writeBool(this->overrideManualScheduledParams);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.shareExperimentPublicly) {
+    xfer += oprot->writeFieldBegin("shareExperimentPublicly", ::apache::thrift::protocol::T_BOOL, 3);
+    xfer += oprot->writeBool(this->shareExperimentPublicly);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.computationalResourceScheduling) {
+    xfer += oprot->writeFieldBegin("computationalResourceScheduling", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->computationalResourceScheduling.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.throttleResources) {
+    xfer += oprot->writeFieldBegin("throttleResources", ::apache::thrift::protocol::T_BOOL, 5);
+    xfer += oprot->writeBool(this->throttleResources);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.userDN) {
+    xfer += oprot->writeFieldBegin("userDN", ::apache::thrift::protocol::T_STRING, 6);
+    xfer += oprot->writeString(this->userDN);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.generateCert) {
+    xfer += oprot->writeFieldBegin("generateCert", ::apache::thrift::protocol::T_BOOL, 7);
+    xfer += oprot->writeBool(this->generateCert);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(UserConfigurationDataModel &a, UserConfigurationDataModel &b) {
+  using ::std::swap;
+  swap(a.airavataAutoSchedule, b.airavataAutoSchedule);
+  swap(a.overrideManualScheduledParams, b.overrideManualScheduledParams);
+  swap(a.shareExperimentPublicly, b.shareExperimentPublicly);
+  swap(a.computationalResourceScheduling, b.computationalResourceScheduling);
+  swap(a.throttleResources, b.throttleResources);
+  swap(a.userDN, b.userDN);
+  swap(a.generateCert, b.generateCert);
+  swap(a.__isset, b.__isset);
+}
+
+UserConfigurationDataModel::UserConfigurationDataModel(const UserConfigurationDataModel& other0) {
+  airavataAutoSchedule = other0.airavataAutoSchedule;
+  overrideManualScheduledParams = other0.overrideManualScheduledParams;
+  shareExperimentPublicly = other0.shareExperimentPublicly;
+  computationalResourceScheduling = other0.computationalResourceScheduling;
+  throttleResources = other0.throttleResources;
+  userDN = other0.userDN;
+  generateCert = other0.generateCert;
+  __isset = other0.__isset;
+}
+UserConfigurationDataModel& UserConfigurationDataModel::operator=(const UserConfigurationDataModel& other1) {
+  airavataAutoSchedule = other1.airavataAutoSchedule;
+  overrideManualScheduledParams = other1.overrideManualScheduledParams;
+  shareExperimentPublicly = other1.shareExperimentPublicly;
+  computationalResourceScheduling = other1.computationalResourceScheduling;
+  throttleResources = other1.throttleResources;
+  userDN = other1.userDN;
+  generateCert = other1.generateCert;
+  __isset = other1.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const UserConfigurationDataModel& obj) {
+  using apache::thrift::to_string;
+  out << "UserConfigurationDataModel(";
+  out << "airavataAutoSchedule=" << to_string(obj.airavataAutoSchedule);
+  out << ", " << "overrideManualScheduledParams=" << to_string(obj.overrideManualScheduledParams);
+  out << ", " << "shareExperimentPublicly="; (obj.__isset.shareExperimentPublicly ? (out << to_string(obj.shareExperimentPublicly)) : (out << "<null>"));
+  out << ", " << "computationalResourceScheduling="; (obj.__isset.computationalResourceScheduling ? (out << to_string(obj.computationalResourceScheduling)) : (out << "<null>"));
+  out << ", " << "throttleResources="; (obj.__isset.throttleResources ? (out << to_string(obj.throttleResources)) : (out << "<null>"));
+  out << ", " << "userDN="; (obj.__isset.userDN ? (out << to_string(obj.userDN)) : (out << "<null>"));
+  out << ", " << "generateCert="; (obj.__isset.generateCert ? (out << to_string(obj.generateCert)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+ExperimentModel::~ExperimentModel() throw() {
+}
+
+
+void ExperimentModel::__set_experimentId(const std::string& val) {
+  this->experimentId = val;
+}
+
+void ExperimentModel::__set_projectId(const std::string& val) {
+  this->projectId = val;
+}
+
+void ExperimentModel::__set_gatewayId(const std::string& val) {
+  this->gatewayId = val;
+}
+
+void ExperimentModel::__set_experimentType(const ExperimentType::type val) {
+  this->experimentType = val;
+}
+
+void ExperimentModel::__set_userName(const std::string& val) {
+  this->userName = val;
+}
+
+void ExperimentModel::__set_experimentName(const std::string& val) {
+  this->experimentName = val;
+}
+
+void ExperimentModel::__set_creationTime(const int64_t val) {
+  this->creationTime = val;
+__isset.creationTime = true;
+}
+
+void ExperimentModel::__set_description(const std::string& val) {
+  this->description = val;
+__isset.description = true;
+}
+
+void ExperimentModel::__set_executionId(const std::string& val) {
+  this->executionId = val;
+__isset.executionId = true;
+}
+
+void ExperimentModel::__set_gatewayExecutionId(const std::string& val) {
+  this->gatewayExecutionId = val;
+__isset.gatewayExecutionId = true;
+}
+
+void ExperimentModel::__set_enableEmailNotification(const bool val) {
+  this->enableEmailNotification = val;
+__isset.enableEmailNotification = true;
+}
+
+void ExperimentModel::__set_emailAddresses(const std::vector<std::string> & val) {
+  this->emailAddresses = val;
+__isset.emailAddresses = true;
+}
+
+void ExperimentModel::__set_userConfigurationData(const UserConfigurationDataModel& val) {
+  this->userConfigurationData = val;
+__isset.userConfigurationData = true;
+}
+
+void ExperimentModel::__set_experimentInputs(const std::vector< ::apache::airavata::model::application::io::InputDataObjectType> & val) {
+  this->experimentInputs = val;
+__isset.experimentInputs = true;
+}
+
+void ExperimentModel::__set_experimentOutputs(const std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & val) {
+  this->experimentOutputs = val;
+__isset.experimentOutputs = true;
+}
+
+void ExperimentModel::__set_experimentStatus(const  ::apache::airavata::model::status::ExperimentStatus& val) {
+  this->experimentStatus = val;
+__isset.experimentStatus = true;
+}
+
+void ExperimentModel::__set_errors(const std::vector< ::apache::airavata::model::commons::ErrorModel> & val) {
+  this->errors = val;
+__isset.errors = true;
+}
+
+const char* ExperimentModel::ascii_fingerprint = "42A5CF1C0F5D4554085ED4D46195079B";
+const uint8_t ExperimentModel::binary_fingerprint[16] = {0x42,0xA5,0xCF,0x1C,0x0F,0x5D,0x45,0x54,0x08,0x5E,0xD4,0xD4,0x61,0x95,0x07,0x9B};
+
+uint32_t ExperimentModel::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_experimentId = false;
+  bool isset_projectId = false;
+  bool isset_gatewayId = false;
+  bool isset_experimentType = false;
+  bool isset_userName = false;
+  bool isset_experimentName = 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->experimentId);
+          isset_experimentId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->projectId);
+          isset_projectId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast2;
+          xfer += iprot->readI32(ecast2);
+          this->experimentType = (ExperimentType::type)ecast2;
+          isset_experimentType = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->userName);
+          isset_userName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->experimentName);
+          isset_experimentName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->creationTime);
+          this->__isset.creationTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->description);
+          this->__isset.description = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 9:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->executionId);
+          this->__isset.executionId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 10:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayExecutionId);
+          this->__isset.gatewayExecutionId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 11:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->enableEmailNotification);
+          this->__isset.enableEmailNotification = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 12:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->emailAddresses.clear();
+            uint32_t _size3;
+            ::apache::thrift::protocol::TType _etype6;
+            xfer += iprot->readListBegin(_etype6, _size3);
+            this->emailAddresses.resize(_size3);
+            uint32_t _i7;
+            for (_i7 = 0; _i7 < _size3; ++_i7)
+            {
+              xfer += iprot->readString(this->emailAddresses[_i7]);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.emailAddresses = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 13:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->userConfigurationData.read(iprot);
+          this->__isset.userConfigurationData = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 14:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->experimentInputs.clear();
+            uint32_t _size8;
+            ::apache::thrift::protocol::TType _etype11;
+            xfer += iprot->readListBegin(_etype11, _size8);
+            this->experimentInputs.resize(_size8);
+            uint32_t _i12;
+            for (_i12 = 0; _i12 < _size8; ++_i12)
+            {
+              xfer += this->experimentInputs[_i12].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.experimentInputs = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 15:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->experimentOutputs.clear();
+            uint32_t _size13;
+            ::apache::thrift::protocol::TType _etype16;
+            xfer += iprot->readListBegin(_etype16, _size13);
+            this->experimentOutputs.resize(_size13);
+            uint32_t _i17;
+            for (_i17 = 0; _i17 < _size13; ++_i17)
+            {
+              xfer += this->experimentOutputs[_i17].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.experimentOutputs = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 16:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->experimentStatus.read(iprot);
+          this->__isset.experimentStatus = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 17:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->errors.clear();
+            uint32_t _size18;
+            ::apache::thrift::protocol::TType _etype21;
+            xfer += iprot->readListBegin(_etype21, _size18);
+            this->errors.resize(_size18);
+            uint32_t _i22;
+            for (_i22 = 0; _i22 < _size18; ++_i22)
+            {
+              xfer += this->errors[_i22].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.errors = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_experimentId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_projectId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_experimentType)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_userName)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_experimentName)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ExperimentModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ExperimentModel");
+
+  xfer += oprot->writeFieldBegin("experimentId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->experimentId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->projectId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("experimentType", ::apache::thrift::protocol::T_I32, 4);
+  xfer += oprot->writeI32((int32_t)this->experimentType);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 5);
+  xfer += oprot->writeString(this->userName);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("experimentName", ::apache::thrift::protocol::T_STRING, 6);
+  xfer += oprot->writeString(this->experimentName);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.creationTime) {
+    xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 7);
+    xfer += oprot->writeI64(this->creationTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.description) {
+    xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 8);
+    xfer += oprot->writeString(this->description);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.executionId) {
+    xfer += oprot->writeFieldBegin("executionId", ::apache::thrift::protocol::T_STRING, 9);
+    xfer += oprot->writeString(this->executionId);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.gatewayExecutionId) {
+    xfer += oprot->writeFieldBegin("gatewayExecutionId", ::apache::thrift::protocol::T_STRING, 10);
+    xfer += oprot->writeString(this->gatewayExecutionId);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.enableEmailNotification) {
+    xfer += oprot->writeFieldBegin("enableEmailNotification", ::apache::thrift::protocol::T_BOOL, 11);
+    xfer += oprot->writeBool(this->enableEmailNotification);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.emailAddresses) {
+    xfer += oprot->writeFieldBegin("emailAddresses", ::apache::thrift::protocol::T_LIST, 12);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->emailAddresses.size()));
+      std::vector<std::string> ::const_iterator _iter23;
+      for (_iter23 = this->emailAddresses.begin(); _iter23 != this->emailAddresses.end(); ++_iter23)
+      {
+        xfer += oprot->writeString((*_iter23));
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.userConfigurationData) {
+    xfer += oprot->writeFieldBegin("userConfigurationData", ::apache::thrift::protocol::T_STRUCT, 13);
+    xfer += this->userConfigurationData.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.experimentInputs) {
+    xfer += oprot->writeFieldBegin("experimentInputs", ::apache::thrift::protocol::T_LIST, 14);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->experimentInputs.size()));
+      std::vector< ::apache::airavata::model::application::io::InputDataObjectType> ::const_iterator _iter24;
+      for (_iter24 = this->experimentInputs.begin(); _iter24 != this->experimentInputs.end(); ++_iter24)
+      {
+        xfer += (*_iter24).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.experimentOutputs) {
+    xfer += oprot->writeFieldBegin("experimentOutputs", ::apache::thrift::protocol::T_LIST, 15);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->experimentOutputs.size()));
+      std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> ::const_iterator _iter25;
+      for (_iter25 = this->experimentOutputs.begin(); _iter25 != this->experimentOutputs.end(); ++_iter25)
+      {
+        xfer += (*_iter25).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.experimentStatus) {
+    xfer += oprot->writeFieldBegin("experimentStatus", ::apache::thrift::protocol::T_STRUCT, 16);
+    xfer += this->experimentStatus.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.errors) {
+    xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 17);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->errors.size()));
+      std::vector< ::apache::airavata::model::commons::ErrorModel> ::const_iterator _iter26;
+      for (_iter26 = this->errors.begin(); _iter26 != this->errors.end(); ++_iter26)
+      {
+        xfer += (*_iter26).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ExperimentModel &a, ExperimentModel &b) {
+  using ::std::swap;
+  swap(a.experimentId, b.experimentId);
+  swap(a.projectId, b.projectId);
+  swap(a.gatewayId, b.gatewayId);
+  swap(a.experimentType, b.experimentType);
+  swap(a.userName, b.userName);
+  swap(a.experimentName, b.experimentName);
+  swap(a.creationTime, b.creationTime);
+  swap(a.description, b.description);
+  swap(a.executionId, b.executionId);
+  swap(a.gatewayExecutionId, b.gatewayExecutionId);
+  swap(a.enableEmailNotification, b.enableEmailNotification);
+  swap(a.emailAddresses, b.emailAddresses);
+  swap(a.userConfigurationData, b.userConfigurationData);
+  swap(a.experimentInputs, b.experimentInputs);
+  swap(a.experimentOutputs, b.experimentOutputs);
+  swap(a.experimentStatus, b.experimentStatus);
+  swap(a.errors, b.errors);
+  swap(a.__isset, b.__isset);
+}
+
+ExperimentModel::ExperimentModel(const ExperimentModel& other27) {
+  experimentId = other27.experimentId;
+  projectId = other27.projectId;
+  gatewayId = other27.gatewayId;
+  experimentType = other27.experimentType;
+  userName = other27.userName;
+  experimentName = other27.experimentName;
+  creationTime = other27.creationTime;
+  description = other27.description;
+  executionId = other27.executionId;
+  gatewayExecutionId = other27.gatewayExecutionId;
+  enableEmailNotification = other27.enableEmailNotification;
+  emailAddresses = other27.emailAddresses;
+  userConfigurationData = other27.userConfigurationData;
+  experimentInputs = other27.experimentInputs;
+  experimentOutputs = other27.experimentOutputs;
+  experimentStatus = other27.experimentStatus;
+  errors = other27.errors;
+  __isset = other27.__isset;
+}
+ExperimentModel& ExperimentModel::operator=(const ExperimentModel& other28) {
+  experimentId = other28.experimentId;
+  projectId = other28.projectId;
+  gatewayId = other28.gatewayId;
+  experimentType = other28.experimentType;
+  userName = other28.userName;
+  experimentName = other28.experimentName;
+  creationTime = other28.creationTime;
+  description = other28.description;
+  executionId = other28.executionId;
+  gatewayExecutionId = other28.gatewayExecutionId;
+  enableEmailNotification = other28.enableEmailNotification;
+  emailAddresses = other28.emailAddresses;
+  userConfigurationData = other28.userConfigurationData;
+  experimentInputs = other28.experimentInputs;
+  experimentOutputs = other28.experimentOutputs;
+  experimentStatus = other28.experimentStatus;
+  errors = other28.errors;
+  __isset = other28.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ExperimentModel& obj) {
+  using apache::thrift::to_string;
+  out << "ExperimentModel(";
+  out << "experimentId=" << to_string(obj.experimentId);
+  out << ", " << "projectId=" << to_string(obj.projectId);
+  out << ", " << "gatewayId=" << to_string(obj.gatewayId);
+  out << ", " << "experimentType=" << to_string(obj.experimentType);
+  out << ", " << "userName=" << to_string(obj.userName);
+  out << ", " << "experimentName=" << to_string(obj.experimentName);
+  out << ", " << "creationTime="; (obj.__isset.creationTime ? (out << to_string(obj.creationTime)) : (out << "<null>"));
+  out << ", " << "description="; (obj.__isset.description ? (out << to_string(obj.description)) : (out << "<null>"));
+  out << ", " << "executionId="; (obj.__isset.executionId ? (out << to_string(obj.executionId)) : (out << "<null>"));
+  out << ", " << "gatewayExecutionId="; (obj.__isset.gatewayExecutionId ? (out << to_string(obj.gatewayExecutionId)) : (out << "<null>"));
+  out << ", " << "enableEmailNotification="; (obj.__isset.enableEmailNotification ? (out << to_string(obj.enableEmailNotification)) : (out << "<null>"));
+  out << ", " << "emailAddresses="; (obj.__isset.emailAddresses ? (out << to_string(obj.emailAddresses)) : (out << "<null>"));
+  out << ", " << "userConfigurationData="; (obj.__isset.userConfigurationData ? (out << to_string(obj.userConfigurationData)) : (out << "<null>"));
+  out << ", " << "experimentInputs="; (obj.__isset.experimentInputs ? (out << to_string(obj.experimentInputs)) : (out << "<null>"));
+  out << ", " << "experimentOutputs="; (obj.__isset.experimentOutputs ? (out << to_string(obj.experimentOutputs)) : (out << "<null>"));
+  out << ", " << "experimentStatus="; (obj.__isset.experimentStatus ? (out << to_string(obj.experimentStatus)) : (out << "<null>"));
+  out << ", " << "errors="; (obj.__isset.errors ? (out << to_string(obj.errors)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+ExperimentSummaryModel::~ExperimentSummaryModel() throw() {
+}
+
+
+void ExperimentSummaryModel::__set_experimentId(const std::string& val) {
+  this->experimentId = val;
+}
+
+void ExperimentSummaryModel::__set_projectId(const std::string& val) {
+  this->projectId = val;
+}
+
+void ExperimentSummaryModel::__set_gatewayId(const std::string& val) {
+  this->gatewayId = val;
+}
+
+void ExperimentSummaryModel::__set_creationTime(const int64_t val) {
+  this->creationTime = val;
+__isset.creationTime = true;
+}
+
+void ExperimentSummaryModel::__set_userName(const std::string& val) {
+  this->userName = val;
+}
+
+void ExperimentSummaryModel::__set_name(const std::string& val) {
+  this->name = val;
+}
+
+void ExperimentSummaryModel::__set_description(const std::string& val) {
+  this->description = val;
+__isset.description = true;
+}
+
+void ExperimentSummaryModel::__set_executionId(const std::string& val) {
+  this->executionId = val;
+__isset.executionId = true;
+}
+
+void ExperimentSummaryModel::__set_experimentStatus(const std::string& val) {
+  this->experimentStatus = val;
+__isset.experimentStatus = true;
+}
+
+void ExperimentSummaryModel::__set_statusUpdateTime(const int64_t val) {
+  this->statusUpdateTime = val;
+__isset.statusUpdateTime = true;
+}
+
+const char* ExperimentSummaryModel::ascii_fingerprint = "8BEDAEBF98A604CE59206E919CE20121";
+const uint8_t ExperimentSummaryModel::binary_fingerprint[16] = {0x8B,0xED,0xAE,0xBF,0x98,0xA6,0x04,0xCE,0x59,0x20,0x6E,0x91,0x9C,0xE2,0x01,0x21};
+
+uint32_t ExperimentSummaryModel::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_experimentId = false;
+  bool isset_projectId = false;
+  bool isset_gatewayId = false;
+  bool isset_userName = false;
+  bool isset_name = 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->experimentId);
+          isset_experimentId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->projectId);
+          isset_projectId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->creationTime);
+          this->__isset.creationTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->userName);
+          isset_userName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->name);
+          isset_name = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->description);
+          this->__isset.description = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->executionId);
+          this->__isset.executionId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 9:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->experimentStatus);
+          this->__isset.experimentStatus = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 10:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->statusUpdateTime);
+          this->__isset.statusUpdateTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_experimentId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_projectId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_userName)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_name)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ExperimentSummaryModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ExperimentSummaryModel");
+
+  xfer += oprot->writeFieldBegin("experimentId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->experimentId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->projectId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.creationTime) {
+    xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 4);
+    xfer += oprot->writeI64(this->creationTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 5);
+  xfer += oprot->writeString(this->userName);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 6);
+  xfer += oprot->writeString(this->name);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.description) {
+    xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 7);
+    xfer += oprot->writeString(this->description);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.executionId) {
+    xfer += oprot->writeFieldBegin("executionId", ::apache::thrift::protocol::T_STRING, 8);
+    xfer += oprot->writeString(this->executionId);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.experimentStatus) {
+    xfer += oprot->writeFieldBegin("experimentStatus", ::apache::thrift::protocol::T_STRING, 9);
+    xfer += oprot->writeString(this->experimentStatus);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.statusUpdateTime) {
+    xfer += oprot->writeFieldBegin("statusUpdateTime", ::apache::thrift::protocol::T_I64, 10);
+    xfer += oprot->writeI64(this->statusUpdateTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ExperimentSummaryModel &a, ExperimentSummaryModel &b) {
+  using ::std::swap;
+  swap(a.experimentId, b.experimentId);
+  swap(a.projectId, b.projectId);
+  swap(a.gatewayId, b.gatewayId);
+  swap(a.creationTime, b.creationTime);
+  swap(a.userName, b.userName);
+  swap(a.name, b.name);
+  swap(a.description, b.description);
+  swap(a.executionId, b.executionId);
+  swap(a.experimentStatus, b.experimentStatus);
+  swap(a.statusUpdateTime, b.statusUpdateTime);
+  swap(a.__isset, b.__isset);
+}
+
+ExperimentSummaryModel::ExperimentSummaryModel(const ExperimentSummaryModel& other29) {
+  experimentId = other29.experimentId;
+  projectId = other29.projectId;
+  gatewayId = other29.gatewayId;
+  creationTime = other29.creationTime;
+  userName = other29.userName;
+  name = other29.name;
+  description = other29.description;
+  executionId = other29.executionId;
+  experimentStatus = other29.experimentStatus;
+  statusUpdateTime = other29.statusUpdateTime;
+  __isset = other29.__isset;
+}
+ExperimentSummaryModel& ExperimentSummaryModel::operator=(const ExperimentSummaryModel& other30) {
+  experimentId = other30.experimentId;
+  projectId = other30.projectId;
+  gatewayId = other30.gatewayId;
+  creationTime = other30.creationTime;
+  userName = other30.userName;
+  name = other30.name;
+  description = other30.description;
+  executionId = other30.executionId;
+  experimentStatus = other30.experimentStatus;
+  statusUpdateTime = other30.statusUpdateTime;
+  __isset = other30.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ExperimentSummaryModel& obj) {
+  using apache::thrift::to_string;
+  out << "ExperimentSummaryModel(";
+  out << "experimentId=" << to_string(obj.experimentId);
+  out << ", " << "projectId=" << to_string(obj.projectId);
+  out << ", " << "gatewayId=" << to_string(obj.gatewayId);
+  out << ", " << "creationTime="; (obj.__isset.creationTime ? (out << to_string(obj.creationTime)) : (out << "<null>"));
+  out << ", " << "userName=" << to_string(obj.userName);
+  out << ", " << "name=" << to_string(obj.name);
+  out << ", " << "description="; (obj.__isset.description ? (out << to_string(obj.description)) : (out << "<null>"));
+  out << ", " << "executionId="; (obj.__isset.executionId ? (out << to_string(obj.executionId)) : (out << "<null>"));
+  out << ", " << "experimentStatus="; (obj.__isset.experimentStatus ? (out << to_string(obj.experimentStatus)) : (out << "<null>"));
+  out << ", " << "statusUpdateTime="; (obj.__isset.statusUpdateTime ? (out << to_string(obj.statusUpdateTime)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+ExperimentStatistics::~ExperimentStatistics() throw() {
+}
+
+
+void ExperimentStatistics::__set_allExperimentCount(const int32_t val) {
+  this->allExperimentCount = val;
+}
+
+void ExperimentStatistics::__set_completedExperimentCount(const int32_t val) {
+  this->completedExperimentCount = val;
+}
+
+void ExperimentStatistics::__set_cancelledExperimentCount(const int32_t val) {
+  this->cancelledExperimentCount = val;
+__isset.cancelledExperimentCount = true;
+}
+
+void ExperimentStatistics::__set_failedExperimentCount(const int32_t val) {
+  this->failedExperimentCount = val;
+}
+
+void ExperimentStatistics::__set_allExperiments(const std::vector<ExperimentSummaryModel> & val) {
+  this->allExperiments = val;
+}
+
+void ExperimentStatistics::__set_completedExperiments(const std::vector<ExperimentSummaryModel> & val) {
+  this->completedExperiments = val;
+__isset.completedExperiments = true;
+}
+
+void ExperimentStatistics::__set_failedExperiments(const std::vector<ExperimentSummaryModel> & val) {
+  this->failedExperiments = val;
+__isset.failedExperiments = true;
+}
+
+void ExperimentStatistics::__set_cancelledExperiments(const std::vector<ExperimentSummaryModel> & val) {
+  this->cancelledExperiments = val;
+__isset.cancelledExperiments = true;
+}
+
+const char* ExperimentStatistics::ascii_fingerprint = "3F8AFC8DC8701278C2C7E74049E8B58B";
+const uint8_t ExperimentStatistics::binary_fingerprint[16] = {0x3F,0x8A,0xFC,0x8D,0xC8,0x70,0x12,0x78,0xC2,0xC7,0xE7,0x40,0x49,0xE8,0xB5,0x8B};
+
+uint32_t ExperimentStatistics::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_allExperimentCount = false;
+  bool isset_completedExperimentCount = false;
+  bool isset_failedExperimentCount = false;
+  bool isset_allExperiments = 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_I32) {
+          xfer += iprot->readI32(this->allExperimentCount);
+          isset_allExperimentCount = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->completedExperimentCount);
+          isset_completedExperimentCount = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->cancelledExperimentCount);
+          this->__isset.cancelledExperimentCount = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->failedExperimentCount);
+          isset_failedExperimentCount = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->allExperiments.clear();
+            uint32_t _size31;
+            ::apache::thrift::protocol::TType _etype34;
+            xfer += iprot->readListBegin(_etype34, _size31);
+            this->allExperiments.resize(_size31);
+            uint32_t _i35;
+            for (_i35 = 0; _i35 < _size31; ++_i35)
+            {
+              xfer += this->allExperiments[_i35].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          isset_allExperiments = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->completedExperiments.clear();
+            uint32_t _size36;
+            ::apache::thrift::protocol::TType _etype39;
+            xfer += iprot->readListBegin(_etype39, _size36);
+            this->completedExperiments.resize(_size36);
+            uint32_t _i40;
+            for (_i40 = 0; _i40 < _size36; ++_i40)
+            {
+              xfer += this->completedExperiments[_i40].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.completedExperiments = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->failedExperiments.clear();
+            uint32_t _size41;
+            ::apache::thrift::protocol::TType _etype44;
+            xfer += iprot->readListBegin(_etype44, _size41);
+            this->failedExperiments.resize(_size41);
+            uint32_t _i45;
+            for (_i45 = 0; _i45 < _size41; ++_i45)
+            {
+              xfer += this->failedExperiments[_i45].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.failedExperiments = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->cancelledExperiments.clear();
+            uint32_t _size46;
+            ::apache::thrift::protocol::TType _etype49;
+            xfer += iprot->readListBegin(_etype49, _size46);
+            this->cancelledExperiments.resize(_size46);
+            uint32_t _i50;
+            for (_i50 = 0; _i50 < _size46; ++_i50)
+            {
+              xfer += this->cancelledExperiments[_i50].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.cancelledExperiments = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_allExperimentCount)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_completedExperimentCount)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_failedExperimentCount)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_allExperiments)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ExperimentStatistics::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ExperimentStatistics");
+
+  xfer += oprot->writeFieldBegin("allExperimentCount", ::apache::thrift::protocol::T_I32, 1);
+  xfer += oprot->writeI32(this->allExperimentCount);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("completedExperimentCount", ::apache::thrift::protocol::T_I32, 2);
+  xfer += oprot->writeI32(this->completedExperimentCount);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.cancelledExperimentCount) {
+    xfer += oprot->writeFieldBegin("cancelledExperimentCount", ::apache::thrift::protocol::T_I32, 3);
+    xfer += oprot->writeI32(this->cancelledExperimentCount);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldBegin("failedExperimentCount", ::apache::thrift::protocol::T_I32, 4);
+  xfer += oprot->writeI32(this->failedExperimentCount);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("allExperiments", ::apache::thrift::protocol::T_LIST, 5);
+  {
+    xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->allExperiments.size()));
+    std::vector<ExperimentSummaryModel> ::const_iterator _iter51;
+    for (_iter51 = this->allExperiments.begin(); _iter51 != this->allExperiments.end(); ++_iter51)
+    {
+      xfer += (*_iter51).write(oprot);
+    }
+    xfer += oprot->writeListEnd();
+  }
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.completedExperiments) {
+    xfer += oprot->writeFieldBegin("completedExperiments", ::apache::thrift::protocol::T_LIST, 6);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->completedExperiments.size()));
+      std::vector<ExperimentSummaryModel> ::const_iterator _iter52;
+      for (_iter52 = this->completedExperiments.begin(); _iter52 != this->completedExperiments.end(); ++_iter52)
+      {
+        xfer += (*_iter52).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.failedExperiments) {
+    xfer += oprot->writeFieldBegin("failedExperiments", ::apache::thrift::protocol::T_LIST, 7);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->failedExperiments.size()));
+      std::vector<ExperimentSummaryModel> ::const_iterator _iter53;
+      for (_iter53 = this->failedExperiments.begin(); _iter53 != this->failedExperiments.end(); ++_iter53)
+      {
+        xfer += (*_iter53).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.cancelledExperiments) {
+    xfer += oprot->writeFieldBegin("cancelledExperiments", ::apache::thrift::protocol::T_LIST, 8);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->cancelledExperiments.size()));
+      std::vector<ExperimentSummaryModel> ::const_iterator _iter54;
+      for (_iter54 = this->cancelledExperiments.begin(); _iter54 != this->cancelledExperiments.end(); ++_iter54)
+      {
+        xfer += (*_iter54).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ExperimentStatistics &a, ExperimentStatistics &b) {
+  using ::std::swap;
+  swap(a.allExperimentCount, b.allExperimentCount);
+  swap(a.completedExperimentCount, b.completedExperimentCount);
+  swap(a.cancelledExperimentCount, b.cancelledExperimentCount);
+  swap(a.failedExperimentCount, b.failedExperimentCount);
+  swap(a.allExperiments, b.allExperiments);
+  swap(a.completedExperiments, b.completedExperiments);
+  swap(a.failedExperiments, b.failedExperiments);
+  swap(a.cancelledExperiments, b.cancelledExperiments);
+  swap(a.__isset, b.__isset);
+}
+
+ExperimentStatistics::ExperimentStatistics(const ExperimentStatistics& other55) {
+  allExperimentCount = other55.allExperimentCount;
+  completedExperimentCount = other55.completedExperimentCount;
+  cancelledExperimentCount = other55.cancelledExperimentCount;
+  failedExperimentCount = other55.failedExperimentCount;
+  allExperiments = other55.allExperiments;
+  completedExperiments = other55.completedExperiments;
+  failedExperiments = other55.failedExperiments;
+  cancelledExperiments = other55.cancelledExperiments;
+  __isset = other55.__isset;
+}
+ExperimentStatistics& ExperimentStatistics::operator=(const ExperimentStatistics& other56) {
+  allExperimentCount = other56.allExperimentCount;
+  completedExperimentCount = other56.completedExperimentCount;
+  cancelledExperimentCount = other56.cancelledExperimentCount;
+  failedExperimentCount = other56.failedExperimentCount;
+  allExperiments = other56.allExperiments;
+  completedExperiments = other56.completedExperiments;
+  failedExperiments = other56.failedExperiments;
+  cancelledExperiments = other56.cancelledExperiments;
+  __isset = other56.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ExperimentStatistics& obj) {
+  using apache::thrift::to_string;
+  out << "ExperimentStatistics(";
+  out << "allExperimentCount=" << to_string(obj.allExperimentCount);
+  out << ", " << "completedExperimentCount=" << to_string(obj.completedExperimentCount);
+  out << ", " << "cancelledExperimentCount="; (obj.__isset.cancelledExperimentCount ? (out << to_string(obj.cancelledExperimentCount)) : (out << "<null>"));
+  out << ", " << "failedExperimentCount=" << to_string(obj.failedExperimentCount);
+  out << ", " << "allExperiments=" << to_string(obj.allExperiments);
+  out << ", " << "completedExperiments="; (obj.__isset.completedExperiments ? (out << to_string(obj.completedExperiments)) : (out << "<null>"));
+  out << ", " << "failedExperiments="; (obj.__isset.failedExperiments ? (out << to_string(obj.failedExperiments)) : (out << "<null>"));
+  out << ", " << "cancelledExperiments="; (obj.__isset.cancelledExperiments ? (out << to_string(obj.cancelledExperiments)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+}}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h
new file mode 100644
index 0000000..f6d614f
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h
@@ -0,0 +1,510 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef experiment_model_TYPES_H
+#define experiment_model_TYPES_H
+
+#include <iosfwd>
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "application_io_models_types.h"
+#include "scheduling_model_types.h"
+#include "airavata_commons_types.h"
+#include "status_models_types.h"
+
+
+namespace apache { namespace airavata { namespace model { namespace experiment {
+
+struct ExperimentType {
+  enum type {
+    SINGLE_APPLICATION = 0,
+    WORKFLOW = 1
+  };
+};
+
+extern const std::map<int, const char*> _ExperimentType_VALUES_TO_NAMES;
+
+struct ExperimentSearchFields {
+  enum type {
+    EXPERIMENT_NAME = 0,
+    EXPERIMENT_DESC = 1,
+    APPLICATION_ID = 2,
+    FROM_DATE = 3,
+    TO_DATE = 4,
+    STATUS = 5
+  };
+};
+
+extern const std::map<int, const char*> _ExperimentSearchFields_VALUES_TO_NAMES;
+
+class UserConfigurationDataModel;
+
+class ExperimentModel;
+
+class ExperimentSummaryModel;
+
+class ExperimentStatistics;
+
+typedef struct _UserConfigurationDataModel__isset {
+  _UserConfigurationDataModel__isset() : shareExperimentPublicly(true), computationalResourceScheduling(false), throttleResources(true), userDN(false), generateCert(true) {}
+  bool shareExperimentPublicly :1;
+  bool computationalResourceScheduling :1;
+  bool throttleResources :1;
+  bool userDN :1;
+  bool generateCert :1;
+} _UserConfigurationDataModel__isset;
+
+class UserConfigurationDataModel {
+ public:
+
+  static const char* ascii_fingerprint; // = "45F3B52108AC703F0CDC363B5EECA38B";
+  static const uint8_t binary_fingerprint[16]; // = {0x45,0xF3,0xB5,0x21,0x08,0xAC,0x70,0x3F,0x0C,0xDC,0x36,0x3B,0x5E,0xEC,0xA3,0x8B};
+
+  UserConfigurationDataModel(const UserConfigurationDataModel&);
+  UserConfigurationDataModel& operator=(const UserConfigurationDataModel&);
+  UserConfigurationDataModel() : airavataAutoSchedule(false), overrideManualScheduledParams(false), shareExperimentPublicly(false), throttleResources(false), userDN(), generateCert(false) {
+  }
+
+  virtual ~UserConfigurationDataModel() throw();
+  bool airavataAutoSchedule;
+  bool overrideManualScheduledParams;
+  bool shareExperimentPublicly;
+   ::apache::airavata::model::scheduling::ComputationalResourceSchedulingModel computationalResourceScheduling;
+  bool throttleResources;
+  std::string userDN;
+  bool generateCert;
+
+  _UserConfigurationDataModel__isset __isset;
+
+  void __set_airavataAutoSchedule(const bool val);
+
+  void __set_overrideManualScheduledParams(const bool val);
+
+  void __set_shareExperimentPublicly(const bool val);
+
+  void __set_computationalResourceScheduling(const  ::apache::airavata::model::scheduling::ComputationalResourceSchedulingModel& val);
+
+  void __set_throttleResources(const bool val);
+
+  void __set_userDN(const std::string& val);
+
+  void __set_generateCert(const bool val);
+
+  bool operator == (const UserConfigurationDataModel & rhs) const
+  {
+    if (!(airavataAutoSchedule == rhs.airavataAutoSchedule))
+      return false;
+    if (!(overrideManualScheduledParams == rhs.overrideManualScheduledParams))
+      return false;
+    if (__isset.shareExperimentPublicly != rhs.__isset.shareExperimentPublicly)
+      return false;
+    else if (__isset.shareExperimentPublicly && !(shareExperimentPublicly == rhs.shareExperimentPublicly))
+      return false;
+    if (__isset.computationalResourceScheduling != rhs.__isset.computationalResourceScheduling)
+      return false;
+    else if (__isset.computationalResourceScheduling && !(computationalResourceScheduling == rhs.computationalResourceScheduling))
+      return false;
+    if (__isset.throttleResources != rhs.__isset.throttleResources)
+      return false;
+    else if (__isset.throttleResources && !(throttleResources == rhs.throttleResources))
+      return false;
+    if (__isset.userDN != rhs.__isset.userDN)
+      return false;
+    else if (__isset.userDN && !(userDN == rhs.userDN))
+      return false;
+    if (__isset.generateCert != rhs.__isset.generateCert)
+      return false;
+    else if (__isset.generateCert && !(generateCert == rhs.generateCert))
+      return false;
+    return true;
+  }
+  bool operator != (const UserConfigurationDataModel &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const UserConfigurationDataModel & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const UserConfigurationDataModel& obj);
+};
+
+void swap(UserConfigurationDataModel &a, UserConfigurationDataModel &b);
+
+typedef struct _ExperimentModel__isset {
+  _ExperimentModel__isset() : creationTime(false), description(false), executionId(false), gatewayExecutionId(false), enableEmailNotification(false), emailAddresses(false), userConfigurationData(false), experimentInputs(false), experimentOutputs(false), experimentStatus(false), errors(false) {}
+  bool creationTime :1;
+  bool description :1;
+  bool executionId :1;
+  bool gatewayExecutionId :1;
+  bool enableEmailNotification :1;
+  bool emailAddresses :1;
+  bool userConfigurationData :1;
+  bool experimentInputs :1;
+  bool experimentOutputs :1;
+  bool experimentStatus :1;
+  bool errors :1;
+} _ExperimentModel__isset;
+
+class ExperimentModel {
+ public:
+
+  static const char* ascii_fingerprint; // = "42A5CF1C0F5D4554085ED4D46195079B";
+  static const uint8_t binary_fingerprint[16]; // = {0x42,0xA5,0xCF,0x1C,0x0F,0x5D,0x45,0x54,0x08,0x5E,0xD4,0xD4,0x61,0x95,0x07,0x9B};
+
+  ExperimentModel(const ExperimentModel&);
+  ExperimentModel& operator=(const ExperimentModel&);
+  ExperimentModel() : experimentId("DO_NOT_SET_AT_CLIENTS"), projectId(), gatewayId(), experimentType((ExperimentType::type)0), userName(), experimentName(), creationTime(0), description(), executionId(), gatewayExecutionId(), enableEmailNotification(0) {
+    experimentType = (ExperimentType::type)0;
+
+  }
+
+  virtual ~ExperimentModel() throw();
+  std::string experimentId;
+  std::string projectId;
+  std::string gatewayId;
+  ExperimentType::type experimentType;
+  std::string userName;
+  std::string experimentName;
+  int64_t creationTime;
+  std::string description;
+  std::string executionId;
+  std::string gatewayExecutionId;
+  bool enableEmailNotification;
+  std::vector<std::string>  emailAddresses;
+  UserConfigurationDataModel userConfigurationData;
+  std::vector< ::apache::airavata::model::application::io::InputDataObjectType>  experimentInputs;
+  std::vector< ::apache::airavata::model::application::io::OutputDataObjectType>  experimentOutputs;
+   ::apache::airavata::model::status::ExperimentStatus experimentStatus;
+  std::vector< ::apache::airavata::model::commons::ErrorModel>  errors;
+
+  _ExperimentModel__isset __isset;
+
+  void __set_experimentId(const std::string& val);
+
+  void __set_projectId(const std::string& val);
+
+  void __set_gatewayId(const std::string& val);
+
+  void __set_experimentType(const ExperimentType::type val);
+
+  void __set_userName(const std::string& val);
+
+  void __set_experimentName(const std::string& val);
+
+  void __set_creationTime(const int64_t val);
+
+  void __set_description(const std::string& val);
+
+  void __set_executionId(const std::string& val);
+
+  void __set_gatewayExecutionId(const std::string& val);
+
+  void __set_enableEmailNotification(const bool val);
+
+  void __set_emailAddresses(const std::vector<std::string> & val);
+
+  void __set_userConfigurationData(const UserConfigurationDataModel& val);
+
+  void __set_experimentInputs(const std::vector< ::apache::airavata::model::application::io::InputDataObjectType> & val);
+
+  void __set_experimentOutputs(const std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & val);
+
+  void __set_experimentStatus(const  ::apache::airavata::model::status::ExperimentStatus& val);
+
+  void __set_errors(const std::vector< ::apache::airavata::model::commons::ErrorModel> & val);
+
+  bool operator == (const ExperimentModel & rhs) const
+  {
+    if (!(experimentId == rhs.experimentId))
+      return false;
+    if (!(projectId == rhs.projectId))
+      return false;
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    if (!(experimentType == rhs.experimentType))
+      return false;
+    if (!(userName == rhs.userName))
+      return false;
+    if (!(experimentName == rhs.experimentName))
+      return false;
+    if (__isset.creationTime != rhs.__isset.creationTime)
+      return false;
+    else if (__isset.creationTime && !(creationTime == rhs.creationTime))
+      return false;
+    if (__isset.description != rhs.__isset.description)
+      return false;
+    else if (__isset.description && !(description == rhs.description))
+      return false;
+    if (__isset.executionId != rhs.__isset.executionId)
+      return false;
+    else if (__isset.executionId && !(executionId == rhs.executionId))
+      return false;
+    if (__isset.gatewayExecutionId != rhs.__isset.gatewayExecutionId)
+      return false;
+    else if (__isset.gatewayExecutionId && !(gatewayExecutionId == rhs.gatewayExecutionId))
+      return false;
+    if (__isset.enableEmailNotification != rhs.__isset.enableEmailNotification)
+      return false;
+    else if (__isset.enableEmailNotification && !(enableEmailNotification == rhs.enableEmailNotification))
+      return false;
+    if (__isset.emailAddresses != rhs.__isset.emailAddresses)
+      return false;
+    else if (__isset.emailAddresses && !(emailAddresses == rhs.emailAddresses))
+      return false;
+    if (__isset.userConfigurationData != rhs.__isset.userConfigurationData)
+      return false;
+    else if (__isset.userConfigurationData && !(userConfigurationData == rhs.userConfigurationData))
+      return false;
+    if (__isset.experimentInputs != rhs.__isset.experimentInputs)
+      return false;
+    else if (__isset.experimentInputs && !(experimentInputs == rhs.experimentInputs))
+      return false;
+    if (__isset.experimentOutputs != rhs.__isset.experimentOutputs)
+      return false;
+    else if (__isset.experimentOutputs && !(experimentOutputs == rhs.experimentOutputs))
+      return false;
+    if (__isset.experimentStatus != rhs.__isset.experimentStatus)
+      return false;
+    else if (__isset.experimentStatus && !(experimentStatus == rhs.experimentStatus))
+      return false;
+    if (__isset.errors != rhs.__isset.errors)
+      return false;
+    else if (__isset.errors && !(errors == rhs.errors))
+      return false;
+    return true;
+  }
+  bool operator != (const ExperimentModel &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ExperimentModel & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ExperimentModel& obj);
+};
+
+void swap(ExperimentModel &a, ExperimentModel &b);
+
+typedef struct _ExperimentSummaryModel__isset {
+  _ExperimentSummaryModel__isset() : creationTime(false), description(false), executionId(false), experimentStatus(false), statusUpdateTime(false) {}
+  bool creationTime :1;
+  bool description :1;
+  bool executionId :1;
+  bool experimentStatus :1;
+  bool statusUpdateTime :1;
+} _ExperimentSummaryModel__isset;
+
+class ExperimentSummaryModel {
+ public:
+
+  static const char* ascii_fingerprint; // = "8BEDAEBF98A604CE59206E919CE20121";
+  static const uint8_t binary_fingerprint[16]; // = {0x8B,0xED,0xAE,0xBF,0x98,0xA6,0x04,0xCE,0x59,0x20,0x6E,0x91,0x9C,0xE2,0x01,0x21};
+
+  ExperimentSummaryModel(const ExperimentSummaryModel&);
+  ExperimentSummaryModel& operator=(const ExperimentSummaryModel&);
+  ExperimentSummaryModel() : experimentId(), projectId(), gatewayId(), creationTime(0), userName(), name(), description(), executionId(), experimentStatus(), statusUpdateTime(0) {
+  }
+
+  virtual ~ExperimentSummaryModel() throw();
+  std::string experimentId;
+  std::string projectId;
+  std::string gatewayId;
+  int64_t creationTime;
+  std::string userName;
+  std::string name;
+  std::string description;
+  std::string executionId;
+  std::string experimentStatus;
+  int64_t statusUpdateTime;
+
+  _ExperimentSummaryModel__isset __isset;
+
+  void __set_experimentId(const std::string& val);
+
+  void __set_projectId(const std::string& val);
+
+  void __set_gatewayId(const std::string& val);
+
+  void __set_creationTime(const int64_t val);
+
+  void __set_userName(const std::string& val);
+
+  void __set_name(const std::string& val);
+
+  void __set_description(const std::string& val);
+
+  void __set_executionId(const std::string& val);
+
+  void __set_experimentStatus(const std::string& val);
+
+  void __set_statusUpdateTime(const int64_t val);
+
+  bool operator == (const ExperimentSummaryModel & rhs) const
+  {
+    if (!(experimentId == rhs.experimentId))
+      return false;
+    if (!(projectId == rhs.projectId))
+      return false;
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    if (__isset.creationTime != rhs.__isset.creationTime)
+      return false;
+    else if (__isset.creationTime && !(creationTime == rhs.creationTime))
+      return false;
+    if (!(userName == rhs.userName))
+      return false;
+    if (!(name == rhs.name))
+      return false;
+    if (__isset.description != rhs.__isset.description)
+      return false;
+    else if (__isset.description && !(description == rhs.description))
+      return false;
+    if (__isset.executionId != rhs.__isset.executionId)
+      return false;
+    else if (__isset.executionId && !(executionId == rhs.executionId))
+      return false;
+    if (__isset.experimentStatus != rhs.__isset.experimentStatus)
+      return false;
+    else if (__isset.experimentStatus && !(experimentStatus == rhs.experimentStatus))
+      return false;
+    if (__isset.statusUpdateTime != rhs.__isset.statusUpdateTime)
+      return false;
+    else if (__isset.statusUpdateTime && !(statusUpdateTime == rhs.statusUpdateTime))
+      return false;
+    return true;
+  }
+  bool operator != (const ExperimentSummaryModel &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ExperimentSummaryModel & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ExperimentSummaryModel& obj);
+};
+
+void swap(ExperimentSummaryModel &a, ExperimentSummaryModel &b);
+
+typedef struct _ExperimentStatistics__isset {
+  _ExperimentStatistics__isset() : cancelledExperimentCount(false), completedExperiments(false), failedExperiments(false), cancelledExperiments(false) {}
+  bool cancelledExperimentCount :1;
+  bool completedExperiments :1;
+  bool failedExperiments :1;
+  bool cancelledExperiments :1;
+} _ExperimentStatistics__isset;
+
+class ExperimentStatistics {
+ public:
+
+  static const char* ascii_fingerprint; // = "3F8AFC8DC8701278C2C7E74049E8B58B";
+  static const uint8_t binary_fingerprint[16]; // = {0x3F,0x8A,0xFC,0x8D,0xC8,0x70,0x12,0x78,0xC2,0xC7,0xE7,0x40,0x49,0xE8,0xB5,0x8B};
+
+  ExperimentStatistics(const ExperimentStatistics&);
+  ExperimentStatistics& operator=(const ExperimentStatistics&);
+  ExperimentStatistics() : allExperimentCount(0), completedExperimentCount(0), cancelledExperimentCount(0), failedExperimentCount(0) {
+  }
+
+  virtual ~ExperimentStatistics() throw();
+  int32_t allExperimentCount;
+  int32_t completedExperimentCount;
+  int32_t cancelledExperimentCount;
+  int32_t failedExperimentCount;
+  std::vector<ExperimentSummaryModel>  allExperiments;
+  std::vector<ExperimentSummaryModel>  completedExperiments;
+  std::vector<ExperimentSummaryModel>  failedExperiments;
+  std::vector<ExperimentSummaryModel>  cancelledExperiments;
+
+  _ExperimentStatistics__isset __isset;
+
+  void __set_allExperimentCount(const int32_t val);
+
+  void __set_completedExperimentCount(const int32_t val);
+
+  void __set_cancelledExperimentCount(const int32_t val);
+
+  void __set_failedExperimentCount(const int32_t val);
+
+  void __set_allExperiments(const std::vector<ExperimentSummaryModel> & val);
+
+  void __set_completedExperiments(const std::vector<ExperimentSummaryModel> & val);
+
+  void __set_failedExperiments(const std::vector<ExperimentSummaryModel> & val);
+
+  void __set_cancelledExperiments(const std::vector<ExperimentSummaryModel> & val);
+
+  bool operator == (const ExperimentStatistics & rhs) const
+  {
+    if (!(allExperimentCount == rhs.allExperimentCount))
+      return false;
+    if (!(completedExperimentCount == rhs.completedExperimentCount))
+      return false;
+    if (__isset.cancelledExperimentCount != rhs.__isset.cancelledExperimentCount)
+      return false;
+    else if (__isset.cancelledExperimentCount && !(cancelledExperimentCount == rhs.cancelledExperimentCount))
+      return false;
+    if (!(failedExperimentCount == rhs.failedExperimentCount))
+      return false;
+    if (!(allExperiments == rhs.allExperiments))
+      return false;
+    if (__isset.completedExperiments != rhs.__isset.completedExperiments)
+      return false;
+    else if (__isset.completedExperiments && !(completedExperiments == rhs.completedExperiments))
+      return false;
+    if (__isset.failedExperiments != rhs.__isset.failedExperiments)
+      return false;
+    else if (__isset.failedExperiments && !(failedExperiments == rhs.failedExperiments))
+      return false;
+    if (__isset.cancelledExperiments != rhs.__isset.cancelledExperiments)
+      return false;
+    else if (__isset.cancelledExperiments && !(cancelledExperiments == rhs.cancelledExperiments))
+      return false;
+    return true;
+  }
+  bool operator != (const ExperimentStatistics &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ExperimentStatistics & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ExperimentStatistics& obj);
+};
+
+void swap(ExperimentStatistics &a, ExperimentStatistics &b);
+
+}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gateway_resource_profile_model_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gateway_resource_profile_model_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gateway_resource_profile_model_constants.cpp
new file mode 100644
index 0000000..13ec2e5
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gateway_resource_profile_model_constants.cpp
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "gateway_resource_profile_model_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace gatewayprofile {
+
+const gateway_resource_profile_modelConstants g_gateway_resource_profile_model_constants;
+
+gateway_resource_profile_modelConstants::gateway_resource_profile_modelConstants() {
+}
+
+}}}}} // namespace
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gateway_resource_profile_model_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gateway_resource_profile_model_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gateway_resource_profile_model_constants.h
new file mode 100644
index 0000000..4921247
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gateway_resource_profile_model_constants.h
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef gateway_resource_profile_model_CONSTANTS_H
+#define gateway_resource_profile_model_CONSTANTS_H
+
+#include "gateway_resource_profile_model_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace gatewayprofile {
+
+class gateway_resource_profile_modelConstants {
+ public:
+  gateway_resource_profile_modelConstants();
+
+};
+
+extern const gateway_resource_profile_modelConstants g_gateway_resource_profile_model_constants;
+
+}}}}} // namespace
+
+#endif


Mime
View raw message