in airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp [528:811]
uint32_t ExperimentModel::read(::apache::thrift::protocol::TProtocol* iprot) {
apache::thrift::protocol::TInputRecursionTracker tracker(*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 ecast8;
xfer += iprot->readI32(ecast8);
this->experimentType = (ExperimentType::type)ecast8;
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_STRING) {
xfer += iprot->readString(this->gatewayInstanceId);
this->__isset.gatewayInstanceId = 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 _size9;
::apache::thrift::protocol::TType _etype12;
xfer += iprot->readListBegin(_etype12, _size9);
this->emailAddresses.resize(_size9);
uint32_t _i13;
for (_i13 = 0; _i13 < _size9; ++_i13)
{
xfer += iprot->readString(this->emailAddresses[_i13]);
}
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_LIST) {
{
this->experimentInputs.clear();
uint32_t _size14;
::apache::thrift::protocol::TType _etype17;
xfer += iprot->readListBegin(_etype17, _size14);
this->experimentInputs.resize(_size14);
uint32_t _i18;
for (_i18 = 0; _i18 < _size14; ++_i18)
{
xfer += this->experimentInputs[_i18].read(iprot);
}
xfer += iprot->readListEnd();
}
this->__isset.experimentInputs = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 16:
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->experimentOutputs.clear();
uint32_t _size19;
::apache::thrift::protocol::TType _etype22;
xfer += iprot->readListBegin(_etype22, _size19);
this->experimentOutputs.resize(_size19);
uint32_t _i23;
for (_i23 = 0; _i23 < _size19; ++_i23)
{
xfer += this->experimentOutputs[_i23].read(iprot);
}
xfer += iprot->readListEnd();
}
this->__isset.experimentOutputs = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 17:
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->experimentStatus.clear();
uint32_t _size24;
::apache::thrift::protocol::TType _etype27;
xfer += iprot->readListBegin(_etype27, _size24);
this->experimentStatus.resize(_size24);
uint32_t _i28;
for (_i28 = 0; _i28 < _size24; ++_i28)
{
xfer += this->experimentStatus[_i28].read(iprot);
}
xfer += iprot->readListEnd();
}
this->__isset.experimentStatus = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 18:
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->errors.clear();
uint32_t _size29;
::apache::thrift::protocol::TType _etype32;
xfer += iprot->readListBegin(_etype32, _size29);
this->errors.resize(_size29);
uint32_t _i33;
for (_i33 = 0; _i33 < _size29; ++_i33)
{
xfer += this->errors[_i33].read(iprot);
}
xfer += iprot->readListEnd();
}
this->__isset.errors = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 19:
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->processes.clear();
uint32_t _size34;
::apache::thrift::protocol::TType _etype37;
xfer += iprot->readListBegin(_etype37, _size34);
this->processes.resize(_size34);
uint32_t _i38;
for (_i38 = 0; _i38 < _size34; ++_i38)
{
xfer += this->processes[_i38].read(iprot);
}
xfer += iprot->readListEnd();
}
this->__isset.processes = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 20:
if (ftype == ::apache::thrift::protocol::T_STRUCT) {
xfer += this->workflow.read(iprot);
this->__isset.workflow = 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;
}