http://git-wip-us.apache.org/repos/asf/airavata/blob/3070c3d9/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/BasicMetadata.java ---------------------------------------------------------------------- diff --git a/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/BasicMetadata.java b/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/BasicMetadata.java new file mode 100644 index 0000000..a5df335 --- /dev/null +++ b/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/BasicMetadata.java @@ -0,0 +1,700 @@ +/** + * 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.experiment; + +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; + +/** + * A structure holding the basic experiment metadata. + * + * userName: + * The user name of the targeted gateway end user on whose behalf the experiment is being created. + * the associated gateway identity can only be inferred from the security hand-shake so as to avoid + * authorized Airavata Clients mimicking an unauthorized request. If a gateway is not registered with + * Airavata, an authorization exception is thrown. + * + * experimentName: + * The name of the experiment as defined by the user. The name need not be unique as uniqueness is enforced + * by the generated experiment id. + * + * experimentDescription: + * The verbose description of the experiment. This is an optional parameter. + */ +public class BasicMetadata implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("BasicMetadata"); + + private static final org.apache.thrift.protocol.TField USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userName", org.apache.thrift.protocol.TType.STRING, (short)1); + private static final org.apache.thrift.protocol.TField EXPERIMENT_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentName", org.apache.thrift.protocol.TType.STRING, (short)2); + private static final org.apache.thrift.protocol.TField EXPERIMENT_DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentDescription", org.apache.thrift.protocol.TType.STRING, (short)3); + private static final org.apache.thrift.protocol.TField SHARE_EXPERIMENT_PUBLICLY_FIELD_DESC = new org.apache.thrift.protocol.TField("shareExperimentPublicly", org.apache.thrift.protocol.TType.BOOL, (short)4); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new BasicMetadataStandardSchemeFactory()); + schemes.put(TupleScheme.class, new BasicMetadataTupleSchemeFactory()); + } + + public String userName; // required + public String experimentName; // required + public String experimentDescription; // optional + public boolean shareExperimentPublicly; // optional + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + USER_NAME((short)1, "userName"), + EXPERIMENT_NAME((short)2, "experimentName"), + EXPERIMENT_DESCRIPTION((short)3, "experimentDescription"), + SHARE_EXPERIMENT_PUBLICLY((short)4, "shareExperimentPublicly"); + + private static final Map byName = new HashMap(); + + 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: // USER_NAME + return USER_NAME; + case 2: // EXPERIMENT_NAME + return EXPERIMENT_NAME; + case 3: // EXPERIMENT_DESCRIPTION + return EXPERIMENT_DESCRIPTION; + case 4: // SHARE_EXPERIMENT_PUBLICLY + return SHARE_EXPERIMENT_PUBLICLY; + 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 + private static final int __SHAREEXPERIMENTPUBLICLY_ISSET_ID = 0; + private byte __isset_bitfield = 0; + private _Fields optionals[] = {_Fields.EXPERIMENT_DESCRIPTION,_Fields.SHARE_EXPERIMENT_PUBLICLY}; + 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.USER_NAME, new org.apache.thrift.meta_data.FieldMetaData("userName", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.EXPERIMENT_NAME, new org.apache.thrift.meta_data.FieldMetaData("experimentName", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.EXPERIMENT_DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("experimentDescription", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.SHARE_EXPERIMENT_PUBLICLY, new org.apache.thrift.meta_data.FieldMetaData("shareExperimentPublicly", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(BasicMetadata.class, metaDataMap); + } + + public BasicMetadata() { + this.shareExperimentPublicly = false; + + } + + public BasicMetadata( + String userName, + String experimentName) + { + this(); + this.userName = userName; + this.experimentName = experimentName; + } + + /** + * Performs a deep copy on other. + */ + public BasicMetadata(BasicMetadata other) { + __isset_bitfield = other.__isset_bitfield; + if (other.isSetUserName()) { + this.userName = other.userName; + } + if (other.isSetExperimentName()) { + this.experimentName = other.experimentName; + } + if (other.isSetExperimentDescription()) { + this.experimentDescription = other.experimentDescription; + } + this.shareExperimentPublicly = other.shareExperimentPublicly; + } + + public BasicMetadata deepCopy() { + return new BasicMetadata(this); + } + + @Override + public void clear() { + this.userName = null; + this.experimentName = null; + this.experimentDescription = null; + this.shareExperimentPublicly = false; + + } + + public String getUserName() { + return this.userName; + } + + public BasicMetadata setUserName(String userName) { + this.userName = userName; + return this; + } + + public void unsetUserName() { + this.userName = null; + } + + /** Returns true if field userName is set (has been assigned a value) and false otherwise */ + public boolean isSetUserName() { + return this.userName != null; + } + + public void setUserNameIsSet(boolean value) { + if (!value) { + this.userName = null; + } + } + + public String getExperimentName() { + return this.experimentName; + } + + public BasicMetadata setExperimentName(String experimentName) { + this.experimentName = experimentName; + return this; + } + + public void unsetExperimentName() { + this.experimentName = null; + } + + /** Returns true if field experimentName is set (has been assigned a value) and false otherwise */ + public boolean isSetExperimentName() { + return this.experimentName != null; + } + + public void setExperimentNameIsSet(boolean value) { + if (!value) { + this.experimentName = null; + } + } + + public String getExperimentDescription() { + return this.experimentDescription; + } + + public BasicMetadata setExperimentDescription(String experimentDescription) { + this.experimentDescription = experimentDescription; + return this; + } + + public void unsetExperimentDescription() { + this.experimentDescription = null; + } + + /** Returns true if field experimentDescription is set (has been assigned a value) and false otherwise */ + public boolean isSetExperimentDescription() { + return this.experimentDescription != null; + } + + public void setExperimentDescriptionIsSet(boolean value) { + if (!value) { + this.experimentDescription = null; + } + } + + public boolean isShareExperimentPublicly() { + return this.shareExperimentPublicly; + } + + public BasicMetadata setShareExperimentPublicly(boolean shareExperimentPublicly) { + this.shareExperimentPublicly = shareExperimentPublicly; + setShareExperimentPubliclyIsSet(true); + return this; + } + + public void unsetShareExperimentPublicly() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SHAREEXPERIMENTPUBLICLY_ISSET_ID); + } + + /** Returns true if field shareExperimentPublicly is set (has been assigned a value) and false otherwise */ + public boolean isSetShareExperimentPublicly() { + return EncodingUtils.testBit(__isset_bitfield, __SHAREEXPERIMENTPUBLICLY_ISSET_ID); + } + + public void setShareExperimentPubliclyIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SHAREEXPERIMENTPUBLICLY_ISSET_ID, value); + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case USER_NAME: + if (value == null) { + unsetUserName(); + } else { + setUserName((String)value); + } + break; + + case EXPERIMENT_NAME: + if (value == null) { + unsetExperimentName(); + } else { + setExperimentName((String)value); + } + break; + + case EXPERIMENT_DESCRIPTION: + if (value == null) { + unsetExperimentDescription(); + } else { + setExperimentDescription((String)value); + } + break; + + case SHARE_EXPERIMENT_PUBLICLY: + if (value == null) { + unsetShareExperimentPublicly(); + } else { + setShareExperimentPublicly((Boolean)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case USER_NAME: + return getUserName(); + + case EXPERIMENT_NAME: + return getExperimentName(); + + case EXPERIMENT_DESCRIPTION: + return getExperimentDescription(); + + case SHARE_EXPERIMENT_PUBLICLY: + return Boolean.valueOf(isShareExperimentPublicly()); + + } + 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 USER_NAME: + return isSetUserName(); + case EXPERIMENT_NAME: + return isSetExperimentName(); + case EXPERIMENT_DESCRIPTION: + return isSetExperimentDescription(); + case SHARE_EXPERIMENT_PUBLICLY: + return isSetShareExperimentPublicly(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof BasicMetadata) + return this.equals((BasicMetadata)that); + return false; + } + + public boolean equals(BasicMetadata that) { + if (that == null) + return false; + + boolean this_present_userName = true && this.isSetUserName(); + boolean that_present_userName = true && that.isSetUserName(); + if (this_present_userName || that_present_userName) { + if (!(this_present_userName && that_present_userName)) + return false; + if (!this.userName.equals(that.userName)) + return false; + } + + boolean this_present_experimentName = true && this.isSetExperimentName(); + boolean that_present_experimentName = true && that.isSetExperimentName(); + if (this_present_experimentName || that_present_experimentName) { + if (!(this_present_experimentName && that_present_experimentName)) + return false; + if (!this.experimentName.equals(that.experimentName)) + return false; + } + + boolean this_present_experimentDescription = true && this.isSetExperimentDescription(); + boolean that_present_experimentDescription = true && that.isSetExperimentDescription(); + if (this_present_experimentDescription || that_present_experimentDescription) { + if (!(this_present_experimentDescription && that_present_experimentDescription)) + return false; + if (!this.experimentDescription.equals(that.experimentDescription)) + return false; + } + + boolean this_present_shareExperimentPublicly = true && this.isSetShareExperimentPublicly(); + boolean that_present_shareExperimentPublicly = true && that.isSetShareExperimentPublicly(); + if (this_present_shareExperimentPublicly || that_present_shareExperimentPublicly) { + if (!(this_present_shareExperimentPublicly && that_present_shareExperimentPublicly)) + return false; + if (this.shareExperimentPublicly != that.shareExperimentPublicly) + return false; + } + + return true; + } + + @Override + public int hashCode() { + return 0; + } + + @Override + public int compareTo(BasicMetadata other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetUserName()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userName, other.userName); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetExperimentName()).compareTo(other.isSetExperimentName()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetExperimentName()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentName, other.experimentName); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetExperimentDescription()).compareTo(other.isSetExperimentDescription()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetExperimentDescription()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentDescription, other.experimentDescription); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetShareExperimentPublicly()).compareTo(other.isSetShareExperimentPublicly()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetShareExperimentPublicly()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.shareExperimentPublicly, other.shareExperimentPublicly); + 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("BasicMetadata("); + boolean first = true; + + sb.append("userName:"); + if (this.userName == null) { + sb.append("null"); + } else { + sb.append(this.userName); + } + first = false; + if (!first) sb.append(", "); + sb.append("experimentName:"); + if (this.experimentName == null) { + sb.append("null"); + } else { + sb.append(this.experimentName); + } + first = false; + if (isSetExperimentDescription()) { + if (!first) sb.append(", "); + sb.append("experimentDescription:"); + if (this.experimentDescription == null) { + sb.append("null"); + } else { + sb.append(this.experimentDescription); + } + first = false; + } + if (isSetShareExperimentPublicly()) { + if (!first) sb.append(", "); + sb.append("shareExperimentPublicly:"); + sb.append(this.shareExperimentPublicly); + first = false; + } + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + if (userName == null) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'userName' was not present! Struct: " + toString()); + } + if (experimentName == null) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'experimentName' was not present! 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 { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + 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 BasicMetadataStandardSchemeFactory implements SchemeFactory { + public BasicMetadataStandardScheme getScheme() { + return new BasicMetadataStandardScheme(); + } + } + + private static class BasicMetadataStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, BasicMetadata 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: // USER_NAME + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.userName = iprot.readString(); + struct.setUserNameIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // EXPERIMENT_NAME + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.experimentName = iprot.readString(); + struct.setExperimentNameIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // EXPERIMENT_DESCRIPTION + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.experimentDescription = iprot.readString(); + struct.setExperimentDescriptionIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // SHARE_EXPERIMENT_PUBLICLY + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.shareExperimentPublicly = iprot.readBool(); + struct.setShareExperimentPubliclyIsSet(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(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, BasicMetadata struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.userName != null) { + oprot.writeFieldBegin(USER_NAME_FIELD_DESC); + oprot.writeString(struct.userName); + oprot.writeFieldEnd(); + } + if (struct.experimentName != null) { + oprot.writeFieldBegin(EXPERIMENT_NAME_FIELD_DESC); + oprot.writeString(struct.experimentName); + oprot.writeFieldEnd(); + } + if (struct.experimentDescription != null) { + if (struct.isSetExperimentDescription()) { + oprot.writeFieldBegin(EXPERIMENT_DESCRIPTION_FIELD_DESC); + oprot.writeString(struct.experimentDescription); + oprot.writeFieldEnd(); + } + } + if (struct.isSetShareExperimentPublicly()) { + oprot.writeFieldBegin(SHARE_EXPERIMENT_PUBLICLY_FIELD_DESC); + oprot.writeBool(struct.shareExperimentPublicly); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class BasicMetadataTupleSchemeFactory implements SchemeFactory { + public BasicMetadataTupleScheme getScheme() { + return new BasicMetadataTupleScheme(); + } + } + + private static class BasicMetadataTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, BasicMetadata struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.userName); + oprot.writeString(struct.experimentName); + BitSet optionals = new BitSet(); + if (struct.isSetExperimentDescription()) { + optionals.set(0); + } + if (struct.isSetShareExperimentPublicly()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetExperimentDescription()) { + oprot.writeString(struct.experimentDescription); + } + if (struct.isSetShareExperimentPublicly()) { + oprot.writeBool(struct.shareExperimentPublicly); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, BasicMetadata struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.userName = iprot.readString(); + struct.setUserNameIsSet(true); + struct.experimentName = iprot.readString(); + struct.setExperimentNameIsSet(true); + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + struct.experimentDescription = iprot.readString(); + struct.setExperimentDescriptionIsSet(true); + } + if (incoming.get(1)) { + struct.shareExperimentPublicly = iprot.readBool(); + struct.setShareExperimentPubliclyIsSet(true); + } + } + } + +} + http://git-wip-us.apache.org/repos/asf/airavata/blob/3070c3d9/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/ComputationalResourceScheduling.java ---------------------------------------------------------------------- diff --git a/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/ComputationalResourceScheduling.java b/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/ComputationalResourceScheduling.java new file mode 100644 index 0000000..eb0b4e2 --- /dev/null +++ b/airavata-api/datamodel/src/main/java/org/apache/airavata/model/experiment/ComputationalResourceScheduling.java @@ -0,0 +1,1359 @@ +/** + * 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.experiment; + +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; + +/** + * A structure holding the Computational Resource Scheduling. + * + */ +public class ComputationalResourceScheduling implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputationalResourceScheduling"); + + private static final org.apache.thrift.protocol.TField AIRAVATA_AUTO_SCHEDULE_FIELD_DESC = new org.apache.thrift.protocol.TField("airavataAutoSchedule", org.apache.thrift.protocol.TType.BOOL, (short)1); + private static final org.apache.thrift.protocol.TField OVERRIDE_MANUAL_SCHEDULED_PARAMS_FIELD_DESC = new org.apache.thrift.protocol.TField("overrideManualScheduledParams", org.apache.thrift.protocol.TType.BOOL, (short)2); + private static final org.apache.thrift.protocol.TField RESOURCE_HOST_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("resourceHostId", org.apache.thrift.protocol.TType.STRING, (short)3); + private static final org.apache.thrift.protocol.TField TOTAL_CPUCOUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("totalCPUCount", org.apache.thrift.protocol.TType.I32, (short)4); + private static final org.apache.thrift.protocol.TField NODE_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("nodeCount", org.apache.thrift.protocol.TType.I32, (short)5); + private static final org.apache.thrift.protocol.TField NUMBER_OF_THREADS_FIELD_DESC = new org.apache.thrift.protocol.TField("numberOfThreads", org.apache.thrift.protocol.TType.I32, (short)6); + private static final org.apache.thrift.protocol.TField QUEUE_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("queueName", org.apache.thrift.protocol.TType.STRING, (short)7); + private static final org.apache.thrift.protocol.TField WALL_TIME_LIMIT_FIELD_DESC = new org.apache.thrift.protocol.TField("wallTimeLimit", org.apache.thrift.protocol.TType.I32, (short)8); + private static final org.apache.thrift.protocol.TField JOB_START_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("jobStartTime", org.apache.thrift.protocol.TType.I32, (short)9); + private static final org.apache.thrift.protocol.TField TOTAL_PHYSICAL_MEMORY_FIELD_DESC = new org.apache.thrift.protocol.TField("totalPhysicalMemory", org.apache.thrift.protocol.TType.I32, (short)10); + private static final org.apache.thrift.protocol.TField COMPUTATIONAL_PROJECT_ACCOUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("ComputationalProjectAccount", org.apache.thrift.protocol.TType.STRING, (short)11); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new ComputationalResourceSchedulingStandardSchemeFactory()); + schemes.put(TupleScheme.class, new ComputationalResourceSchedulingTupleSchemeFactory()); + } + + public boolean airavataAutoSchedule; // required + public boolean overrideManualScheduledParams; // required + public String resourceHostId; // optional + public int totalCPUCount; // optional + public int nodeCount; // optional + public int numberOfThreads; // optional + public String queueName; // optional + public int wallTimeLimit; // optional + public int jobStartTime; // optional + public int totalPhysicalMemory; // optional + public String ComputationalProjectAccount; // optional + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + AIRAVATA_AUTO_SCHEDULE((short)1, "airavataAutoSchedule"), + OVERRIDE_MANUAL_SCHEDULED_PARAMS((short)2, "overrideManualScheduledParams"), + RESOURCE_HOST_ID((short)3, "resourceHostId"), + TOTAL_CPUCOUNT((short)4, "totalCPUCount"), + NODE_COUNT((short)5, "nodeCount"), + NUMBER_OF_THREADS((short)6, "numberOfThreads"), + QUEUE_NAME((short)7, "queueName"), + WALL_TIME_LIMIT((short)8, "wallTimeLimit"), + JOB_START_TIME((short)9, "jobStartTime"), + TOTAL_PHYSICAL_MEMORY((short)10, "totalPhysicalMemory"), + COMPUTATIONAL_PROJECT_ACCOUNT((short)11, "ComputationalProjectAccount"); + + private static final Map byName = new HashMap(); + + 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: // AIRAVATA_AUTO_SCHEDULE + return AIRAVATA_AUTO_SCHEDULE; + case 2: // OVERRIDE_MANUAL_SCHEDULED_PARAMS + return OVERRIDE_MANUAL_SCHEDULED_PARAMS; + case 3: // RESOURCE_HOST_ID + return RESOURCE_HOST_ID; + case 4: // TOTAL_CPUCOUNT + return TOTAL_CPUCOUNT; + case 5: // NODE_COUNT + return NODE_COUNT; + case 6: // NUMBER_OF_THREADS + return NUMBER_OF_THREADS; + case 7: // QUEUE_NAME + return QUEUE_NAME; + case 8: // WALL_TIME_LIMIT + return WALL_TIME_LIMIT; + case 9: // JOB_START_TIME + return JOB_START_TIME; + case 10: // TOTAL_PHYSICAL_MEMORY + return TOTAL_PHYSICAL_MEMORY; + case 11: // COMPUTATIONAL_PROJECT_ACCOUNT + return COMPUTATIONAL_PROJECT_ACCOUNT; + 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 + private static final int __AIRAVATAAUTOSCHEDULE_ISSET_ID = 0; + private static final int __OVERRIDEMANUALSCHEDULEDPARAMS_ISSET_ID = 1; + private static final int __TOTALCPUCOUNT_ISSET_ID = 2; + private static final int __NODECOUNT_ISSET_ID = 3; + private static final int __NUMBEROFTHREADS_ISSET_ID = 4; + private static final int __WALLTIMELIMIT_ISSET_ID = 5; + private static final int __JOBSTARTTIME_ISSET_ID = 6; + private static final int __TOTALPHYSICALMEMORY_ISSET_ID = 7; + private byte __isset_bitfield = 0; + private _Fields optionals[] = {_Fields.RESOURCE_HOST_ID,_Fields.TOTAL_CPUCOUNT,_Fields.NODE_COUNT,_Fields.NUMBER_OF_THREADS,_Fields.QUEUE_NAME,_Fields.WALL_TIME_LIMIT,_Fields.JOB_START_TIME,_Fields.TOTAL_PHYSICAL_MEMORY,_Fields.COMPUTATIONAL_PROJECT_ACCOUNT}; + 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.AIRAVATA_AUTO_SCHEDULE, new org.apache.thrift.meta_data.FieldMetaData("airavataAutoSchedule", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); + tmpMap.put(_Fields.OVERRIDE_MANUAL_SCHEDULED_PARAMS, new org.apache.thrift.meta_data.FieldMetaData("overrideManualScheduledParams", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); + tmpMap.put(_Fields.RESOURCE_HOST_ID, new org.apache.thrift.meta_data.FieldMetaData("resourceHostId", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.TOTAL_CPUCOUNT, new org.apache.thrift.meta_data.FieldMetaData("totalCPUCount", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32))); + tmpMap.put(_Fields.NODE_COUNT, new org.apache.thrift.meta_data.FieldMetaData("nodeCount", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32))); + tmpMap.put(_Fields.NUMBER_OF_THREADS, new org.apache.thrift.meta_data.FieldMetaData("numberOfThreads", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32))); + tmpMap.put(_Fields.QUEUE_NAME, new org.apache.thrift.meta_data.FieldMetaData("queueName", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.WALL_TIME_LIMIT, new org.apache.thrift.meta_data.FieldMetaData("wallTimeLimit", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32))); + tmpMap.put(_Fields.JOB_START_TIME, new org.apache.thrift.meta_data.FieldMetaData("jobStartTime", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32))); + tmpMap.put(_Fields.TOTAL_PHYSICAL_MEMORY, new org.apache.thrift.meta_data.FieldMetaData("totalPhysicalMemory", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32))); + tmpMap.put(_Fields.COMPUTATIONAL_PROJECT_ACCOUNT, new org.apache.thrift.meta_data.FieldMetaData("ComputationalProjectAccount", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ComputationalResourceScheduling.class, metaDataMap); + } + + public ComputationalResourceScheduling() { + this.airavataAutoSchedule = true; + + this.overrideManualScheduledParams = false; + + } + + public ComputationalResourceScheduling( + boolean airavataAutoSchedule, + boolean overrideManualScheduledParams) + { + this(); + this.airavataAutoSchedule = airavataAutoSchedule; + setAiravataAutoScheduleIsSet(true); + this.overrideManualScheduledParams = overrideManualScheduledParams; + setOverrideManualScheduledParamsIsSet(true); + } + + /** + * Performs a deep copy on other. + */ + public ComputationalResourceScheduling(ComputationalResourceScheduling other) { + __isset_bitfield = other.__isset_bitfield; + this.airavataAutoSchedule = other.airavataAutoSchedule; + this.overrideManualScheduledParams = other.overrideManualScheduledParams; + if (other.isSetResourceHostId()) { + this.resourceHostId = other.resourceHostId; + } + this.totalCPUCount = other.totalCPUCount; + this.nodeCount = other.nodeCount; + this.numberOfThreads = other.numberOfThreads; + if (other.isSetQueueName()) { + this.queueName = other.queueName; + } + this.wallTimeLimit = other.wallTimeLimit; + this.jobStartTime = other.jobStartTime; + this.totalPhysicalMemory = other.totalPhysicalMemory; + if (other.isSetComputationalProjectAccount()) { + this.ComputationalProjectAccount = other.ComputationalProjectAccount; + } + } + + public ComputationalResourceScheduling deepCopy() { + return new ComputationalResourceScheduling(this); + } + + @Override + public void clear() { + this.airavataAutoSchedule = true; + + this.overrideManualScheduledParams = false; + + this.resourceHostId = null; + setTotalCPUCountIsSet(false); + this.totalCPUCount = 0; + setNodeCountIsSet(false); + this.nodeCount = 0; + setNumberOfThreadsIsSet(false); + this.numberOfThreads = 0; + this.queueName = null; + setWallTimeLimitIsSet(false); + this.wallTimeLimit = 0; + setJobStartTimeIsSet(false); + this.jobStartTime = 0; + setTotalPhysicalMemoryIsSet(false); + this.totalPhysicalMemory = 0; + this.ComputationalProjectAccount = null; + } + + public boolean isAiravataAutoSchedule() { + return this.airavataAutoSchedule; + } + + public ComputationalResourceScheduling setAiravataAutoSchedule(boolean airavataAutoSchedule) { + this.airavataAutoSchedule = airavataAutoSchedule; + setAiravataAutoScheduleIsSet(true); + return this; + } + + public void unsetAiravataAutoSchedule() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __AIRAVATAAUTOSCHEDULE_ISSET_ID); + } + + /** Returns true if field airavataAutoSchedule is set (has been assigned a value) and false otherwise */ + public boolean isSetAiravataAutoSchedule() { + return EncodingUtils.testBit(__isset_bitfield, __AIRAVATAAUTOSCHEDULE_ISSET_ID); + } + + public void setAiravataAutoScheduleIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __AIRAVATAAUTOSCHEDULE_ISSET_ID, value); + } + + public boolean isOverrideManualScheduledParams() { + return this.overrideManualScheduledParams; + } + + public ComputationalResourceScheduling setOverrideManualScheduledParams(boolean overrideManualScheduledParams) { + this.overrideManualScheduledParams = overrideManualScheduledParams; + setOverrideManualScheduledParamsIsSet(true); + return this; + } + + public void unsetOverrideManualScheduledParams() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __OVERRIDEMANUALSCHEDULEDPARAMS_ISSET_ID); + } + + /** Returns true if field overrideManualScheduledParams is set (has been assigned a value) and false otherwise */ + public boolean isSetOverrideManualScheduledParams() { + return EncodingUtils.testBit(__isset_bitfield, __OVERRIDEMANUALSCHEDULEDPARAMS_ISSET_ID); + } + + public void setOverrideManualScheduledParamsIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __OVERRIDEMANUALSCHEDULEDPARAMS_ISSET_ID, value); + } + + public String getResourceHostId() { + return this.resourceHostId; + } + + public ComputationalResourceScheduling setResourceHostId(String resourceHostId) { + this.resourceHostId = resourceHostId; + return this; + } + + public void unsetResourceHostId() { + this.resourceHostId = null; + } + + /** Returns true if field resourceHostId is set (has been assigned a value) and false otherwise */ + public boolean isSetResourceHostId() { + return this.resourceHostId != null; + } + + public void setResourceHostIdIsSet(boolean value) { + if (!value) { + this.resourceHostId = null; + } + } + + public int getTotalCPUCount() { + return this.totalCPUCount; + } + + public ComputationalResourceScheduling setTotalCPUCount(int totalCPUCount) { + this.totalCPUCount = totalCPUCount; + setTotalCPUCountIsSet(true); + return this; + } + + public void unsetTotalCPUCount() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TOTALCPUCOUNT_ISSET_ID); + } + + /** Returns true if field totalCPUCount is set (has been assigned a value) and false otherwise */ + public boolean isSetTotalCPUCount() { + return EncodingUtils.testBit(__isset_bitfield, __TOTALCPUCOUNT_ISSET_ID); + } + + public void setTotalCPUCountIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TOTALCPUCOUNT_ISSET_ID, value); + } + + public int getNodeCount() { + return this.nodeCount; + } + + public ComputationalResourceScheduling setNodeCount(int nodeCount) { + this.nodeCount = nodeCount; + setNodeCountIsSet(true); + return this; + } + + public void unsetNodeCount() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __NODECOUNT_ISSET_ID); + } + + /** Returns true if field nodeCount is set (has been assigned a value) and false otherwise */ + public boolean isSetNodeCount() { + return EncodingUtils.testBit(__isset_bitfield, __NODECOUNT_ISSET_ID); + } + + public void setNodeCountIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __NODECOUNT_ISSET_ID, value); + } + + public int getNumberOfThreads() { + return this.numberOfThreads; + } + + public ComputationalResourceScheduling setNumberOfThreads(int numberOfThreads) { + this.numberOfThreads = numberOfThreads; + setNumberOfThreadsIsSet(true); + return this; + } + + public void unsetNumberOfThreads() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __NUMBEROFTHREADS_ISSET_ID); + } + + /** Returns true if field numberOfThreads is set (has been assigned a value) and false otherwise */ + public boolean isSetNumberOfThreads() { + return EncodingUtils.testBit(__isset_bitfield, __NUMBEROFTHREADS_ISSET_ID); + } + + public void setNumberOfThreadsIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __NUMBEROFTHREADS_ISSET_ID, value); + } + + public String getQueueName() { + return this.queueName; + } + + public ComputationalResourceScheduling setQueueName(String queueName) { + this.queueName = queueName; + return this; + } + + public void unsetQueueName() { + this.queueName = null; + } + + /** Returns true if field queueName is set (has been assigned a value) and false otherwise */ + public boolean isSetQueueName() { + return this.queueName != null; + } + + public void setQueueNameIsSet(boolean value) { + if (!value) { + this.queueName = null; + } + } + + public int getWallTimeLimit() { + return this.wallTimeLimit; + } + + public ComputationalResourceScheduling setWallTimeLimit(int wallTimeLimit) { + this.wallTimeLimit = wallTimeLimit; + setWallTimeLimitIsSet(true); + return this; + } + + public void unsetWallTimeLimit() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __WALLTIMELIMIT_ISSET_ID); + } + + /** Returns true if field wallTimeLimit is set (has been assigned a value) and false otherwise */ + public boolean isSetWallTimeLimit() { + return EncodingUtils.testBit(__isset_bitfield, __WALLTIMELIMIT_ISSET_ID); + } + + public void setWallTimeLimitIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __WALLTIMELIMIT_ISSET_ID, value); + } + + public int getJobStartTime() { + return this.jobStartTime; + } + + public ComputationalResourceScheduling setJobStartTime(int jobStartTime) { + this.jobStartTime = jobStartTime; + setJobStartTimeIsSet(true); + return this; + } + + public void unsetJobStartTime() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __JOBSTARTTIME_ISSET_ID); + } + + /** Returns true if field jobStartTime is set (has been assigned a value) and false otherwise */ + public boolean isSetJobStartTime() { + return EncodingUtils.testBit(__isset_bitfield, __JOBSTARTTIME_ISSET_ID); + } + + public void setJobStartTimeIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __JOBSTARTTIME_ISSET_ID, value); + } + + public int getTotalPhysicalMemory() { + return this.totalPhysicalMemory; + } + + public ComputationalResourceScheduling setTotalPhysicalMemory(int totalPhysicalMemory) { + this.totalPhysicalMemory = totalPhysicalMemory; + setTotalPhysicalMemoryIsSet(true); + return this; + } + + public void unsetTotalPhysicalMemory() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TOTALPHYSICALMEMORY_ISSET_ID); + } + + /** Returns true if field totalPhysicalMemory is set (has been assigned a value) and false otherwise */ + public boolean isSetTotalPhysicalMemory() { + return EncodingUtils.testBit(__isset_bitfield, __TOTALPHYSICALMEMORY_ISSET_ID); + } + + public void setTotalPhysicalMemoryIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TOTALPHYSICALMEMORY_ISSET_ID, value); + } + + public String getComputationalProjectAccount() { + return this.ComputationalProjectAccount; + } + + public ComputationalResourceScheduling setComputationalProjectAccount(String ComputationalProjectAccount) { + this.ComputationalProjectAccount = ComputationalProjectAccount; + return this; + } + + public void unsetComputationalProjectAccount() { + this.ComputationalProjectAccount = null; + } + + /** Returns true if field ComputationalProjectAccount is set (has been assigned a value) and false otherwise */ + public boolean isSetComputationalProjectAccount() { + return this.ComputationalProjectAccount != null; + } + + public void setComputationalProjectAccountIsSet(boolean value) { + if (!value) { + this.ComputationalProjectAccount = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case AIRAVATA_AUTO_SCHEDULE: + if (value == null) { + unsetAiravataAutoSchedule(); + } else { + setAiravataAutoSchedule((Boolean)value); + } + break; + + case OVERRIDE_MANUAL_SCHEDULED_PARAMS: + if (value == null) { + unsetOverrideManualScheduledParams(); + } else { + setOverrideManualScheduledParams((Boolean)value); + } + break; + + case RESOURCE_HOST_ID: + if (value == null) { + unsetResourceHostId(); + } else { + setResourceHostId((String)value); + } + break; + + case TOTAL_CPUCOUNT: + if (value == null) { + unsetTotalCPUCount(); + } else { + setTotalCPUCount((Integer)value); + } + break; + + case NODE_COUNT: + if (value == null) { + unsetNodeCount(); + } else { + setNodeCount((Integer)value); + } + break; + + case NUMBER_OF_THREADS: + if (value == null) { + unsetNumberOfThreads(); + } else { + setNumberOfThreads((Integer)value); + } + break; + + case QUEUE_NAME: + if (value == null) { + unsetQueueName(); + } else { + setQueueName((String)value); + } + break; + + case WALL_TIME_LIMIT: + if (value == null) { + unsetWallTimeLimit(); + } else { + setWallTimeLimit((Integer)value); + } + break; + + case JOB_START_TIME: + if (value == null) { + unsetJobStartTime(); + } else { + setJobStartTime((Integer)value); + } + break; + + case TOTAL_PHYSICAL_MEMORY: + if (value == null) { + unsetTotalPhysicalMemory(); + } else { + setTotalPhysicalMemory((Integer)value); + } + break; + + case COMPUTATIONAL_PROJECT_ACCOUNT: + if (value == null) { + unsetComputationalProjectAccount(); + } else { + setComputationalProjectAccount((String)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case AIRAVATA_AUTO_SCHEDULE: + return Boolean.valueOf(isAiravataAutoSchedule()); + + case OVERRIDE_MANUAL_SCHEDULED_PARAMS: + return Boolean.valueOf(isOverrideManualScheduledParams()); + + case RESOURCE_HOST_ID: + return getResourceHostId(); + + case TOTAL_CPUCOUNT: + return Integer.valueOf(getTotalCPUCount()); + + case NODE_COUNT: + return Integer.valueOf(getNodeCount()); + + case NUMBER_OF_THREADS: + return Integer.valueOf(getNumberOfThreads()); + + case QUEUE_NAME: + return getQueueName(); + + case WALL_TIME_LIMIT: + return Integer.valueOf(getWallTimeLimit()); + + case JOB_START_TIME: + return Integer.valueOf(getJobStartTime()); + + case TOTAL_PHYSICAL_MEMORY: + return Integer.valueOf(getTotalPhysicalMemory()); + + case COMPUTATIONAL_PROJECT_ACCOUNT: + return getComputationalProjectAccount(); + + } + 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 AIRAVATA_AUTO_SCHEDULE: + return isSetAiravataAutoSchedule(); + case OVERRIDE_MANUAL_SCHEDULED_PARAMS: + return isSetOverrideManualScheduledParams(); + case RESOURCE_HOST_ID: + return isSetResourceHostId(); + case TOTAL_CPUCOUNT: + return isSetTotalCPUCount(); + case NODE_COUNT: + return isSetNodeCount(); + case NUMBER_OF_THREADS: + return isSetNumberOfThreads(); + case QUEUE_NAME: + return isSetQueueName(); + case WALL_TIME_LIMIT: + return isSetWallTimeLimit(); + case JOB_START_TIME: + return isSetJobStartTime(); + case TOTAL_PHYSICAL_MEMORY: + return isSetTotalPhysicalMemory(); + case COMPUTATIONAL_PROJECT_ACCOUNT: + return isSetComputationalProjectAccount(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof ComputationalResourceScheduling) + return this.equals((ComputationalResourceScheduling)that); + return false; + } + + public boolean equals(ComputationalResourceScheduling that) { + if (that == null) + return false; + + boolean this_present_airavataAutoSchedule = true; + boolean that_present_airavataAutoSchedule = true; + if (this_present_airavataAutoSchedule || that_present_airavataAutoSchedule) { + if (!(this_present_airavataAutoSchedule && that_present_airavataAutoSchedule)) + return false; + if (this.airavataAutoSchedule != that.airavataAutoSchedule) + return false; + } + + boolean this_present_overrideManualScheduledParams = true; + boolean that_present_overrideManualScheduledParams = true; + if (this_present_overrideManualScheduledParams || that_present_overrideManualScheduledParams) { + if (!(this_present_overrideManualScheduledParams && that_present_overrideManualScheduledParams)) + return false; + if (this.overrideManualScheduledParams != that.overrideManualScheduledParams) + return false; + } + + boolean this_present_resourceHostId = true && this.isSetResourceHostId(); + boolean that_present_resourceHostId = true && that.isSetResourceHostId(); + if (this_present_resourceHostId || that_present_resourceHostId) { + if (!(this_present_resourceHostId && that_present_resourceHostId)) + return false; + if (!this.resourceHostId.equals(that.resourceHostId)) + return false; + } + + boolean this_present_totalCPUCount = true && this.isSetTotalCPUCount(); + boolean that_present_totalCPUCount = true && that.isSetTotalCPUCount(); + if (this_present_totalCPUCount || that_present_totalCPUCount) { + if (!(this_present_totalCPUCount && that_present_totalCPUCount)) + return false; + if (this.totalCPUCount != that.totalCPUCount) + return false; + } + + boolean this_present_nodeCount = true && this.isSetNodeCount(); + boolean that_present_nodeCount = true && that.isSetNodeCount(); + if (this_present_nodeCount || that_present_nodeCount) { + if (!(this_present_nodeCount && that_present_nodeCount)) + return false; + if (this.nodeCount != that.nodeCount) + return false; + } + + boolean this_present_numberOfThreads = true && this.isSetNumberOfThreads(); + boolean that_present_numberOfThreads = true && that.isSetNumberOfThreads(); + if (this_present_numberOfThreads || that_present_numberOfThreads) { + if (!(this_present_numberOfThreads && that_present_numberOfThreads)) + return false; + if (this.numberOfThreads != that.numberOfThreads) + return false; + } + + boolean this_present_queueName = true && this.isSetQueueName(); + boolean that_present_queueName = true && that.isSetQueueName(); + if (this_present_queueName || that_present_queueName) { + if (!(this_present_queueName && that_present_queueName)) + return false; + if (!this.queueName.equals(that.queueName)) + return false; + } + + boolean this_present_wallTimeLimit = true && this.isSetWallTimeLimit(); + boolean that_present_wallTimeLimit = true && that.isSetWallTimeLimit(); + if (this_present_wallTimeLimit || that_present_wallTimeLimit) { + if (!(this_present_wallTimeLimit && that_present_wallTimeLimit)) + return false; + if (this.wallTimeLimit != that.wallTimeLimit) + return false; + } + + boolean this_present_jobStartTime = true && this.isSetJobStartTime(); + boolean that_present_jobStartTime = true && that.isSetJobStartTime(); + if (this_present_jobStartTime || that_present_jobStartTime) { + if (!(this_present_jobStartTime && that_present_jobStartTime)) + return false; + if (this.jobStartTime != that.jobStartTime) + return false; + } + + boolean this_present_totalPhysicalMemory = true && this.isSetTotalPhysicalMemory(); + boolean that_present_totalPhysicalMemory = true && that.isSetTotalPhysicalMemory(); + if (this_present_totalPhysicalMemory || that_present_totalPhysicalMemory) { + if (!(this_present_totalPhysicalMemory && that_present_totalPhysicalMemory)) + return false; + if (this.totalPhysicalMemory != that.totalPhysicalMemory) + return false; + } + + boolean this_present_ComputationalProjectAccount = true && this.isSetComputationalProjectAccount(); + boolean that_present_ComputationalProjectAccount = true && that.isSetComputationalProjectAccount(); + if (this_present_ComputationalProjectAccount || that_present_ComputationalProjectAccount) { + if (!(this_present_ComputationalProjectAccount && that_present_ComputationalProjectAccount)) + return false; + if (!this.ComputationalProjectAccount.equals(that.ComputationalProjectAccount)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + return 0; + } + + @Override + public int compareTo(ComputationalResourceScheduling other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetAiravataAutoSchedule()).compareTo(other.isSetAiravataAutoSchedule()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetAiravataAutoSchedule()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.airavataAutoSchedule, other.airavataAutoSchedule); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetOverrideManualScheduledParams()).compareTo(other.isSetOverrideManualScheduledParams()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetOverrideManualScheduledParams()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.overrideManualScheduledParams, other.overrideManualScheduledParams); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetResourceHostId()).compareTo(other.isSetResourceHostId()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetResourceHostId()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resourceHostId, other.resourceHostId); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetTotalCPUCount()).compareTo(other.isSetTotalCPUCount()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetTotalCPUCount()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.totalCPUCount, other.totalCPUCount); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetNodeCount()).compareTo(other.isSetNodeCount()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetNodeCount()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.nodeCount, other.nodeCount); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetNumberOfThreads()).compareTo(other.isSetNumberOfThreads()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetNumberOfThreads()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.numberOfThreads, other.numberOfThreads); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetQueueName()).compareTo(other.isSetQueueName()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetQueueName()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.queueName, other.queueName); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetWallTimeLimit()).compareTo(other.isSetWallTimeLimit()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetWallTimeLimit()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.wallTimeLimit, other.wallTimeLimit); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetJobStartTime()).compareTo(other.isSetJobStartTime()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetJobStartTime()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jobStartTime, other.jobStartTime); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetTotalPhysicalMemory()).compareTo(other.isSetTotalPhysicalMemory()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetTotalPhysicalMemory()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.totalPhysicalMemory, other.totalPhysicalMemory); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetComputationalProjectAccount()).compareTo(other.isSetComputationalProjectAccount()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetComputationalProjectAccount()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ComputationalProjectAccount, other.ComputationalProjectAccount); + 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("ComputationalResourceScheduling("); + boolean first = true; + + sb.append("airavataAutoSchedule:"); + sb.append(this.airavataAutoSchedule); + first = false; + if (!first) sb.append(", "); + sb.append("overrideManualScheduledParams:"); + sb.append(this.overrideManualScheduledParams); + first = false; + if (isSetResourceHostId()) { + if (!first) sb.append(", "); + sb.append("resourceHostId:"); + if (this.resourceHostId == null) { + sb.append("null"); + } else { + sb.append(this.resourceHostId); + } + first = false; + } + if (isSetTotalCPUCount()) { + if (!first) sb.append(", "); + sb.append("totalCPUCount:"); + sb.append(this.totalCPUCount); + first = false; + } + if (isSetNodeCount()) { + if (!first) sb.append(", "); + sb.append("nodeCount:"); + sb.append(this.nodeCount); + first = false; + } + if (isSetNumberOfThreads()) { + if (!first) sb.append(", "); + sb.append("numberOfThreads:"); + sb.append(this.numberOfThreads); + first = false; + } + if (isSetQueueName()) { + if (!first) sb.append(", "); + sb.append("queueName:"); + if (this.queueName == null) { + sb.append("null"); + } else { + sb.append(this.queueName); + } + first = false; + } + if (isSetWallTimeLimit()) { + if (!first) sb.append(", "); + sb.append("wallTimeLimit:"); + sb.append(this.wallTimeLimit); + first = false; + } + if (isSetJobStartTime()) { + if (!first) sb.append(", "); + sb.append("jobStartTime:"); + sb.append(this.jobStartTime); + first = false; + } + if (isSetTotalPhysicalMemory()) { + if (!first) sb.append(", "); + sb.append("totalPhysicalMemory:"); + sb.append(this.totalPhysicalMemory); + first = false; + } + if (isSetComputationalProjectAccount()) { + if (!first) sb.append(", "); + sb.append("ComputationalProjectAccount:"); + if (this.ComputationalProjectAccount == null) { + sb.append("null"); + } else { + sb.append(this.ComputationalProjectAccount); + } + first = false; + } + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // alas, we cannot check 'airavataAutoSchedule' because it's a primitive and you chose the non-beans generator. + // alas, we cannot check 'overrideManualScheduledParams' because it's a primitive and you chose the non-beans generator. + // 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 { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + 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 ComputationalResourceSchedulingStandardSchemeFactory implements SchemeFactory { + public ComputationalResourceSchedulingStandardScheme getScheme() { + return new ComputationalResourceSchedulingStandardScheme(); + } + } + + private static class ComputationalResourceSchedulingStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, ComputationalResourceScheduling 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: // AIRAVATA_AUTO_SCHEDULE + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.airavataAutoSchedule = iprot.readBool(); + struct.setAiravataAutoScheduleIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // OVERRIDE_MANUAL_SCHEDULED_PARAMS + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.overrideManualScheduledParams = iprot.readBool(); + struct.setOverrideManualScheduledParamsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // RESOURCE_HOST_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.resourceHostId = iprot.readString(); + struct.setResourceHostIdIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // TOTAL_CPUCOUNT + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.totalCPUCount = iprot.readI32(); + struct.setTotalCPUCountIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 5: // NODE_COUNT + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.nodeCount = iprot.readI32(); + struct.setNodeCountIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 6: // NUMBER_OF_THREADS + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.numberOfThreads = iprot.readI32(); + struct.setNumberOfThreadsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 7: // QUEUE_NAME + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.queueName = iprot.readString(); + struct.setQueueNameIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 8: // WALL_TIME_LIMIT + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.wallTimeLimit = iprot.readI32(); + struct.setWallTimeLimitIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 9: // JOB_START_TIME + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.jobStartTime = iprot.readI32(); + struct.setJobStartTimeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 10: // TOTAL_PHYSICAL_MEMORY + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.totalPhysicalMemory = iprot.readI32(); + struct.setTotalPhysicalMemoryIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 11: // COMPUTATIONAL_PROJECT_ACCOUNT + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.ComputationalProjectAccount = iprot.readString(); + struct.setComputationalProjectAccountIsSet(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(); + + // check for required fields of primitive type, which can't be checked in the validate method + if (!struct.isSetAiravataAutoSchedule()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'airavataAutoSchedule' was not found in serialized data! Struct: " + toString()); + } + if (!struct.isSetOverrideManualScheduledParams()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'overrideManualScheduledParams' was not found in serialized data! Struct: " + toString()); + } + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, ComputationalResourceScheduling struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldBegin(AIRAVATA_AUTO_SCHEDULE_FIELD_DESC); + oprot.writeBool(struct.airavataAutoSchedule); + oprot.writeFieldEnd(); + oprot.writeFieldBegin(OVERRIDE_MANUAL_SCHEDULED_PARAMS_FIELD_DESC); + oprot.writeBool(struct.overrideManualScheduledParams); + oprot.writeFieldEnd(); + if (struct.resourceHostId != null) { + if (struct.isSetResourceHostId()) { + oprot.writeFieldBegin(RESOURCE_HOST_ID_FIELD_DESC); + oprot.writeString(struct.resourceHostId); + oprot.writeFieldEnd(); + } + } + if (struct.isSetTotalCPUCount()) { + oprot.writeFieldBegin(TOTAL_CPUCOUNT_FIELD_DESC); + oprot.writeI32(struct.totalCPUCount); + oprot.writeFieldEnd(); + } + if (struct.isSetNodeCount()) { + oprot.writeFieldBegin(NODE_COUNT_FIELD_DESC); + oprot.writeI32(struct.nodeCount); + oprot.writeFieldEnd(); + } + if (struct.isSetNumberOfThreads()) { + oprot.writeFieldBegin(NUMBER_OF_THREADS_FIELD_DESC); + oprot.writeI32(struct.numberOfThreads); + oprot.writeFieldEnd(); + } + if (struct.queueName != null) { + if (struct.isSetQueueName()) { + oprot.writeFieldBegin(QUEUE_NAME_FIELD_DESC); + oprot.writeString(struct.queueName); + oprot.writeFieldEnd(); + } + } + if (struct.isSetWallTimeLimit()) { + oprot.writeFieldBegin(WALL_TIME_LIMIT_FIELD_DESC); + oprot.writeI32(struct.wallTimeLimit); + oprot.writeFieldEnd(); + } + if (struct.isSetJobStartTime()) { + oprot.writeFieldBegin(JOB_START_TIME_FIELD_DESC); + oprot.writeI32(struct.jobStartTime); + oprot.writeFieldEnd(); + } + if (struct.isSetTotalPhysicalMemory()) { + oprot.writeFieldBegin(TOTAL_PHYSICAL_MEMORY_FIELD_DESC); + oprot.writeI32(struct.totalPhysicalMemory); + oprot.writeFieldEnd(); + } + if (struct.ComputationalProjectAccount != null) { + if (struct.isSetComputationalProjectAccount()) { + oprot.writeFieldBegin(COMPUTATIONAL_PROJECT_ACCOUNT_FIELD_DESC); + oprot.writeString(struct.ComputationalProjectAccount); + oprot.writeFieldEnd(); + } + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class ComputationalResourceSchedulingTupleSchemeFactory implements SchemeFactory { + public ComputationalResourceSchedulingTupleScheme getScheme() { + return new ComputationalResourceSchedulingTupleScheme(); + } + } + + private static class ComputationalResourceSchedulingTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, ComputationalResourceScheduling struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeBool(struct.airavataAutoSchedule); + oprot.writeBool(struct.overrideManualScheduledParams); + BitSet optionals = new BitSet(); + if (struct.isSetResourceHostId()) { + optionals.set(0); + } + if (struct.isSetTotalCPUCount()) { + optionals.set(1); + } + if (struct.isSetNodeCount()) { + optionals.set(2); + } + if (struct.isSetNumberOfThreads()) { + optionals.set(3); + } + if (struct.isSetQueueName()) { + optionals.set(4); + } + if (struct.isSetWallTimeLimit()) { + optionals.set(5); + } + if (struct.isSetJobStartTime()) { + optionals.set(6); + } + if (struct.isSetTotalPhysicalMemory()) { + optionals.set(7); + } + if (struct.isSetComputationalProjectAccount()) { + optionals.set(8); + } + oprot.writeBitSet(optionals, 9); + if (struct.isSetResourceHostId()) { + oprot.writeString(struct.resourceHostId); + } + if (struct.isSetTotalCPUCount()) { + oprot.writeI32(struct.totalCPUCount); + } + if (struct.isSetNodeCount()) { + oprot.writeI32(struct.nodeCount); + } + if (struct.isSetNumberOfThreads()) { + oprot.writeI32(struct.numberOfThreads); + } + if (struct.isSetQueueName()) { + oprot.writeString(struct.queueName); + } + if (struct.isSetWallTimeLimit()) { + oprot.writeI32(struct.wallTimeLimit); + } + if (struct.isSetJobStartTime()) { + oprot.writeI32(struct.jobStartTime); + } + if (struct.isSetTotalPhysicalMemory()) { + oprot.writeI32(struct.totalPhysicalMemory); + } + if (struct.isSetComputationalProjectAccount()) { + oprot.writeString(struct.ComputationalProjectAccount); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, ComputationalResourceScheduling struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.airavataAutoSchedule = iprot.readBool(); + struct.setAiravataAutoScheduleIsSet(true); + struct.overrideManualScheduledParams = iprot.readBool(); + struct.setOverrideManualScheduledParamsIsSet(true); + BitSet incoming = iprot.readBitSet(9); + if (incoming.get(0)) { + struct.resourceHostId = iprot.readString(); + struct.setResourceHostIdIsSet(true); + } + if (incoming.get(1)) { + struct.totalCPUCount = iprot.readI32(); + struct.setTotalCPUCountIsSet(true); + } + if (incoming.get(2)) { + struct.nodeCount = iprot.readI32(); + struct.setNodeCountIsSet(true); + } + if (incoming.get(3)) { + struct.numberOfThreads = iprot.readI32(); + struct.setNumberOfThreadsIsSet(true); + } + if (incoming.get(4)) { + struct.queueName = iprot.readString(); + struct.setQueueNameIsSet(true); + } + if (incoming.get(5)) { + struct.wallTimeLimit = iprot.readI32(); + struct.setWallTimeLimitIsSet(true); + } + if (incoming.get(6)) { + struct.jobStartTime = iprot.readI32(); + struct.setJobStartTimeIsSet(true); + } + if (incoming.get(7)) { + struct.totalPhysicalMemory = iprot.readI32(); + struct.setTotalPhysicalMemoryIsSet(true); + } + if (incoming.get(8)) { + struct.ComputationalProjectAccount = iprot.readString(); + struct.setComputationalProjectAccountIsSet(true); + } + } + } + +} +