in airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.cpp [519:775]
uint32_t ApplicationDeploymentDescription::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_appDeploymentId = false;
bool isset_appModuleId = false;
bool isset_computeHostId = false;
bool isset_executablePath = false;
bool isset_parallelism = 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->appDeploymentId);
isset_appDeploymentId = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 2:
if (ftype == ::apache::thrift::protocol::T_STRING) {
xfer += iprot->readString(this->appModuleId);
isset_appModuleId = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 3:
if (ftype == ::apache::thrift::protocol::T_STRING) {
xfer += iprot->readString(this->computeHostId);
isset_computeHostId = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 4:
if (ftype == ::apache::thrift::protocol::T_STRING) {
xfer += iprot->readString(this->executablePath);
isset_executablePath = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 5:
if (ftype == ::apache::thrift::protocol::T_I32) {
int32_t ecast6;
xfer += iprot->readI32(ecast6);
this->parallelism = ( ::apache::airavata::model::appcatalog::parallelism::ApplicationParallelismType::type)ecast6;
isset_parallelism = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 6:
if (ftype == ::apache::thrift::protocol::T_STRING) {
xfer += iprot->readString(this->appDeploymentDescription);
this->__isset.appDeploymentDescription = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 7:
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->moduleLoadCmds.clear();
uint32_t _size7;
::apache::thrift::protocol::TType _etype10;
xfer += iprot->readListBegin(_etype10, _size7);
this->moduleLoadCmds.resize(_size7);
uint32_t _i11;
for (_i11 = 0; _i11 < _size7; ++_i11)
{
xfer += this->moduleLoadCmds[_i11].read(iprot);
}
xfer += iprot->readListEnd();
}
this->__isset.moduleLoadCmds = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 8:
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->libPrependPaths.clear();
uint32_t _size12;
::apache::thrift::protocol::TType _etype15;
xfer += iprot->readListBegin(_etype15, _size12);
this->libPrependPaths.resize(_size12);
uint32_t _i16;
for (_i16 = 0; _i16 < _size12; ++_i16)
{
xfer += this->libPrependPaths[_i16].read(iprot);
}
xfer += iprot->readListEnd();
}
this->__isset.libPrependPaths = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 9:
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->libAppendPaths.clear();
uint32_t _size17;
::apache::thrift::protocol::TType _etype20;
xfer += iprot->readListBegin(_etype20, _size17);
this->libAppendPaths.resize(_size17);
uint32_t _i21;
for (_i21 = 0; _i21 < _size17; ++_i21)
{
xfer += this->libAppendPaths[_i21].read(iprot);
}
xfer += iprot->readListEnd();
}
this->__isset.libAppendPaths = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 10:
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->setEnvironment.clear();
uint32_t _size22;
::apache::thrift::protocol::TType _etype25;
xfer += iprot->readListBegin(_etype25, _size22);
this->setEnvironment.resize(_size22);
uint32_t _i26;
for (_i26 = 0; _i26 < _size22; ++_i26)
{
xfer += this->setEnvironment[_i26].read(iprot);
}
xfer += iprot->readListEnd();
}
this->__isset.setEnvironment = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 11:
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->preJobCommands.clear();
uint32_t _size27;
::apache::thrift::protocol::TType _etype30;
xfer += iprot->readListBegin(_etype30, _size27);
this->preJobCommands.resize(_size27);
uint32_t _i31;
for (_i31 = 0; _i31 < _size27; ++_i31)
{
xfer += this->preJobCommands[_i31].read(iprot);
}
xfer += iprot->readListEnd();
}
this->__isset.preJobCommands = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 12:
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->postJobCommands.clear();
uint32_t _size32;
::apache::thrift::protocol::TType _etype35;
xfer += iprot->readListBegin(_etype35, _size32);
this->postJobCommands.resize(_size32);
uint32_t _i36;
for (_i36 = 0; _i36 < _size32; ++_i36)
{
xfer += this->postJobCommands[_i36].read(iprot);
}
xfer += iprot->readListEnd();
}
this->__isset.postJobCommands = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 13:
if (ftype == ::apache::thrift::protocol::T_STRING) {
xfer += iprot->readString(this->defaultQueueName);
this->__isset.defaultQueueName = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 14:
if (ftype == ::apache::thrift::protocol::T_I32) {
xfer += iprot->readI32(this->defaultNodeCount);
this->__isset.defaultNodeCount = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 15:
if (ftype == ::apache::thrift::protocol::T_I32) {
xfer += iprot->readI32(this->defaultCPUCount);
this->__isset.defaultCPUCount = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 16:
if (ftype == ::apache::thrift::protocol::T_I32) {
xfer += iprot->readI32(this->defaultWalltime);
this->__isset.defaultWalltime = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 17:
if (ftype == ::apache::thrift::protocol::T_BOOL) {
xfer += iprot->readBool(this->editableByUser);
this->__isset.editableByUser = true;
} else {
xfer += iprot->skip(ftype);
}
break;
default:
xfer += iprot->skip(ftype);
break;
}
xfer += iprot->readFieldEnd();
}
xfer += iprot->readStructEnd();
if (!isset_appDeploymentId)
throw TProtocolException(TProtocolException::INVALID_DATA);
if (!isset_appModuleId)
throw TProtocolException(TProtocolException::INVALID_DATA);
if (!isset_computeHostId)
throw TProtocolException(TProtocolException::INVALID_DATA);
if (!isset_executablePath)
throw TProtocolException(TProtocolException::INVALID_DATA);
if (!isset_parallelism)
throw TProtocolException(TProtocolException::INVALID_DATA);
return xfer;
}