http://git-wip-us.apache.org/repos/asf/airavata/blob/fc927c6c/airavata-api/airavata-api-sdk/src/main/java/org/apache/airavata/model/experiment/AdvancedOutputDataHandling.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-api-sdk/src/main/java/org/apache/airavata/model/experiment/AdvancedOutputDataHandling.java b/airavata-api/airavata-api-sdk/src/main/java/org/apache/airavata/model/experiment/AdvancedOutputDataHandling.java new file mode 100644 index 0000000..7bec30e --- /dev/null +++ b/airavata-api/airavata-api-sdk/src/main/java/org/apache/airavata/model/experiment/AdvancedOutputDataHandling.java @@ -0,0 +1,609 @@ + /* + * 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.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 specified output data handling. + * + */ +@SuppressWarnings("all") public class AdvancedOutputDataHandling implements org.apache.thrift.TBase<AdvancedOutputDataHandling, AdvancedOutputDataHandling._Fields>, java.io.Serializable, Cloneable, Comparable<AdvancedOutputDataHandling> { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AdvancedOutputDataHandling"); + + private static final org.apache.thrift.protocol.TField OUTPUTDATA_DIR_FIELD_DESC = new org.apache.thrift.protocol.TField("outputdataDir", org.apache.thrift.protocol.TType.STRING, (short)2); + private static final org.apache.thrift.protocol.TField DATA_REGISTRY_URL_FIELD_DESC = new org.apache.thrift.protocol.TField("dataRegistryURL", org.apache.thrift.protocol.TType.STRING, (short)3); + private static final org.apache.thrift.protocol.TField PERSIST_OUTPUT_DATA_FIELD_DESC = new org.apache.thrift.protocol.TField("persistOutputData", org.apache.thrift.protocol.TType.BOOL, (short)4); + + private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new AdvancedOutputDataHandlingStandardSchemeFactory()); + schemes.put(TupleScheme.class, new AdvancedOutputDataHandlingTupleSchemeFactory()); + } + + public String outputdataDir; // optional + public String dataRegistryURL; // optional + public boolean persistOutputData; // optional + + /** 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 { + OUTPUTDATA_DIR((short)2, "outputdataDir"), + DATA_REGISTRY_URL((short)3, "dataRegistryURL"), + PERSIST_OUTPUT_DATA((short)4, "persistOutputData"); + + 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 2: // OUTPUTDATA_DIR + return OUTPUTDATA_DIR; + case 3: // DATA_REGISTRY_URL + return DATA_REGISTRY_URL; + case 4: // PERSIST_OUTPUT_DATA + return PERSIST_OUTPUT_DATA; + 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 __PERSISTOUTPUTDATA_ISSET_ID = 0; + private byte __isset_bitfield = 0; + private _Fields optionals[] = {_Fields.OUTPUTDATA_DIR,_Fields.DATA_REGISTRY_URL,_Fields.PERSIST_OUTPUT_DATA}; + 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.OUTPUTDATA_DIR, new org.apache.thrift.meta_data.FieldMetaData("outputdataDir", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.DATA_REGISTRY_URL, new org.apache.thrift.meta_data.FieldMetaData("dataRegistryURL", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.PERSIST_OUTPUT_DATA, new org.apache.thrift.meta_data.FieldMetaData("persistOutputData", 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(AdvancedOutputDataHandling.class, metaDataMap); + } + + public AdvancedOutputDataHandling() { + this.persistOutputData = true; + + } + + /** + * Performs a deep copy on <i>other</i>. + */ + public AdvancedOutputDataHandling(AdvancedOutputDataHandling other) { + __isset_bitfield = other.__isset_bitfield; + if (other.isSetOutputdataDir()) { + this.outputdataDir = other.outputdataDir; + } + if (other.isSetDataRegistryURL()) { + this.dataRegistryURL = other.dataRegistryURL; + } + this.persistOutputData = other.persistOutputData; + } + + public AdvancedOutputDataHandling deepCopy() { + return new AdvancedOutputDataHandling(this); + } + + @Override + public void clear() { + this.outputdataDir = null; + this.dataRegistryURL = null; + this.persistOutputData = true; + + } + + public String getOutputdataDir() { + return this.outputdataDir; + } + + public AdvancedOutputDataHandling setOutputdataDir(String outputdataDir) { + this.outputdataDir = outputdataDir; + return this; + } + + public void unsetOutputdataDir() { + this.outputdataDir = null; + } + + /** Returns true if field outputdataDir is set (has been assigned a value) and false otherwise */ + public boolean isSetOutputdataDir() { + return this.outputdataDir != null; + } + + public void setOutputdataDirIsSet(boolean value) { + if (!value) { + this.outputdataDir = null; + } + } + + public String getDataRegistryURL() { + return this.dataRegistryURL; + } + + public AdvancedOutputDataHandling setDataRegistryURL(String dataRegistryURL) { + this.dataRegistryURL = dataRegistryURL; + return this; + } + + public void unsetDataRegistryURL() { + this.dataRegistryURL = null; + } + + /** Returns true if field dataRegistryURL is set (has been assigned a value) and false otherwise */ + public boolean isSetDataRegistryURL() { + return this.dataRegistryURL != null; + } + + public void setDataRegistryURLIsSet(boolean value) { + if (!value) { + this.dataRegistryURL = null; + } + } + + public boolean isPersistOutputData() { + return this.persistOutputData; + } + + public AdvancedOutputDataHandling setPersistOutputData(boolean persistOutputData) { + this.persistOutputData = persistOutputData; + setPersistOutputDataIsSet(true); + return this; + } + + public void unsetPersistOutputData() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __PERSISTOUTPUTDATA_ISSET_ID); + } + + /** Returns true if field persistOutputData is set (has been assigned a value) and false otherwise */ + public boolean isSetPersistOutputData() { + return EncodingUtils.testBit(__isset_bitfield, __PERSISTOUTPUTDATA_ISSET_ID); + } + + public void setPersistOutputDataIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __PERSISTOUTPUTDATA_ISSET_ID, value); + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case OUTPUTDATA_DIR: + if (value == null) { + unsetOutputdataDir(); + } else { + setOutputdataDir((String)value); + } + break; + + case DATA_REGISTRY_URL: + if (value == null) { + unsetDataRegistryURL(); + } else { + setDataRegistryURL((String)value); + } + break; + + case PERSIST_OUTPUT_DATA: + if (value == null) { + unsetPersistOutputData(); + } else { + setPersistOutputData((Boolean)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case OUTPUTDATA_DIR: + return getOutputdataDir(); + + case DATA_REGISTRY_URL: + return getDataRegistryURL(); + + case PERSIST_OUTPUT_DATA: + return Boolean.valueOf(isPersistOutputData()); + + } + 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 OUTPUTDATA_DIR: + return isSetOutputdataDir(); + case DATA_REGISTRY_URL: + return isSetDataRegistryURL(); + case PERSIST_OUTPUT_DATA: + return isSetPersistOutputData(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof AdvancedOutputDataHandling) + return this.equals((AdvancedOutputDataHandling)that); + return false; + } + + public boolean equals(AdvancedOutputDataHandling that) { + if (that == null) + return false; + + boolean this_present_outputdataDir = true && this.isSetOutputdataDir(); + boolean that_present_outputdataDir = true && that.isSetOutputdataDir(); + if (this_present_outputdataDir || that_present_outputdataDir) { + if (!(this_present_outputdataDir && that_present_outputdataDir)) + return false; + if (!this.outputdataDir.equals(that.outputdataDir)) + return false; + } + + boolean this_present_dataRegistryURL = true && this.isSetDataRegistryURL(); + boolean that_present_dataRegistryURL = true && that.isSetDataRegistryURL(); + if (this_present_dataRegistryURL || that_present_dataRegistryURL) { + if (!(this_present_dataRegistryURL && that_present_dataRegistryURL)) + return false; + if (!this.dataRegistryURL.equals(that.dataRegistryURL)) + return false; + } + + boolean this_present_persistOutputData = true && this.isSetPersistOutputData(); + boolean that_present_persistOutputData = true && that.isSetPersistOutputData(); + if (this_present_persistOutputData || that_present_persistOutputData) { + if (!(this_present_persistOutputData && that_present_persistOutputData)) + return false; + if (this.persistOutputData != that.persistOutputData) + return false; + } + + return true; + } + + @Override + public int hashCode() { + return 0; + } + + @Override + public int compareTo(AdvancedOutputDataHandling other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetOutputdataDir()).compareTo(other.isSetOutputdataDir()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetOutputdataDir()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.outputdataDir, other.outputdataDir); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetDataRegistryURL()).compareTo(other.isSetDataRegistryURL()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetDataRegistryURL()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dataRegistryURL, other.dataRegistryURL); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetPersistOutputData()).compareTo(other.isSetPersistOutputData()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetPersistOutputData()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.persistOutputData, other.persistOutputData); + 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("AdvancedOutputDataHandling("); + boolean first = true; + + if (isSetOutputdataDir()) { + sb.append("outputdataDir:"); + if (this.outputdataDir == null) { + sb.append("null"); + } else { + sb.append(this.outputdataDir); + } + first = false; + } + if (isSetDataRegistryURL()) { + if (!first) sb.append(", "); + sb.append("dataRegistryURL:"); + if (this.dataRegistryURL == null) { + sb.append("null"); + } else { + sb.append(this.dataRegistryURL); + } + first = false; + } + if (isSetPersistOutputData()) { + if (!first) sb.append(", "); + sb.append("persistOutputData:"); + sb.append(this.persistOutputData); + first = false; + } + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // 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 AdvancedOutputDataHandlingStandardSchemeFactory implements SchemeFactory { + public AdvancedOutputDataHandlingStandardScheme getScheme() { + return new AdvancedOutputDataHandlingStandardScheme(); + } + } + + private static class AdvancedOutputDataHandlingStandardScheme extends StandardScheme<AdvancedOutputDataHandling> { + + public void read(org.apache.thrift.protocol.TProtocol iprot, AdvancedOutputDataHandling 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 2: // OUTPUTDATA_DIR + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.outputdataDir = iprot.readString(); + struct.setOutputdataDirIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // DATA_REGISTRY_URL + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.dataRegistryURL = iprot.readString(); + struct.setDataRegistryURLIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // PERSIST_OUTPUT_DATA + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.persistOutputData = iprot.readBool(); + struct.setPersistOutputDataIsSet(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, AdvancedOutputDataHandling struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.outputdataDir != null) { + if (struct.isSetOutputdataDir()) { + oprot.writeFieldBegin(OUTPUTDATA_DIR_FIELD_DESC); + oprot.writeString(struct.outputdataDir); + oprot.writeFieldEnd(); + } + } + if (struct.dataRegistryURL != null) { + if (struct.isSetDataRegistryURL()) { + oprot.writeFieldBegin(DATA_REGISTRY_URL_FIELD_DESC); + oprot.writeString(struct.dataRegistryURL); + oprot.writeFieldEnd(); + } + } + if (struct.isSetPersistOutputData()) { + oprot.writeFieldBegin(PERSIST_OUTPUT_DATA_FIELD_DESC); + oprot.writeBool(struct.persistOutputData); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class AdvancedOutputDataHandlingTupleSchemeFactory implements SchemeFactory { + public AdvancedOutputDataHandlingTupleScheme getScheme() { + return new AdvancedOutputDataHandlingTupleScheme(); + } + } + + private static class AdvancedOutputDataHandlingTupleScheme extends TupleScheme<AdvancedOutputDataHandling> { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, AdvancedOutputDataHandling struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetOutputdataDir()) { + optionals.set(0); + } + if (struct.isSetDataRegistryURL()) { + optionals.set(1); + } + if (struct.isSetPersistOutputData()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetOutputdataDir()) { + oprot.writeString(struct.outputdataDir); + } + if (struct.isSetDataRegistryURL()) { + oprot.writeString(struct.dataRegistryURL); + } + if (struct.isSetPersistOutputData()) { + oprot.writeBool(struct.persistOutputData); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, AdvancedOutputDataHandling struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + struct.outputdataDir = iprot.readString(); + struct.setOutputdataDirIsSet(true); + } + if (incoming.get(1)) { + struct.dataRegistryURL = iprot.readString(); + struct.setDataRegistryURLIsSet(true); + } + if (incoming.get(2)) { + struct.persistOutputData = iprot.readBool(); + struct.setPersistOutputDataIsSet(true); + } + } + } + +} +
http://git-wip-us.apache.org/repos/asf/airavata/blob/fc927c6c/airavata-api/airavata-api-sdk/src/main/java/org/apache/airavata/model/experiment/BasicMetadata.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-api-sdk/src/main/java/org/apache/airavata/model/experiment/BasicMetadata.java b/airavata-api/airavata-api-sdk/src/main/java/org/apache/airavata/model/experiment/BasicMetadata.java new file mode 100644 index 0000000..5abd063 --- /dev/null +++ b/airavata-api/airavata-api-sdk/src/main/java/org/apache/airavata/model/experiment/BasicMetadata.java @@ -0,0 +1,914 @@ + /* + * 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.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. + */ +@SuppressWarnings("all") public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, BasicMetadata._Fields>, java.io.Serializable, Cloneable, Comparable<BasicMetadata> { + 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 PROJECT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("projectID", org.apache.thrift.protocol.TType.STRING, (short)3); + 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)4); + 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)5); + private static final org.apache.thrift.protocol.TField EXPERIMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentID", 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 BasicMetadataStandardSchemeFactory()); + schemes.put(TupleScheme.class, new BasicMetadataTupleSchemeFactory()); + } + + public String userName; // required + public String experimentName; // required + public String projectID; // required + public String experimentDescription; // optional + public boolean shareExperimentPublicly; // optional + public String experimentID; // 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 { + USER_NAME((short)1, "userName"), + EXPERIMENT_NAME((short)2, "experimentName"), + PROJECT_ID((short)3, "projectID"), + EXPERIMENT_DESCRIPTION((short)4, "experimentDescription"), + SHARE_EXPERIMENT_PUBLICLY((short)5, "shareExperimentPublicly"), + EXPERIMENT_ID((short)6, "experimentID"); + + 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: // USER_NAME + return USER_NAME; + case 2: // EXPERIMENT_NAME + return EXPERIMENT_NAME; + case 3: // PROJECT_ID + return PROJECT_ID; + case 4: // EXPERIMENT_DESCRIPTION + return EXPERIMENT_DESCRIPTION; + case 5: // SHARE_EXPERIMENT_PUBLICLY + return SHARE_EXPERIMENT_PUBLICLY; + case 6: // EXPERIMENT_ID + return EXPERIMENT_ID; + 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.PROJECT_ID, new org.apache.thrift.meta_data.FieldMetaData("projectID", 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))); + tmpMap.put(_Fields.EXPERIMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("experimentID", 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(BasicMetadata.class, metaDataMap); + } + + public BasicMetadata() { + this.projectID = "default"; + + this.shareExperimentPublicly = false; + + this.experimentID = "DO_NOT_SET"; + + } + + public BasicMetadata( + String userName, + String experimentName, + String projectID, + String experimentID) + { + this(); + this.userName = userName; + this.experimentName = experimentName; + this.projectID = projectID; + this.experimentID = experimentID; + } + + /** + * Performs a deep copy on <i>other</i>. + */ + 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.isSetProjectID()) { + this.projectID = other.projectID; + } + if (other.isSetExperimentDescription()) { + this.experimentDescription = other.experimentDescription; + } + this.shareExperimentPublicly = other.shareExperimentPublicly; + if (other.isSetExperimentID()) { + this.experimentID = other.experimentID; + } + } + + public BasicMetadata deepCopy() { + return new BasicMetadata(this); + } + + @Override + public void clear() { + this.userName = null; + this.experimentName = null; + this.projectID = "default"; + + this.experimentDescription = null; + this.shareExperimentPublicly = false; + + this.experimentID = "DO_NOT_SET"; + + } + + 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 getProjectID() { + return this.projectID; + } + + public BasicMetadata setProjectID(String projectID) { + this.projectID = projectID; + return this; + } + + public void unsetProjectID() { + this.projectID = null; + } + + /** Returns true if field projectID is set (has been assigned a value) and false otherwise */ + public boolean isSetProjectID() { + return this.projectID != null; + } + + public void setProjectIDIsSet(boolean value) { + if (!value) { + this.projectID = 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 String getExperimentID() { + return this.experimentID; + } + + public BasicMetadata setExperimentID(String experimentID) { + this.experimentID = experimentID; + return this; + } + + public void unsetExperimentID() { + this.experimentID = null; + } + + /** Returns true if field experimentID is set (has been assigned a value) and false otherwise */ + public boolean isSetExperimentID() { + return this.experimentID != null; + } + + public void setExperimentIDIsSet(boolean value) { + if (!value) { + this.experimentID = null; + } + } + + 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 PROJECT_ID: + if (value == null) { + unsetProjectID(); + } else { + setProjectID((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; + + case EXPERIMENT_ID: + if (value == null) { + unsetExperimentID(); + } else { + setExperimentID((String)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case USER_NAME: + return getUserName(); + + case EXPERIMENT_NAME: + return getExperimentName(); + + case PROJECT_ID: + return getProjectID(); + + case EXPERIMENT_DESCRIPTION: + return getExperimentDescription(); + + case SHARE_EXPERIMENT_PUBLICLY: + return Boolean.valueOf(isShareExperimentPublicly()); + + case EXPERIMENT_ID: + return getExperimentID(); + + } + 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 PROJECT_ID: + return isSetProjectID(); + case EXPERIMENT_DESCRIPTION: + return isSetExperimentDescription(); + case SHARE_EXPERIMENT_PUBLICLY: + return isSetShareExperimentPublicly(); + case EXPERIMENT_ID: + return isSetExperimentID(); + } + 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_projectID = true && this.isSetProjectID(); + boolean that_present_projectID = true && that.isSetProjectID(); + if (this_present_projectID || that_present_projectID) { + if (!(this_present_projectID && that_present_projectID)) + return false; + if (!this.projectID.equals(that.projectID)) + 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; + } + + boolean this_present_experimentID = true && this.isSetExperimentID(); + boolean that_present_experimentID = true && that.isSetExperimentID(); + if (this_present_experimentID || that_present_experimentID) { + if (!(this_present_experimentID && that_present_experimentID)) + return false; + if (!this.experimentID.equals(that.experimentID)) + 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(isSetProjectID()).compareTo(other.isSetProjectID()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetProjectID()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.projectID, other.projectID); + 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; + } + } + lastComparison = Boolean.valueOf(isSetExperimentID()).compareTo(other.isSetExperimentID()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetExperimentID()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentID, other.experimentID); + 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 (!first) sb.append(", "); + sb.append("projectID:"); + if (this.projectID == null) { + sb.append("null"); + } else { + sb.append(this.projectID); + } + 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; + } + if (!first) sb.append(", "); + sb.append("experimentID:"); + if (this.experimentID == null) { + sb.append("null"); + } else { + sb.append(this.experimentID); + } + 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()); + } + if (projectID == null) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'projectID' was not present! Struct: " + toString()); + } + if (experimentID == null) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'experimentID' 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<BasicMetadata> { + + 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: // PROJECT_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.projectID = iprot.readString(); + struct.setProjectIDIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // 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 5: // 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; + case 6: // EXPERIMENT_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.experimentID = iprot.readString(); + struct.setExperimentIDIsSet(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.projectID != null) { + oprot.writeFieldBegin(PROJECT_ID_FIELD_DESC); + oprot.writeString(struct.projectID); + 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(); + } + if (struct.experimentID != null) { + oprot.writeFieldBegin(EXPERIMENT_ID_FIELD_DESC); + oprot.writeString(struct.experimentID); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class BasicMetadataTupleSchemeFactory implements SchemeFactory { + public BasicMetadataTupleScheme getScheme() { + return new BasicMetadataTupleScheme(); + } + } + + private static class BasicMetadataTupleScheme extends TupleScheme<BasicMetadata> { + + @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); + oprot.writeString(struct.projectID); + oprot.writeString(struct.experimentID); + 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); + struct.projectID = iprot.readString(); + struct.setProjectIDIsSet(true); + struct.experimentID = iprot.readString(); + struct.setExperimentIDIsSet(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); + } + } + } + +} +
