You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2014/08/05 05:18:10 UTC
git commit: adding new job submission
Repository: airavata
Updated Branches:
refs/heads/master 744ef76a2 -> 0fc00b499
adding new job submission
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/0fc00b49
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/0fc00b49
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/0fc00b49
Branch: refs/heads/master
Commit: 0fc00b499ae453833ca85e6bf185b84800842df3
Parents: 744ef76
Author: lahiru <la...@apache.org>
Authored: Tue Aug 5 08:47:53 2014 +0530
Committer: lahiru <la...@apache.org>
Committed: Tue Aug 5 08:47:53 2014 +0530
----------------------------------------------------------------------
.../lib/airavata/computeResourceModel_types.cpp | 316 +++++--
.../lib/airavata/computeResourceModel_types.h | 85 +-
.../lib/airavata/experimentModel_types.cpp | 8 +-
.../lib/airavata/experimentModel_types.h | 3 +-
.../Model/AppCatalog/ComputeResource/Types.php | 185 ++++
.../Model/Workspace/Experiment/Types.php | 2 +
.../computeresource/CloundJobSubmission.java | 908 +++++++++++++++++++
.../computeresource/JobSubmissionProtocol.java | 5 +-
.../computeresource/ProviderName.java | 69 ++
.../workspace/experiment/ExecutionUnit.java | 5 +-
.../computeResourceModel.thrift | 18 +-
11 files changed, 1512 insertions(+), 92 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/0fc00b49/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp
index ee388f6..a33315c 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp
@@ -97,15 +97,17 @@ int _kJobSubmissionProtocolValues[] = {
JobSubmissionProtocol::LOCAL,
JobSubmissionProtocol::SSH,
JobSubmissionProtocol::GLOBUS,
- JobSubmissionProtocol::UNICORE
+ JobSubmissionProtocol::UNICORE,
+ JobSubmissionProtocol::CLOUD
};
const char* _kJobSubmissionProtocolNames[] = {
"LOCAL",
"SSH",
"GLOBUS",
- "UNICORE"
+ "UNICORE",
+ "CLOUD"
};
-const std::map<int, const char*> _JobSubmissionProtocol_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(4, _kJobSubmissionProtocolValues, _kJobSubmissionProtocolNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+const std::map<int, const char*> _JobSubmissionProtocol_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kJobSubmissionProtocolValues, _kJobSubmissionProtocolNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
int _kDataMovementProtocolValues[] = {
DataMovementProtocol::LOCAL,
@@ -123,6 +125,18 @@ const char* _kDataMovementProtocolNames[] = {
};
const std::map<int, const char*> _DataMovementProtocol_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kDataMovementProtocolValues, _kDataMovementProtocolNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+int _kProviderNameValues[] = {
+ ProviderName::EC2,
+ ProviderName::AWSEC2,
+ ProviderName::RACKSPACE
+};
+const char* _kProviderNameNames[] = {
+ "EC2",
+ "AWSEC2",
+ "RACKSPACE"
+};
+const std::map<int, const char*> _ProviderName_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(3, _kProviderNameValues, _kProviderNameNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
const char* ResourceJobManager::ascii_fingerprint = "F61CAF80247D0E44C8D52504F3A43BED";
const uint8_t ResourceJobManager::binary_fingerprint[16] = {0xF6,0x1C,0xAF,0x80,0x24,0x7D,0x0E,0x44,0xC8,0xD5,0x25,0x04,0xF3,0xA4,0x3B,0xED};
@@ -1222,6 +1236,154 @@ void swap(UnicoreJobSubmission &a, UnicoreJobSubmission &b) {
swap(a.unicoreEndPointURL, b.unicoreEndPointURL);
}
+const char* CloundJobSubmission::ascii_fingerprint = "F98AE2E6E51F2426504F2566EB71B5CC";
+const uint8_t CloundJobSubmission::binary_fingerprint[16] = {0xF9,0x8A,0xE2,0xE6,0xE5,0x1F,0x24,0x26,0x50,0x4F,0x25,0x66,0xEB,0x71,0xB5,0xCC};
+
+uint32_t CloundJobSubmission::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_jobSubmissionInterfaceId = false;
+ bool isset_securityProtocol = false;
+ bool isset_nodeId = false;
+ bool isset_executableType = false;
+ bool isset_providerName = false;
+ bool isset_userAccountName = 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->jobSubmissionInterfaceId);
+ isset_jobSubmissionInterfaceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast28;
+ xfer += iprot->readI32(ecast28);
+ this->securityProtocol = (SecurityProtocol::type)ecast28;
+ isset_securityProtocol = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->nodeId);
+ isset_nodeId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->executableType);
+ isset_executableType = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast29;
+ xfer += iprot->readI32(ecast29);
+ this->providerName = (ProviderName::type)ecast29;
+ isset_providerName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 6:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->userAccountName);
+ isset_userAccountName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_jobSubmissionInterfaceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_securityProtocol)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_nodeId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_executableType)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_providerName)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_userAccountName)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t CloundJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("CloundJobSubmission");
+
+ xfer += oprot->writeFieldBegin("jobSubmissionInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->jobSubmissionInterfaceId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("securityProtocol", ::apache::thrift::protocol::T_I32, 2);
+ xfer += oprot->writeI32((int32_t)this->securityProtocol);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("nodeId", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->nodeId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("executableType", ::apache::thrift::protocol::T_STRING, 4);
+ xfer += oprot->writeString(this->executableType);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("providerName", ::apache::thrift::protocol::T_I32, 5);
+ xfer += oprot->writeI32((int32_t)this->providerName);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("userAccountName", ::apache::thrift::protocol::T_STRING, 6);
+ xfer += oprot->writeString(this->userAccountName);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(CloundJobSubmission &a, CloundJobSubmission &b) {
+ using ::std::swap;
+ swap(a.jobSubmissionInterfaceId, b.jobSubmissionInterfaceId);
+ swap(a.securityProtocol, b.securityProtocol);
+ swap(a.nodeId, b.nodeId);
+ swap(a.executableType, b.executableType);
+ swap(a.providerName, b.providerName);
+ swap(a.userAccountName, b.userAccountName);
+}
+
const char* JobSubmissionInterface::ascii_fingerprint = "A0A4DD7B8243FB842E64EAC6E5DA6C7B";
const uint8_t JobSubmissionInterface::binary_fingerprint[16] = {0xA0,0xA4,0xDD,0x7B,0x82,0x43,0xFB,0x84,0x2E,0x64,0xEA,0xC6,0xE5,0xDA,0x6C,0x7B};
@@ -1258,9 +1420,9 @@ uint32_t JobSubmissionInterface::read(::apache::thrift::protocol::TProtocol* ipr
break;
case 2:
if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast28;
- xfer += iprot->readI32(ecast28);
- this->jobSubmissionProtocol = (JobSubmissionProtocol::type)ecast28;
+ int32_t ecast30;
+ xfer += iprot->readI32(ecast30);
+ this->jobSubmissionProtocol = (JobSubmissionProtocol::type)ecast30;
isset_jobSubmissionProtocol = true;
} else {
xfer += iprot->skip(ftype);
@@ -1356,9 +1518,9 @@ uint32_t DataMovementInterface::read(::apache::thrift::protocol::TProtocol* ipro
break;
case 2:
if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast29;
- xfer += iprot->readI32(ecast29);
- this->dataMovementProtocol = (DataMovementProtocol::type)ecast29;
+ int32_t ecast31;
+ xfer += iprot->readI32(ecast31);
+ this->dataMovementProtocol = (DataMovementProtocol::type)ecast31;
isset_dataMovementProtocol = true;
} else {
xfer += iprot->skip(ftype);
@@ -1463,15 +1625,15 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
if (ftype == ::apache::thrift::protocol::T_SET) {
{
this->hostAliases.clear();
- uint32_t _size30;
- ::apache::thrift::protocol::TType _etype33;
- xfer += iprot->readSetBegin(_etype33, _size30);
- uint32_t _i34;
- for (_i34 = 0; _i34 < _size30; ++_i34)
+ uint32_t _size32;
+ ::apache::thrift::protocol::TType _etype35;
+ xfer += iprot->readSetBegin(_etype35, _size32);
+ uint32_t _i36;
+ for (_i36 = 0; _i36 < _size32; ++_i36)
{
- std::string _elem35;
- xfer += iprot->readString(_elem35);
- this->hostAliases.insert(_elem35);
+ std::string _elem37;
+ xfer += iprot->readString(_elem37);
+ this->hostAliases.insert(_elem37);
}
xfer += iprot->readSetEnd();
}
@@ -1484,15 +1646,15 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
if (ftype == ::apache::thrift::protocol::T_SET) {
{
this->ipAddresses.clear();
- uint32_t _size36;
- ::apache::thrift::protocol::TType _etype39;
- xfer += iprot->readSetBegin(_etype39, _size36);
- uint32_t _i40;
- for (_i40 = 0; _i40 < _size36; ++_i40)
+ uint32_t _size38;
+ ::apache::thrift::protocol::TType _etype41;
+ xfer += iprot->readSetBegin(_etype41, _size38);
+ uint32_t _i42;
+ for (_i42 = 0; _i42 < _size38; ++_i42)
{
- std::string _elem41;
- xfer += iprot->readString(_elem41);
- this->ipAddresses.insert(_elem41);
+ std::string _elem43;
+ xfer += iprot->readString(_elem43);
+ this->ipAddresses.insert(_elem43);
}
xfer += iprot->readSetEnd();
}
@@ -1513,14 +1675,14 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->batchQueues.clear();
- uint32_t _size42;
- ::apache::thrift::protocol::TType _etype45;
- xfer += iprot->readListBegin(_etype45, _size42);
- this->batchQueues.resize(_size42);
- uint32_t _i46;
- for (_i46 = 0; _i46 < _size42; ++_i46)
+ uint32_t _size44;
+ ::apache::thrift::protocol::TType _etype47;
+ xfer += iprot->readListBegin(_etype47, _size44);
+ this->batchQueues.resize(_size44);
+ uint32_t _i48;
+ for (_i48 = 0; _i48 < _size44; ++_i48)
{
- xfer += this->batchQueues[_i46].read(iprot);
+ xfer += this->batchQueues[_i48].read(iprot);
}
xfer += iprot->readListEnd();
}
@@ -1533,19 +1695,19 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
if (ftype == ::apache::thrift::protocol::T_MAP) {
{
this->fileSystems.clear();
- uint32_t _size47;
- ::apache::thrift::protocol::TType _ktype48;
- ::apache::thrift::protocol::TType _vtype49;
- xfer += iprot->readMapBegin(_ktype48, _vtype49, _size47);
- uint32_t _i51;
- for (_i51 = 0; _i51 < _size47; ++_i51)
+ uint32_t _size49;
+ ::apache::thrift::protocol::TType _ktype50;
+ ::apache::thrift::protocol::TType _vtype51;
+ xfer += iprot->readMapBegin(_ktype50, _vtype51, _size49);
+ uint32_t _i53;
+ for (_i53 = 0; _i53 < _size49; ++_i53)
{
- FileSystems::type _key52;
- int32_t ecast54;
- xfer += iprot->readI32(ecast54);
- _key52 = (FileSystems::type)ecast54;
- std::string& _val53 = this->fileSystems[_key52];
- xfer += iprot->readString(_val53);
+ FileSystems::type _key54;
+ int32_t ecast56;
+ xfer += iprot->readI32(ecast56);
+ _key54 = (FileSystems::type)ecast56;
+ std::string& _val55 = this->fileSystems[_key54];
+ xfer += iprot->readString(_val55);
}
xfer += iprot->readMapEnd();
}
@@ -1558,14 +1720,14 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->jobSubmissionInterfaces.clear();
- uint32_t _size55;
- ::apache::thrift::protocol::TType _etype58;
- xfer += iprot->readListBegin(_etype58, _size55);
- this->jobSubmissionInterfaces.resize(_size55);
- uint32_t _i59;
- for (_i59 = 0; _i59 < _size55; ++_i59)
+ uint32_t _size57;
+ ::apache::thrift::protocol::TType _etype60;
+ xfer += iprot->readListBegin(_etype60, _size57);
+ this->jobSubmissionInterfaces.resize(_size57);
+ uint32_t _i61;
+ for (_i61 = 0; _i61 < _size57; ++_i61)
{
- xfer += this->jobSubmissionInterfaces[_i59].read(iprot);
+ xfer += this->jobSubmissionInterfaces[_i61].read(iprot);
}
xfer += iprot->readListEnd();
}
@@ -1578,14 +1740,14 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->dataMovementInterfaces.clear();
- uint32_t _size60;
- ::apache::thrift::protocol::TType _etype63;
- xfer += iprot->readListBegin(_etype63, _size60);
- this->dataMovementInterfaces.resize(_size60);
- uint32_t _i64;
- for (_i64 = 0; _i64 < _size60; ++_i64)
+ uint32_t _size62;
+ ::apache::thrift::protocol::TType _etype65;
+ xfer += iprot->readListBegin(_etype65, _size62);
+ this->dataMovementInterfaces.resize(_size62);
+ uint32_t _i66;
+ for (_i66 = 0; _i66 < _size62; ++_i66)
{
- xfer += this->dataMovementInterfaces[_i64].read(iprot);
+ xfer += this->dataMovementInterfaces[_i66].read(iprot);
}
xfer += iprot->readListEnd();
}
@@ -1626,10 +1788,10 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
xfer += oprot->writeFieldBegin("hostAliases", ::apache::thrift::protocol::T_SET, 3);
{
xfer += oprot->writeSetBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->hostAliases.size()));
- std::set<std::string> ::const_iterator _iter65;
- for (_iter65 = this->hostAliases.begin(); _iter65 != this->hostAliases.end(); ++_iter65)
+ std::set<std::string> ::const_iterator _iter67;
+ for (_iter67 = this->hostAliases.begin(); _iter67 != this->hostAliases.end(); ++_iter67)
{
- xfer += oprot->writeString((*_iter65));
+ xfer += oprot->writeString((*_iter67));
}
xfer += oprot->writeSetEnd();
}
@@ -1639,10 +1801,10 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
xfer += oprot->writeFieldBegin("ipAddresses", ::apache::thrift::protocol::T_SET, 4);
{
xfer += oprot->writeSetBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->ipAddresses.size()));
- std::set<std::string> ::const_iterator _iter66;
- for (_iter66 = this->ipAddresses.begin(); _iter66 != this->ipAddresses.end(); ++_iter66)
+ std::set<std::string> ::const_iterator _iter68;
+ for (_iter68 = this->ipAddresses.begin(); _iter68 != this->ipAddresses.end(); ++_iter68)
{
- xfer += oprot->writeString((*_iter66));
+ xfer += oprot->writeString((*_iter68));
}
xfer += oprot->writeSetEnd();
}
@@ -1657,10 +1819,10 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
xfer += oprot->writeFieldBegin("batchQueues", ::apache::thrift::protocol::T_LIST, 6);
{
xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->batchQueues.size()));
- std::vector<BatchQueue> ::const_iterator _iter67;
- for (_iter67 = this->batchQueues.begin(); _iter67 != this->batchQueues.end(); ++_iter67)
+ std::vector<BatchQueue> ::const_iterator _iter69;
+ for (_iter69 = this->batchQueues.begin(); _iter69 != this->batchQueues.end(); ++_iter69)
{
- xfer += (*_iter67).write(oprot);
+ xfer += (*_iter69).write(oprot);
}
xfer += oprot->writeListEnd();
}
@@ -1670,11 +1832,11 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
xfer += oprot->writeFieldBegin("fileSystems", ::apache::thrift::protocol::T_MAP, 7);
{
xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_I32, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->fileSystems.size()));
- std::map<FileSystems::type, std::string> ::const_iterator _iter68;
- for (_iter68 = this->fileSystems.begin(); _iter68 != this->fileSystems.end(); ++_iter68)
+ std::map<FileSystems::type, std::string> ::const_iterator _iter70;
+ for (_iter70 = this->fileSystems.begin(); _iter70 != this->fileSystems.end(); ++_iter70)
{
- xfer += oprot->writeI32((int32_t)_iter68->first);
- xfer += oprot->writeString(_iter68->second);
+ xfer += oprot->writeI32((int32_t)_iter70->first);
+ xfer += oprot->writeString(_iter70->second);
}
xfer += oprot->writeMapEnd();
}
@@ -1684,10 +1846,10 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
xfer += oprot->writeFieldBegin("jobSubmissionInterfaces", ::apache::thrift::protocol::T_LIST, 8);
{
xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->jobSubmissionInterfaces.size()));
- std::vector<JobSubmissionInterface> ::const_iterator _iter69;
- for (_iter69 = this->jobSubmissionInterfaces.begin(); _iter69 != this->jobSubmissionInterfaces.end(); ++_iter69)
+ std::vector<JobSubmissionInterface> ::const_iterator _iter71;
+ for (_iter71 = this->jobSubmissionInterfaces.begin(); _iter71 != this->jobSubmissionInterfaces.end(); ++_iter71)
{
- xfer += (*_iter69).write(oprot);
+ xfer += (*_iter71).write(oprot);
}
xfer += oprot->writeListEnd();
}
@@ -1697,10 +1859,10 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
xfer += oprot->writeFieldBegin("dataMovementInterfaces", ::apache::thrift::protocol::T_LIST, 9);
{
xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->dataMovementInterfaces.size()));
- std::vector<DataMovementInterface> ::const_iterator _iter70;
- for (_iter70 = this->dataMovementInterfaces.begin(); _iter70 != this->dataMovementInterfaces.end(); ++_iter70)
+ std::vector<DataMovementInterface> ::const_iterator _iter72;
+ for (_iter72 = this->dataMovementInterfaces.begin(); _iter72 != this->dataMovementInterfaces.end(); ++_iter72)
{
- xfer += (*_iter70).write(oprot);
+ xfer += (*_iter72).write(oprot);
}
xfer += oprot->writeListEnd();
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/0fc00b49/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h
index d1fce89..90458d7 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h
@@ -88,7 +88,8 @@ struct JobSubmissionProtocol {
LOCAL = 0,
SSH = 1,
GLOBUS = 2,
- UNICORE = 3
+ UNICORE = 3,
+ CLOUD = 4
};
};
@@ -106,6 +107,16 @@ struct DataMovementProtocol {
extern const std::map<int, const char*> _DataMovementProtocol_VALUES_TO_NAMES;
+struct ProviderName {
+ enum type {
+ EC2 = 0,
+ AWSEC2 = 1,
+ RACKSPACE = 2
+ };
+};
+
+extern const std::map<int, const char*> _ProviderName_VALUES_TO_NAMES;
+
typedef struct _ResourceJobManager__isset {
_ResourceJobManager__isset() : pushMonitoringEndpoint(false), jobManagerBinPath(false), jobManagerCommands(false) {}
bool pushMonitoringEndpoint;
@@ -729,6 +740,78 @@ class UnicoreJobSubmission {
void swap(UnicoreJobSubmission &a, UnicoreJobSubmission &b);
+class CloundJobSubmission {
+ public:
+
+ static const char* ascii_fingerprint; // = "F98AE2E6E51F2426504F2566EB71B5CC";
+ static const uint8_t binary_fingerprint[16]; // = {0xF9,0x8A,0xE2,0xE6,0xE5,0x1F,0x24,0x26,0x50,0x4F,0x25,0x66,0xEB,0x71,0xB5,0xCC};
+
+ CloundJobSubmission() : jobSubmissionInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0), nodeId(), executableType(), providerName((ProviderName::type)0), userAccountName() {
+ }
+
+ virtual ~CloundJobSubmission() throw() {}
+
+ std::string jobSubmissionInterfaceId;
+ SecurityProtocol::type securityProtocol;
+ std::string nodeId;
+ std::string executableType;
+ ProviderName::type providerName;
+ std::string userAccountName;
+
+ void __set_jobSubmissionInterfaceId(const std::string& val) {
+ jobSubmissionInterfaceId = val;
+ }
+
+ void __set_securityProtocol(const SecurityProtocol::type val) {
+ securityProtocol = val;
+ }
+
+ void __set_nodeId(const std::string& val) {
+ nodeId = val;
+ }
+
+ void __set_executableType(const std::string& val) {
+ executableType = val;
+ }
+
+ void __set_providerName(const ProviderName::type val) {
+ providerName = val;
+ }
+
+ void __set_userAccountName(const std::string& val) {
+ userAccountName = val;
+ }
+
+ bool operator == (const CloundJobSubmission & rhs) const
+ {
+ if (!(jobSubmissionInterfaceId == rhs.jobSubmissionInterfaceId))
+ return false;
+ if (!(securityProtocol == rhs.securityProtocol))
+ return false;
+ if (!(nodeId == rhs.nodeId))
+ return false;
+ if (!(executableType == rhs.executableType))
+ return false;
+ if (!(providerName == rhs.providerName))
+ return false;
+ if (!(userAccountName == rhs.userAccountName))
+ return false;
+ return true;
+ }
+ bool operator != (const CloundJobSubmission &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const CloundJobSubmission & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(CloundJobSubmission &a, CloundJobSubmission &b);
+
+
class JobSubmissionInterface {
public:
http://git-wip-us.apache.org/repos/asf/airavata/blob/0fc00b49/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp
index a6a6855..205b3f7 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp
@@ -240,14 +240,16 @@ const std::map<int, const char*> _DataType_VALUES_TO_NAMES(::apache::thrift::TEn
int _kExecutionUnitValues[] = {
ExecutionUnit::INPUT,
ExecutionUnit::APPLICATION,
- ExecutionUnit::OUTPUT
+ ExecutionUnit::OUTPUT,
+ ExecutionUnit::OTHER
};
const char* _kExecutionUnitNames[] = {
"INPUT",
"APPLICATION",
- "OUTPUT"
+ "OUTPUT",
+ "OTHER"
};
-const std::map<int, const char*> _ExecutionUnit_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(3, _kExecutionUnitValues, _kExecutionUnitNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+const std::map<int, const char*> _ExecutionUnit_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(4, _kExecutionUnitValues, _kExecutionUnitNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
const char* ExperimentStatus::ascii_fingerprint = "1662AAADFABAB647546029B578B3B69B";
const uint8_t ExperimentStatus::binary_fingerprint[16] = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
http://git-wip-us.apache.org/repos/asf/airavata/blob/0fc00b49/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h
index aae3707..bd0db44 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h
@@ -180,7 +180,8 @@ struct ExecutionUnit {
enum type {
INPUT = 0,
APPLICATION = 1,
- OUTPUT = 2
+ OUTPUT = 2,
+ OTHER = 3
};
};
http://git-wip-us.apache.org/repos/asf/airavata/blob/0fc00b49/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
index fdc5770..3cecfe7 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
@@ -84,11 +84,13 @@ final class JobSubmissionProtocol {
const SSH = 1;
const GLOBUS = 2;
const UNICORE = 3;
+ const CLOUD = 4;
static public $__names = array(
0 => 'LOCAL',
1 => 'SSH',
2 => 'GLOBUS',
3 => 'UNICORE',
+ 4 => 'CLOUD',
);
}
@@ -107,6 +109,17 @@ final class DataMovementProtocol {
);
}
+final class ProviderName {
+ const EC2 = 0;
+ const AWSEC2 = 1;
+ const RACKSPACE = 2;
+ static public $__names = array(
+ 0 => 'EC2',
+ 1 => 'AWSEC2',
+ 2 => 'RACKSPACE',
+ );
+}
+
class ResourceJobManager {
static $_TSPEC;
@@ -1423,6 +1436,178 @@ class UnicoreJobSubmission {
}
+class CloundJobSubmission {
+ static $_TSPEC;
+
+ public $jobSubmissionInterfaceId = "DO_NOT_SET_AT_CLIENTS";
+ public $securityProtocol = null;
+ public $nodeId = null;
+ public $executableType = null;
+ public $providerName = null;
+ public $userAccountName = null;
+
+ public function __construct($vals=null) {
+ if (!isset(self::$_TSPEC)) {
+ self::$_TSPEC = array(
+ 1 => array(
+ 'var' => 'jobSubmissionInterfaceId',
+ 'type' => TType::STRING,
+ ),
+ 2 => array(
+ 'var' => 'securityProtocol',
+ 'type' => TType::I32,
+ ),
+ 3 => array(
+ 'var' => 'nodeId',
+ 'type' => TType::STRING,
+ ),
+ 4 => array(
+ 'var' => 'executableType',
+ 'type' => TType::STRING,
+ ),
+ 5 => array(
+ 'var' => 'providerName',
+ 'type' => TType::I32,
+ ),
+ 6 => array(
+ 'var' => 'userAccountName',
+ 'type' => TType::STRING,
+ ),
+ );
+ }
+ if (is_array($vals)) {
+ if (isset($vals['jobSubmissionInterfaceId'])) {
+ $this->jobSubmissionInterfaceId = $vals['jobSubmissionInterfaceId'];
+ }
+ if (isset($vals['securityProtocol'])) {
+ $this->securityProtocol = $vals['securityProtocol'];
+ }
+ if (isset($vals['nodeId'])) {
+ $this->nodeId = $vals['nodeId'];
+ }
+ if (isset($vals['executableType'])) {
+ $this->executableType = $vals['executableType'];
+ }
+ if (isset($vals['providerName'])) {
+ $this->providerName = $vals['providerName'];
+ }
+ if (isset($vals['userAccountName'])) {
+ $this->userAccountName = $vals['userAccountName'];
+ }
+ }
+ }
+
+ public function getName() {
+ return 'CloundJobSubmission';
+ }
+
+ public function read($input)
+ {
+ $xfer = 0;
+ $fname = null;
+ $ftype = 0;
+ $fid = 0;
+ $xfer += $input->readStructBegin($fname);
+ while (true)
+ {
+ $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+ if ($ftype == TType::STOP) {
+ break;
+ }
+ switch ($fid)
+ {
+ case 1:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->jobSubmissionInterfaceId);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 2:
+ if ($ftype == TType::I32) {
+ $xfer += $input->readI32($this->securityProtocol);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 3:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->nodeId);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 4:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->executableType);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 5:
+ if ($ftype == TType::I32) {
+ $xfer += $input->readI32($this->providerName);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 6:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->userAccountName);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ default:
+ $xfer += $input->skip($ftype);
+ break;
+ }
+ $xfer += $input->readFieldEnd();
+ }
+ $xfer += $input->readStructEnd();
+ return $xfer;
+ }
+
+ public function write($output) {
+ $xfer = 0;
+ $xfer += $output->writeStructBegin('CloundJobSubmission');
+ if ($this->jobSubmissionInterfaceId !== null) {
+ $xfer += $output->writeFieldBegin('jobSubmissionInterfaceId', TType::STRING, 1);
+ $xfer += $output->writeString($this->jobSubmissionInterfaceId);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->securityProtocol !== null) {
+ $xfer += $output->writeFieldBegin('securityProtocol', TType::I32, 2);
+ $xfer += $output->writeI32($this->securityProtocol);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->nodeId !== null) {
+ $xfer += $output->writeFieldBegin('nodeId', TType::STRING, 3);
+ $xfer += $output->writeString($this->nodeId);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->executableType !== null) {
+ $xfer += $output->writeFieldBegin('executableType', TType::STRING, 4);
+ $xfer += $output->writeString($this->executableType);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->providerName !== null) {
+ $xfer += $output->writeFieldBegin('providerName', TType::I32, 5);
+ $xfer += $output->writeI32($this->providerName);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->userAccountName !== null) {
+ $xfer += $output->writeFieldBegin('userAccountName', TType::STRING, 6);
+ $xfer += $output->writeString($this->userAccountName);
+ $xfer += $output->writeFieldEnd();
+ }
+ $xfer += $output->writeFieldStop();
+ $xfer += $output->writeStructEnd();
+ return $xfer;
+ }
+
+}
+
class JobSubmissionInterface {
static $_TSPEC;
http://git-wip-us.apache.org/repos/asf/airavata/blob/0fc00b49/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php
index 7a38eca..6bbd8e8 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php
@@ -222,10 +222,12 @@ final class ExecutionUnit {
const INPUT = 0;
const APPLICATION = 1;
const OUTPUT = 2;
+ const OTHER = 3;
static public $__names = array(
0 => 'INPUT',
1 => 'APPLICATION',
2 => 'OUTPUT',
+ 3 => 'OTHER',
);
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/0fc00b49/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloundJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloundJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloundJobSubmission.java
new file mode 100644
index 0000000..84b6d64
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloundJobSubmission.java
@@ -0,0 +1,908 @@
+/**
+ * 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.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+package org.apache.airavata.model.appcatalog.computeresource;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Cloud Job Submission
+ *
+ *
+ */
+@SuppressWarnings("all") public class CloundJobSubmission implements org.apache.thrift.TBase<CloundJobSubmission, CloundJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<CloundJobSubmission> {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CloundJobSubmission");
+
+ private static final org.apache.thrift.protocol.TField JOB_SUBMISSION_INTERFACE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("jobSubmissionInterfaceId", org.apache.thrift.protocol.TType.STRING, (short)1);
+ private static final org.apache.thrift.protocol.TField SECURITY_PROTOCOL_FIELD_DESC = new org.apache.thrift.protocol.TField("securityProtocol", org.apache.thrift.protocol.TType.I32, (short)2);
+ private static final org.apache.thrift.protocol.TField NODE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("nodeId", org.apache.thrift.protocol.TType.STRING, (short)3);
+ private static final org.apache.thrift.protocol.TField EXECUTABLE_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("executableType", org.apache.thrift.protocol.TType.STRING, (short)4);
+ private static final org.apache.thrift.protocol.TField PROVIDER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("providerName", org.apache.thrift.protocol.TType.I32, (short)5);
+ private static final org.apache.thrift.protocol.TField USER_ACCOUNT_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userAccountName", org.apache.thrift.protocol.TType.STRING, (short)6);
+
+ private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+ static {
+ schemes.put(StandardScheme.class, new CloundJobSubmissionStandardSchemeFactory());
+ schemes.put(TupleScheme.class, new CloundJobSubmissionTupleSchemeFactory());
+ }
+
+ private String jobSubmissionInterfaceId; // required
+ private SecurityProtocol securityProtocol; // required
+ private String nodeId; // required
+ private String executableType; // required
+ private ProviderName providerName; // required
+ private String userAccountName; // required
+
+ /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+ @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+ JOB_SUBMISSION_INTERFACE_ID((short)1, "jobSubmissionInterfaceId"),
+ /**
+ *
+ * @see SecurityProtocol
+ */
+ SECURITY_PROTOCOL((short)2, "securityProtocol"),
+ NODE_ID((short)3, "nodeId"),
+ EXECUTABLE_TYPE((short)4, "executableType"),
+ /**
+ *
+ * @see ProviderName
+ */
+ PROVIDER_NAME((short)5, "providerName"),
+ USER_ACCOUNT_NAME((short)6, "userAccountName");
+
+ private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+ static {
+ for (_Fields field : EnumSet.allOf(_Fields.class)) {
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, or null if its not found.
+ */
+ public static _Fields findByThriftId(int fieldId) {
+ switch(fieldId) {
+ case 1: // JOB_SUBMISSION_INTERFACE_ID
+ return JOB_SUBMISSION_INTERFACE_ID;
+ case 2: // SECURITY_PROTOCOL
+ return SECURITY_PROTOCOL;
+ case 3: // NODE_ID
+ return NODE_ID;
+ case 4: // EXECUTABLE_TYPE
+ return EXECUTABLE_TYPE;
+ case 5: // PROVIDER_NAME
+ return PROVIDER_NAME;
+ case 6: // USER_ACCOUNT_NAME
+ return USER_ACCOUNT_NAME;
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception
+ * if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /**
+ * Find the _Fields constant that matches name, or null if its not found.
+ */
+ public static _Fields findByName(String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final String _fieldName;
+
+ _Fields(short thriftId, String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public String getFieldName() {
+ return _fieldName;
+ }
+ }
+
+ // isset id assignments
+ public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+ static {
+ Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+ tmpMap.put(_Fields.JOB_SUBMISSION_INTERFACE_ID, new org.apache.thrift.meta_data.FieldMetaData("jobSubmissionInterfaceId", org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.SECURITY_PROTOCOL, new org.apache.thrift.meta_data.FieldMetaData("securityProtocol", org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, SecurityProtocol.class)));
+ tmpMap.put(_Fields.NODE_ID, new org.apache.thrift.meta_data.FieldMetaData("nodeId", org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.EXECUTABLE_TYPE, new org.apache.thrift.meta_data.FieldMetaData("executableType", org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.PROVIDER_NAME, new org.apache.thrift.meta_data.FieldMetaData("providerName", org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, ProviderName.class)));
+ tmpMap.put(_Fields.USER_ACCOUNT_NAME, new org.apache.thrift.meta_data.FieldMetaData("userAccountName", org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ metaDataMap = Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(CloundJobSubmission.class, metaDataMap);
+ }
+
+ public CloundJobSubmission() {
+ this.jobSubmissionInterfaceId = "DO_NOT_SET_AT_CLIENTS";
+
+ }
+
+ public CloundJobSubmission(
+ String jobSubmissionInterfaceId,
+ SecurityProtocol securityProtocol,
+ String nodeId,
+ String executableType,
+ ProviderName providerName,
+ String userAccountName)
+ {
+ this();
+ this.jobSubmissionInterfaceId = jobSubmissionInterfaceId;
+ this.securityProtocol = securityProtocol;
+ this.nodeId = nodeId;
+ this.executableType = executableType;
+ this.providerName = providerName;
+ this.userAccountName = userAccountName;
+ }
+
+ /**
+ * Performs a deep copy on <i>other</i>.
+ */
+ public CloundJobSubmission(CloundJobSubmission other) {
+ if (other.isSetJobSubmissionInterfaceId()) {
+ this.jobSubmissionInterfaceId = other.jobSubmissionInterfaceId;
+ }
+ if (other.isSetSecurityProtocol()) {
+ this.securityProtocol = other.securityProtocol;
+ }
+ if (other.isSetNodeId()) {
+ this.nodeId = other.nodeId;
+ }
+ if (other.isSetExecutableType()) {
+ this.executableType = other.executableType;
+ }
+ if (other.isSetProviderName()) {
+ this.providerName = other.providerName;
+ }
+ if (other.isSetUserAccountName()) {
+ this.userAccountName = other.userAccountName;
+ }
+ }
+
+ public CloundJobSubmission deepCopy() {
+ return new CloundJobSubmission(this);
+ }
+
+ @Override
+ public void clear() {
+ this.jobSubmissionInterfaceId = "DO_NOT_SET_AT_CLIENTS";
+
+ this.securityProtocol = null;
+ this.nodeId = null;
+ this.executableType = null;
+ this.providerName = null;
+ this.userAccountName = null;
+ }
+
+ public String getJobSubmissionInterfaceId() {
+ return this.jobSubmissionInterfaceId;
+ }
+
+ public void setJobSubmissionInterfaceId(String jobSubmissionInterfaceId) {
+ this.jobSubmissionInterfaceId = jobSubmissionInterfaceId;
+ }
+
+ public void unsetJobSubmissionInterfaceId() {
+ this.jobSubmissionInterfaceId = null;
+ }
+
+ /** Returns true if field jobSubmissionInterfaceId is set (has been assigned a value) and false otherwise */
+ public boolean isSetJobSubmissionInterfaceId() {
+ return this.jobSubmissionInterfaceId != null;
+ }
+
+ public void setJobSubmissionInterfaceIdIsSet(boolean value) {
+ if (!value) {
+ this.jobSubmissionInterfaceId = null;
+ }
+ }
+
+ /**
+ *
+ * @see SecurityProtocol
+ */
+ public SecurityProtocol getSecurityProtocol() {
+ return this.securityProtocol;
+ }
+
+ /**
+ *
+ * @see SecurityProtocol
+ */
+ public void setSecurityProtocol(SecurityProtocol securityProtocol) {
+ this.securityProtocol = securityProtocol;
+ }
+
+ public void unsetSecurityProtocol() {
+ this.securityProtocol = null;
+ }
+
+ /** Returns true if field securityProtocol is set (has been assigned a value) and false otherwise */
+ public boolean isSetSecurityProtocol() {
+ return this.securityProtocol != null;
+ }
+
+ public void setSecurityProtocolIsSet(boolean value) {
+ if (!value) {
+ this.securityProtocol = null;
+ }
+ }
+
+ public String getNodeId() {
+ return this.nodeId;
+ }
+
+ public void setNodeId(String nodeId) {
+ this.nodeId = nodeId;
+ }
+
+ public void unsetNodeId() {
+ this.nodeId = null;
+ }
+
+ /** Returns true if field nodeId is set (has been assigned a value) and false otherwise */
+ public boolean isSetNodeId() {
+ return this.nodeId != null;
+ }
+
+ public void setNodeIdIsSet(boolean value) {
+ if (!value) {
+ this.nodeId = null;
+ }
+ }
+
+ public String getExecutableType() {
+ return this.executableType;
+ }
+
+ public void setExecutableType(String executableType) {
+ this.executableType = executableType;
+ }
+
+ public void unsetExecutableType() {
+ this.executableType = null;
+ }
+
+ /** Returns true if field executableType is set (has been assigned a value) and false otherwise */
+ public boolean isSetExecutableType() {
+ return this.executableType != null;
+ }
+
+ public void setExecutableTypeIsSet(boolean value) {
+ if (!value) {
+ this.executableType = null;
+ }
+ }
+
+ /**
+ *
+ * @see ProviderName
+ */
+ public ProviderName getProviderName() {
+ return this.providerName;
+ }
+
+ /**
+ *
+ * @see ProviderName
+ */
+ public void setProviderName(ProviderName providerName) {
+ this.providerName = providerName;
+ }
+
+ public void unsetProviderName() {
+ this.providerName = null;
+ }
+
+ /** Returns true if field providerName is set (has been assigned a value) and false otherwise */
+ public boolean isSetProviderName() {
+ return this.providerName != null;
+ }
+
+ public void setProviderNameIsSet(boolean value) {
+ if (!value) {
+ this.providerName = null;
+ }
+ }
+
+ public String getUserAccountName() {
+ return this.userAccountName;
+ }
+
+ public void setUserAccountName(String userAccountName) {
+ this.userAccountName = userAccountName;
+ }
+
+ public void unsetUserAccountName() {
+ this.userAccountName = null;
+ }
+
+ /** Returns true if field userAccountName is set (has been assigned a value) and false otherwise */
+ public boolean isSetUserAccountName() {
+ return this.userAccountName != null;
+ }
+
+ public void setUserAccountNameIsSet(boolean value) {
+ if (!value) {
+ this.userAccountName = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, Object value) {
+ switch (field) {
+ case JOB_SUBMISSION_INTERFACE_ID:
+ if (value == null) {
+ unsetJobSubmissionInterfaceId();
+ } else {
+ setJobSubmissionInterfaceId((String)value);
+ }
+ break;
+
+ case SECURITY_PROTOCOL:
+ if (value == null) {
+ unsetSecurityProtocol();
+ } else {
+ setSecurityProtocol((SecurityProtocol)value);
+ }
+ break;
+
+ case NODE_ID:
+ if (value == null) {
+ unsetNodeId();
+ } else {
+ setNodeId((String)value);
+ }
+ break;
+
+ case EXECUTABLE_TYPE:
+ if (value == null) {
+ unsetExecutableType();
+ } else {
+ setExecutableType((String)value);
+ }
+ break;
+
+ case PROVIDER_NAME:
+ if (value == null) {
+ unsetProviderName();
+ } else {
+ setProviderName((ProviderName)value);
+ }
+ break;
+
+ case USER_ACCOUNT_NAME:
+ if (value == null) {
+ unsetUserAccountName();
+ } else {
+ setUserAccountName((String)value);
+ }
+ break;
+
+ }
+ }
+
+ public Object getFieldValue(_Fields field) {
+ switch (field) {
+ case JOB_SUBMISSION_INTERFACE_ID:
+ return getJobSubmissionInterfaceId();
+
+ case SECURITY_PROTOCOL:
+ return getSecurityProtocol();
+
+ case NODE_ID:
+ return getNodeId();
+
+ case EXECUTABLE_TYPE:
+ return getExecutableType();
+
+ case PROVIDER_NAME:
+ return getProviderName();
+
+ case USER_ACCOUNT_NAME:
+ return getUserAccountName();
+
+ }
+ throw new IllegalStateException();
+ }
+
+ /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+ public boolean isSet(_Fields field) {
+ if (field == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (field) {
+ case JOB_SUBMISSION_INTERFACE_ID:
+ return isSetJobSubmissionInterfaceId();
+ case SECURITY_PROTOCOL:
+ return isSetSecurityProtocol();
+ case NODE_ID:
+ return isSetNodeId();
+ case EXECUTABLE_TYPE:
+ return isSetExecutableType();
+ case PROVIDER_NAME:
+ return isSetProviderName();
+ case USER_ACCOUNT_NAME:
+ return isSetUserAccountName();
+ }
+ throw new IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof CloundJobSubmission)
+ return this.equals((CloundJobSubmission)that);
+ return false;
+ }
+
+ public boolean equals(CloundJobSubmission that) {
+ if (that == null)
+ return false;
+
+ boolean this_present_jobSubmissionInterfaceId = true && this.isSetJobSubmissionInterfaceId();
+ boolean that_present_jobSubmissionInterfaceId = true && that.isSetJobSubmissionInterfaceId();
+ if (this_present_jobSubmissionInterfaceId || that_present_jobSubmissionInterfaceId) {
+ if (!(this_present_jobSubmissionInterfaceId && that_present_jobSubmissionInterfaceId))
+ return false;
+ if (!this.jobSubmissionInterfaceId.equals(that.jobSubmissionInterfaceId))
+ return false;
+ }
+
+ boolean this_present_securityProtocol = true && this.isSetSecurityProtocol();
+ boolean that_present_securityProtocol = true && that.isSetSecurityProtocol();
+ if (this_present_securityProtocol || that_present_securityProtocol) {
+ if (!(this_present_securityProtocol && that_present_securityProtocol))
+ return false;
+ if (!this.securityProtocol.equals(that.securityProtocol))
+ return false;
+ }
+
+ boolean this_present_nodeId = true && this.isSetNodeId();
+ boolean that_present_nodeId = true && that.isSetNodeId();
+ if (this_present_nodeId || that_present_nodeId) {
+ if (!(this_present_nodeId && that_present_nodeId))
+ return false;
+ if (!this.nodeId.equals(that.nodeId))
+ return false;
+ }
+
+ boolean this_present_executableType = true && this.isSetExecutableType();
+ boolean that_present_executableType = true && that.isSetExecutableType();
+ if (this_present_executableType || that_present_executableType) {
+ if (!(this_present_executableType && that_present_executableType))
+ return false;
+ if (!this.executableType.equals(that.executableType))
+ return false;
+ }
+
+ boolean this_present_providerName = true && this.isSetProviderName();
+ boolean that_present_providerName = true && that.isSetProviderName();
+ if (this_present_providerName || that_present_providerName) {
+ if (!(this_present_providerName && that_present_providerName))
+ return false;
+ if (!this.providerName.equals(that.providerName))
+ return false;
+ }
+
+ boolean this_present_userAccountName = true && this.isSetUserAccountName();
+ boolean that_present_userAccountName = true && that.isSetUserAccountName();
+ if (this_present_userAccountName || that_present_userAccountName) {
+ if (!(this_present_userAccountName && that_present_userAccountName))
+ return false;
+ if (!this.userAccountName.equals(that.userAccountName))
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ return 0;
+ }
+
+ @Override
+ public int compareTo(CloundJobSubmission other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ lastComparison = Boolean.valueOf(isSetJobSubmissionInterfaceId()).compareTo(other.isSetJobSubmissionInterfaceId());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetJobSubmissionInterfaceId()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jobSubmissionInterfaceId, other.jobSubmissionInterfaceId);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetSecurityProtocol()).compareTo(other.isSetSecurityProtocol());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetSecurityProtocol()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.securityProtocol, other.securityProtocol);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetNodeId()).compareTo(other.isSetNodeId());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetNodeId()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.nodeId, other.nodeId);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetExecutableType()).compareTo(other.isSetExecutableType());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetExecutableType()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.executableType, other.executableType);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetProviderName()).compareTo(other.isSetProviderName());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetProviderName()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.providerName, other.providerName);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetUserAccountName()).compareTo(other.isSetUserAccountName());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetUserAccountName()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userAccountName, other.userAccountName);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ return 0;
+ }
+
+ public _Fields fieldForId(int fieldId) {
+ return _Fields.findByThriftId(fieldId);
+ }
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+ schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+ schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder("CloundJobSubmission(");
+ boolean first = true;
+
+ sb.append("jobSubmissionInterfaceId:");
+ if (this.jobSubmissionInterfaceId == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.jobSubmissionInterfaceId);
+ }
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("securityProtocol:");
+ if (this.securityProtocol == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.securityProtocol);
+ }
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("nodeId:");
+ if (this.nodeId == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.nodeId);
+ }
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("executableType:");
+ if (this.executableType == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.executableType);
+ }
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("providerName:");
+ if (this.providerName == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.providerName);
+ }
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("userAccountName:");
+ if (this.userAccountName == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.userAccountName);
+ }
+ first = false;
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ if (!isSetJobSubmissionInterfaceId()) {
+ throw new org.apache.thrift.protocol.TProtocolException("Required field 'jobSubmissionInterfaceId' is unset! Struct:" + toString());
+ }
+
+ if (!isSetSecurityProtocol()) {
+ throw new org.apache.thrift.protocol.TProtocolException("Required field 'securityProtocol' is unset! Struct:" + toString());
+ }
+
+ if (!isSetNodeId()) {
+ throw new org.apache.thrift.protocol.TProtocolException("Required field 'nodeId' is unset! Struct:" + toString());
+ }
+
+ if (!isSetExecutableType()) {
+ throw new org.apache.thrift.protocol.TProtocolException("Required field 'executableType' is unset! Struct:" + toString());
+ }
+
+ if (!isSetProviderName()) {
+ throw new org.apache.thrift.protocol.TProtocolException("Required field 'providerName' is unset! Struct:" + toString());
+ }
+
+ if (!isSetUserAccountName()) {
+ throw new org.apache.thrift.protocol.TProtocolException("Required field 'userAccountName' is unset! Struct:" + toString());
+ }
+
+ // check for sub-struct validity
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+ try {
+ read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class CloundJobSubmissionStandardSchemeFactory implements SchemeFactory {
+ public CloundJobSubmissionStandardScheme getScheme() {
+ return new CloundJobSubmissionStandardScheme();
+ }
+ }
+
+ private static class CloundJobSubmissionStandardScheme extends StandardScheme<CloundJobSubmission> {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, CloundJobSubmission struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TField schemeField;
+ iprot.readStructBegin();
+ while (true)
+ {
+ schemeField = iprot.readFieldBegin();
+ if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+ break;
+ }
+ switch (schemeField.id) {
+ case 1: // JOB_SUBMISSION_INTERFACE_ID
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.jobSubmissionInterfaceId = iprot.readString();
+ struct.setJobSubmissionInterfaceIdIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 2: // SECURITY_PROTOCOL
+ if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+ struct.securityProtocol = SecurityProtocol.findByValue(iprot.readI32());
+ struct.setSecurityProtocolIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 3: // NODE_ID
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.nodeId = iprot.readString();
+ struct.setNodeIdIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 4: // EXECUTABLE_TYPE
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.executableType = iprot.readString();
+ struct.setExecutableTypeIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 5: // PROVIDER_NAME
+ if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+ struct.providerName = ProviderName.findByValue(iprot.readI32());
+ struct.setProviderNameIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 6: // USER_ACCOUNT_NAME
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.userAccountName = iprot.readString();
+ struct.setUserAccountNameIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ default:
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ iprot.readFieldEnd();
+ }
+ iprot.readStructEnd();
+ struct.validate();
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot, CloundJobSubmission struct) throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ if (struct.jobSubmissionInterfaceId != null) {
+ oprot.writeFieldBegin(JOB_SUBMISSION_INTERFACE_ID_FIELD_DESC);
+ oprot.writeString(struct.jobSubmissionInterfaceId);
+ oprot.writeFieldEnd();
+ }
+ if (struct.securityProtocol != null) {
+ oprot.writeFieldBegin(SECURITY_PROTOCOL_FIELD_DESC);
+ oprot.writeI32(struct.securityProtocol.getValue());
+ oprot.writeFieldEnd();
+ }
+ if (struct.nodeId != null) {
+ oprot.writeFieldBegin(NODE_ID_FIELD_DESC);
+ oprot.writeString(struct.nodeId);
+ oprot.writeFieldEnd();
+ }
+ if (struct.executableType != null) {
+ oprot.writeFieldBegin(EXECUTABLE_TYPE_FIELD_DESC);
+ oprot.writeString(struct.executableType);
+ oprot.writeFieldEnd();
+ }
+ if (struct.providerName != null) {
+ oprot.writeFieldBegin(PROVIDER_NAME_FIELD_DESC);
+ oprot.writeI32(struct.providerName.getValue());
+ oprot.writeFieldEnd();
+ }
+ if (struct.userAccountName != null) {
+ oprot.writeFieldBegin(USER_ACCOUNT_NAME_FIELD_DESC);
+ oprot.writeString(struct.userAccountName);
+ oprot.writeFieldEnd();
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class CloundJobSubmissionTupleSchemeFactory implements SchemeFactory {
+ public CloundJobSubmissionTupleScheme getScheme() {
+ return new CloundJobSubmissionTupleScheme();
+ }
+ }
+
+ private static class CloundJobSubmissionTupleScheme extends TupleScheme<CloundJobSubmission> {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, CloundJobSubmission struct) throws org.apache.thrift.TException {
+ TTupleProtocol oprot = (TTupleProtocol) prot;
+ oprot.writeString(struct.jobSubmissionInterfaceId);
+ oprot.writeI32(struct.securityProtocol.getValue());
+ oprot.writeString(struct.nodeId);
+ oprot.writeString(struct.executableType);
+ oprot.writeI32(struct.providerName.getValue());
+ oprot.writeString(struct.userAccountName);
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, CloundJobSubmission struct) throws org.apache.thrift.TException {
+ TTupleProtocol iprot = (TTupleProtocol) prot;
+ struct.jobSubmissionInterfaceId = iprot.readString();
+ struct.setJobSubmissionInterfaceIdIsSet(true);
+ struct.securityProtocol = SecurityProtocol.findByValue(iprot.readI32());
+ struct.setSecurityProtocolIsSet(true);
+ struct.nodeId = iprot.readString();
+ struct.setNodeIdIsSet(true);
+ struct.executableType = iprot.readString();
+ struct.setExecutableTypeIsSet(true);
+ struct.providerName = ProviderName.findByValue(iprot.readI32());
+ struct.setProviderNameIsSet(true);
+ struct.userAccountName = iprot.readString();
+ struct.setUserAccountNameIsSet(true);
+ }
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/0fc00b49/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionProtocol.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionProtocol.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionProtocol.java
index 85dcba9..8ce1ae4 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionProtocol.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionProtocol.java
@@ -45,7 +45,8 @@ import org.apache.thrift.TEnum;
LOCAL(0),
SSH(1),
GLOBUS(2),
- UNICORE(3);
+ UNICORE(3),
+ CLOUD(4);
private final int value;
@@ -74,6 +75,8 @@ import org.apache.thrift.TEnum;
return GLOBUS;
case 3:
return UNICORE;
+ case 4:
+ return CLOUD;
default:
return null;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/0fc00b49/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ProviderName.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ProviderName.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ProviderName.java
new file mode 100644
index 0000000..27fcbd1
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ProviderName.java
@@ -0,0 +1,69 @@
+/**
+ * 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.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+package org.apache.airavata.model.appcatalog.computeresource;
+
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
+/**
+ * Provider name
+ *
+ */
+@SuppressWarnings("all") public enum ProviderName implements org.apache.thrift.TEnum {
+ EC2(0),
+ AWSEC2(1),
+ RACKSPACE(2);
+
+ private final int value;
+
+ private ProviderName(int value) {
+ this.value = value;
+ }
+
+ /**
+ * Get the integer value of this enum value, as defined in the Thrift IDL.
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * Find a the enum type by its integer value, as defined in the Thrift IDL.
+ * @return null if the value is not found.
+ */
+ public static ProviderName findByValue(int value) {
+ switch (value) {
+ case 0:
+ return EC2;
+ case 1:
+ return AWSEC2;
+ case 2:
+ return RACKSPACE;
+ default:
+ return null;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/0fc00b49/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ExecutionUnit.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ExecutionUnit.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ExecutionUnit.java
index a28e42d..91531b9 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ExecutionUnit.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ExecutionUnit.java
@@ -31,7 +31,8 @@ import org.apache.thrift.TEnum;
@SuppressWarnings("all") public enum ExecutionUnit implements org.apache.thrift.TEnum {
INPUT(0),
APPLICATION(1),
- OUTPUT(2);
+ OUTPUT(2),
+ OTHER(3);
private final int value;
@@ -58,6 +59,8 @@ import org.apache.thrift.TEnum;
return APPLICATION;
case 2:
return OUTPUT;
+ case 3:
+ return OTHER;
default:
return null;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/0fc00b49/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift
----------------------------------------------------------------------
diff --git a/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift b/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift
index cfb106e..270214a 100644
--- a/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift
+++ b/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift
@@ -320,6 +320,15 @@ struct UnicoreJobSubmission {
/**
+* Provider name
+**/
+enum ProviderName {
+ EC2,
+ AWSEC2,
+ RACKSPACE
+}
+
+/**
* Cloud Job Submission
*
*
@@ -333,14 +342,7 @@ struct CloundJobSubmission {
6: required string userAccountName
}
-/**
-* Provider name
-**/
-enum ProviderName {
- EC2,
- AWSEC2,
- RACKSPACE
-}
+