in airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp [2774:3056]
uint32_t Experiment::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_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_I64) {
xfer += iprot->readI64(this->creationTime);
this->__isset.creationTime = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 4:
if (ftype == ::apache::thrift::protocol::T_STRING) {
xfer += iprot->readString(this->userName);
isset_userName = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 5:
if (ftype == ::apache::thrift::protocol::T_STRING) {
xfer += iprot->readString(this->name);
isset_name = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 6:
if (ftype == ::apache::thrift::protocol::T_STRING) {
xfer += iprot->readString(this->description);
this->__isset.description = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 7:
if (ftype == ::apache::thrift::protocol::T_STRING) {
xfer += iprot->readString(this->applicationId);
this->__isset.applicationId = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 8:
if (ftype == ::apache::thrift::protocol::T_STRING) {
xfer += iprot->readString(this->applicationVersion);
this->__isset.applicationVersion = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 9:
if (ftype == ::apache::thrift::protocol::T_STRING) {
xfer += iprot->readString(this->workflowTemplateId);
this->__isset.workflowTemplateId = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 10:
if (ftype == ::apache::thrift::protocol::T_STRING) {
xfer += iprot->readString(this->workflowTemplateVersion);
this->__isset.workflowTemplateVersion = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 11:
if (ftype == ::apache::thrift::protocol::T_STRING) {
xfer += iprot->readString(this->gatewayExecutionId);
this->__isset.gatewayExecutionId = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 12:
if (ftype == ::apache::thrift::protocol::T_BOOL) {
xfer += iprot->readBool(this->enableEmailNotification);
this->__isset.enableEmailNotification = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 13:
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->emailAddresses.clear();
uint32_t _size87;
::apache::thrift::protocol::TType _etype90;
xfer += iprot->readListBegin(_etype90, _size87);
this->emailAddresses.resize(_size87);
uint32_t _i91;
for (_i91 = 0; _i91 < _size87; ++_i91)
{
xfer += iprot->readString(this->emailAddresses[_i91]);
}
xfer += iprot->readListEnd();
}
this->__isset.emailAddresses = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 14:
if (ftype == ::apache::thrift::protocol::T_STRUCT) {
xfer += this->userConfigurationData.read(iprot);
this->__isset.userConfigurationData = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 15:
if (ftype == ::apache::thrift::protocol::T_STRING) {
xfer += iprot->readString(this->workflowExecutionInstanceId);
this->__isset.workflowExecutionInstanceId = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 16:
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->experimentInputs.clear();
uint32_t _size92;
::apache::thrift::protocol::TType _etype95;
xfer += iprot->readListBegin(_etype95, _size92);
this->experimentInputs.resize(_size92);
uint32_t _i96;
for (_i96 = 0; _i96 < _size92; ++_i96)
{
xfer += this->experimentInputs[_i96].read(iprot);
}
xfer += iprot->readListEnd();
}
this->__isset.experimentInputs = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 17:
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->experimentOutputs.clear();
uint32_t _size97;
::apache::thrift::protocol::TType _etype100;
xfer += iprot->readListBegin(_etype100, _size97);
this->experimentOutputs.resize(_size97);
uint32_t _i101;
for (_i101 = 0; _i101 < _size97; ++_i101)
{
xfer += this->experimentOutputs[_i101].read(iprot);
}
xfer += iprot->readListEnd();
}
this->__isset.experimentOutputs = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 18:
if (ftype == ::apache::thrift::protocol::T_STRUCT) {
xfer += this->experimentStatus.read(iprot);
this->__isset.experimentStatus = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 19:
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->stateChangeList.clear();
uint32_t _size102;
::apache::thrift::protocol::TType _etype105;
xfer += iprot->readListBegin(_etype105, _size102);
this->stateChangeList.resize(_size102);
uint32_t _i106;
for (_i106 = 0; _i106 < _size102; ++_i106)
{
xfer += this->stateChangeList[_i106].read(iprot);
}
xfer += iprot->readListEnd();
}
this->__isset.stateChangeList = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 20:
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->workflowNodeDetailsList.clear();
uint32_t _size107;
::apache::thrift::protocol::TType _etype110;
xfer += iprot->readListBegin(_etype110, _size107);
this->workflowNodeDetailsList.resize(_size107);
uint32_t _i111;
for (_i111 = 0; _i111 < _size107; ++_i111)
{
xfer += this->workflowNodeDetailsList[_i111].read(iprot);
}
xfer += iprot->readListEnd();
}
this->__isset.workflowNodeDetailsList = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 21:
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)
{
xfer += this->errors[_i116].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_userName)
throw TProtocolException(TProtocolException::INVALID_DATA);
if (!isset_name)
throw TProtocolException(TProtocolException::INVALID_DATA);
return xfer;
}