You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sm...@apache.org on 2014/02/18 04:40:58 UTC

[08/23] Commiting the generated data from modified models - AIRAVATA-1017

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ComputationalResourceScheduling.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ComputationalResourceScheduling.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ComputationalResourceScheduling.java
new file mode 100644
index 0000000..3ba8ff9
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ComputationalResourceScheduling.java
@@ -0,0 +1,1173 @@
+    /*
+     * 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.workspace.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.
+ * 
+ */
+@SuppressWarnings("all") public class ComputationalResourceScheduling implements org.apache.thrift.TBase<ComputationalResourceScheduling, ComputationalResourceScheduling._Fields>, java.io.Serializable, Cloneable, Comparable<ComputationalResourceScheduling> {
+  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 RESOURCE_HOST_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("resourceHostId", org.apache.thrift.protocol.TType.STRING, (short)1);
+  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)2);
+  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)3);
+  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)4);
+  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)5);
+  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)6);
+  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)7);
+  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)8);
+  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)9);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new ComputationalResourceSchedulingStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new ComputationalResourceSchedulingTupleSchemeFactory());
+  }
+
+  private String resourceHostId; // optional
+  private int totalCPUCount; // optional
+  private int nodeCount; // optional
+  private int numberOfThreads; // optional
+  private String queueName; // optional
+  private int wallTimeLimit; // optional
+  private int jobStartTime; // optional
+  private int totalPhysicalMemory; // optional
+  private String ComputationalProjectAccount; // 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 {
+    RESOURCE_HOST_ID((short)1, "resourceHostId"),
+    TOTAL_CPUCOUNT((short)2, "totalCPUCount"),
+    NODE_COUNT((short)3, "nodeCount"),
+    NUMBER_OF_THREADS((short)4, "numberOfThreads"),
+    QUEUE_NAME((short)5, "queueName"),
+    WALL_TIME_LIMIT((short)6, "wallTimeLimit"),
+    JOB_START_TIME((short)7, "jobStartTime"),
+    TOTAL_PHYSICAL_MEMORY((short)8, "totalPhysicalMemory"),
+    COMPUTATIONAL_PROJECT_ACCOUNT((short)9, "ComputationalProjectAccount");
+
+    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: // RESOURCE_HOST_ID
+          return RESOURCE_HOST_ID;
+        case 2: // TOTAL_CPUCOUNT
+          return TOTAL_CPUCOUNT;
+        case 3: // NODE_COUNT
+          return NODE_COUNT;
+        case 4: // NUMBER_OF_THREADS
+          return NUMBER_OF_THREADS;
+        case 5: // QUEUE_NAME
+          return QUEUE_NAME;
+        case 6: // WALL_TIME_LIMIT
+          return WALL_TIME_LIMIT;
+        case 7: // JOB_START_TIME
+          return JOB_START_TIME;
+        case 8: // TOTAL_PHYSICAL_MEMORY
+          return TOTAL_PHYSICAL_MEMORY;
+        case 9: // 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 __TOTALCPUCOUNT_ISSET_ID = 0;
+  private static final int __NODECOUNT_ISSET_ID = 1;
+  private static final int __NUMBEROFTHREADS_ISSET_ID = 2;
+  private static final int __WALLTIMELIMIT_ISSET_ID = 3;
+  private static final int __JOBSTARTTIME_ISSET_ID = 4;
+  private static final int __TOTALPHYSICALMEMORY_ISSET_ID = 5;
+  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.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() {
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public ComputationalResourceScheduling(ComputationalResourceScheduling other) {
+    __isset_bitfield = other.__isset_bitfield;
+    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.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 String getResourceHostId() {
+    return this.resourceHostId;
+  }
+
+  public void setResourceHostId(String resourceHostId) {
+    this.resourceHostId = resourceHostId;
+  }
+
+  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 void setTotalCPUCount(int totalCPUCount) {
+    this.totalCPUCount = totalCPUCount;
+    setTotalCPUCountIsSet(true);
+  }
+
+  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 void setNodeCount(int nodeCount) {
+    this.nodeCount = nodeCount;
+    setNodeCountIsSet(true);
+  }
+
+  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 void setNumberOfThreads(int numberOfThreads) {
+    this.numberOfThreads = numberOfThreads;
+    setNumberOfThreadsIsSet(true);
+  }
+
+  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 void setQueueName(String queueName) {
+    this.queueName = queueName;
+  }
+
+  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 void setWallTimeLimit(int wallTimeLimit) {
+    this.wallTimeLimit = wallTimeLimit;
+    setWallTimeLimitIsSet(true);
+  }
+
+  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 void setJobStartTime(int jobStartTime) {
+    this.jobStartTime = jobStartTime;
+    setJobStartTimeIsSet(true);
+  }
+
+  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 void setTotalPhysicalMemory(int totalPhysicalMemory) {
+    this.totalPhysicalMemory = totalPhysicalMemory;
+    setTotalPhysicalMemoryIsSet(true);
+  }
+
+  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 void setComputationalProjectAccount(String ComputationalProjectAccount) {
+    this.ComputationalProjectAccount = ComputationalProjectAccount;
+  }
+
+  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 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 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 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_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(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;
+
+    if (isSetResourceHostId()) {
+      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
+    // 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<ComputationalResourceScheduling> {
+
+    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: // 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 2: // 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 3: // 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 4: // 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 5: // 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 6: // 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 7: // 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 8: // 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 9: // 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();
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, ComputationalResourceScheduling struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      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<ComputationalResourceScheduling> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, ComputationalResourceScheduling struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      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;
+      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);
+      }
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/CorrectiveAction.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/CorrectiveAction.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/CorrectiveAction.java
new file mode 100644
index 0000000..ca5b3af
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/CorrectiveAction.java
@@ -0,0 +1,64 @@
+    /*
+     * 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.workspace.experiment;
+
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
+@SuppressWarnings("all") public enum CorrectiveAction implements org.apache.thrift.TEnum {
+  RETRY_SUBMISSION(0),
+  CONTACT_SUPPORT(1),
+  CANNOT_BE_DETERMINED(2);
+
+  private final int value;
+
+  private CorrectiveAction(int value) {
+    this.value = value;
+  }
+
+  /**
+   * Get the integer value of this enum value, as defined in the Thrift IDL.
+   */
+  public int getValue() {
+    return value;
+  }
+
+  /**
+   * Find a the enum type by its integer value, as defined in the Thrift IDL.
+   * @return null if the value is not found.
+   */
+  public static CorrectiveAction findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return RETRY_SUBMISSION;
+      case 1:
+        return CONTACT_SUPPORT;
+      case 2:
+        return CANNOT_BE_DETERMINED;
+      default:
+        return null;
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/DataObjectType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/DataObjectType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/DataObjectType.java
new file mode 100644
index 0000000..22d4192
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/DataObjectType.java
@@ -0,0 +1,706 @@
+    /*
+     * 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.workspace.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  hold experiment input output
+ * 
+ */
+@SuppressWarnings("all") public class DataObjectType implements org.apache.thrift.TBase<DataObjectType, DataObjectType._Fields>, java.io.Serializable, Cloneable, Comparable<DataObjectType> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataObjectType");
+
+  private static final org.apache.thrift.protocol.TField KEY_FIELD_DESC = new org.apache.thrift.protocol.TField("key", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField VALUE_FIELD_DESC = new org.apache.thrift.protocol.TField("value", org.apache.thrift.protocol.TType.STRING, (short)2);
+  private static final org.apache.thrift.protocol.TField TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("type", org.apache.thrift.protocol.TType.STRING, (short)3);
+  private static final org.apache.thrift.protocol.TField META_DATA_FIELD_DESC = new org.apache.thrift.protocol.TField("metaData", org.apache.thrift.protocol.TType.STRING, (short)4);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new DataObjectTypeStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new DataObjectTypeTupleSchemeFactory());
+  }
+
+  private String key; // required
+  private String value; // optional
+  private String type; // optional
+  private String metaData; // 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 {
+    KEY((short)1, "key"),
+    VALUE((short)2, "value"),
+    TYPE((short)3, "type"),
+    META_DATA((short)4, "metaData");
+
+    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: // KEY
+          return KEY;
+        case 2: // VALUE
+          return VALUE;
+        case 3: // TYPE
+          return TYPE;
+        case 4: // META_DATA
+          return META_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 _Fields optionals[] = {_Fields.VALUE,_Fields.TYPE,_Fields.META_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.KEY, new org.apache.thrift.meta_data.FieldMetaData("key", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.VALUE, new org.apache.thrift.meta_data.FieldMetaData("value", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.TYPE, new org.apache.thrift.meta_data.FieldMetaData("type", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.META_DATA, new org.apache.thrift.meta_data.FieldMetaData("metaData", 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(DataObjectType.class, metaDataMap);
+  }
+
+  public DataObjectType() {
+  }
+
+  public DataObjectType(
+    String key)
+  {
+    this();
+    this.key = key;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public DataObjectType(DataObjectType other) {
+    if (other.isSetKey()) {
+      this.key = other.key;
+    }
+    if (other.isSetValue()) {
+      this.value = other.value;
+    }
+    if (other.isSetType()) {
+      this.type = other.type;
+    }
+    if (other.isSetMetaData()) {
+      this.metaData = other.metaData;
+    }
+  }
+
+  public DataObjectType deepCopy() {
+    return new DataObjectType(this);
+  }
+
+  @Override
+  public void clear() {
+    this.key = null;
+    this.value = null;
+    this.type = null;
+    this.metaData = null;
+  }
+
+  public String getKey() {
+    return this.key;
+  }
+
+  public void setKey(String key) {
+    this.key = key;
+  }
+
+  public void unsetKey() {
+    this.key = null;
+  }
+
+  /** Returns true if field key is set (has been assigned a value) and false otherwise */
+  public boolean isSetKey() {
+    return this.key != null;
+  }
+
+  public void setKeyIsSet(boolean value) {
+    if (!value) {
+      this.key = null;
+    }
+  }
+
+  public String getValue() {
+    return this.value;
+  }
+
+  public void setValue(String value) {
+    this.value = value;
+  }
+
+  public void unsetValue() {
+    this.value = null;
+  }
+
+  /** Returns true if field value is set (has been assigned a value) and false otherwise */
+  public boolean isSetValue() {
+    return this.value != null;
+  }
+
+  public void setValueIsSet(boolean value) {
+    if (!value) {
+      this.value = null;
+    }
+  }
+
+  public String getType() {
+    return this.type;
+  }
+
+  public void setType(String type) {
+    this.type = type;
+  }
+
+  public void unsetType() {
+    this.type = null;
+  }
+
+  /** Returns true if field type is set (has been assigned a value) and false otherwise */
+  public boolean isSetType() {
+    return this.type != null;
+  }
+
+  public void setTypeIsSet(boolean value) {
+    if (!value) {
+      this.type = null;
+    }
+  }
+
+  public String getMetaData() {
+    return this.metaData;
+  }
+
+  public void setMetaData(String metaData) {
+    this.metaData = metaData;
+  }
+
+  public void unsetMetaData() {
+    this.metaData = null;
+  }
+
+  /** Returns true if field metaData is set (has been assigned a value) and false otherwise */
+  public boolean isSetMetaData() {
+    return this.metaData != null;
+  }
+
+  public void setMetaDataIsSet(boolean value) {
+    if (!value) {
+      this.metaData = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case KEY:
+      if (value == null) {
+        unsetKey();
+      } else {
+        setKey((String)value);
+      }
+      break;
+
+    case VALUE:
+      if (value == null) {
+        unsetValue();
+      } else {
+        setValue((String)value);
+      }
+      break;
+
+    case TYPE:
+      if (value == null) {
+        unsetType();
+      } else {
+        setType((String)value);
+      }
+      break;
+
+    case META_DATA:
+      if (value == null) {
+        unsetMetaData();
+      } else {
+        setMetaData((String)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case KEY:
+      return getKey();
+
+    case VALUE:
+      return getValue();
+
+    case TYPE:
+      return getType();
+
+    case META_DATA:
+      return getMetaData();
+
+    }
+    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 KEY:
+      return isSetKey();
+    case VALUE:
+      return isSetValue();
+    case TYPE:
+      return isSetType();
+    case META_DATA:
+      return isSetMetaData();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof DataObjectType)
+      return this.equals((DataObjectType)that);
+    return false;
+  }
+
+  public boolean equals(DataObjectType that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_key = true && this.isSetKey();
+    boolean that_present_key = true && that.isSetKey();
+    if (this_present_key || that_present_key) {
+      if (!(this_present_key && that_present_key))
+        return false;
+      if (!this.key.equals(that.key))
+        return false;
+    }
+
+    boolean this_present_value = true && this.isSetValue();
+    boolean that_present_value = true && that.isSetValue();
+    if (this_present_value || that_present_value) {
+      if (!(this_present_value && that_present_value))
+        return false;
+      if (!this.value.equals(that.value))
+        return false;
+    }
+
+    boolean this_present_type = true && this.isSetType();
+    boolean that_present_type = true && that.isSetType();
+    if (this_present_type || that_present_type) {
+      if (!(this_present_type && that_present_type))
+        return false;
+      if (!this.type.equals(that.type))
+        return false;
+    }
+
+    boolean this_present_metaData = true && this.isSetMetaData();
+    boolean that_present_metaData = true && that.isSetMetaData();
+    if (this_present_metaData || that_present_metaData) {
+      if (!(this_present_metaData && that_present_metaData))
+        return false;
+      if (!this.metaData.equals(that.metaData))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  @Override
+  public int compareTo(DataObjectType other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetKey()).compareTo(other.isSetKey());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetKey()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.key, other.key);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetValue()).compareTo(other.isSetValue());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetValue()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.value, other.value);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetType()).compareTo(other.isSetType());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetType()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.type, other.type);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetMetaData()).compareTo(other.isSetMetaData());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetMetaData()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.metaData, other.metaData);
+      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("DataObjectType(");
+    boolean first = true;
+
+    sb.append("key:");
+    if (this.key == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.key);
+    }
+    first = false;
+    if (isSetValue()) {
+      if (!first) sb.append(", ");
+      sb.append("value:");
+      if (this.value == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.value);
+      }
+      first = false;
+    }
+    if (isSetType()) {
+      if (!first) sb.append(", ");
+      sb.append("type:");
+      if (this.type == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.type);
+      }
+      first = false;
+    }
+    if (isSetMetaData()) {
+      if (!first) sb.append(", ");
+      sb.append("metaData:");
+      if (this.metaData == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.metaData);
+      }
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!isSetKey()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'key' is unset! Struct:" + toString());
+    }
+
+    // check for sub-struct validity
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class DataObjectTypeStandardSchemeFactory implements SchemeFactory {
+    public DataObjectTypeStandardScheme getScheme() {
+      return new DataObjectTypeStandardScheme();
+    }
+  }
+
+  private static class DataObjectTypeStandardScheme extends StandardScheme<DataObjectType> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, DataObjectType 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: // KEY
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.key = iprot.readString();
+              struct.setKeyIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // VALUE
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.value = iprot.readString();
+              struct.setValueIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // TYPE
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.type = iprot.readString();
+              struct.setTypeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // META_DATA
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.metaData = iprot.readString();
+              struct.setMetaDataIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, DataObjectType struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.key != null) {
+        oprot.writeFieldBegin(KEY_FIELD_DESC);
+        oprot.writeString(struct.key);
+        oprot.writeFieldEnd();
+      }
+      if (struct.value != null) {
+        if (struct.isSetValue()) {
+          oprot.writeFieldBegin(VALUE_FIELD_DESC);
+          oprot.writeString(struct.value);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.type != null) {
+        if (struct.isSetType()) {
+          oprot.writeFieldBegin(TYPE_FIELD_DESC);
+          oprot.writeString(struct.type);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.metaData != null) {
+        if (struct.isSetMetaData()) {
+          oprot.writeFieldBegin(META_DATA_FIELD_DESC);
+          oprot.writeString(struct.metaData);
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class DataObjectTypeTupleSchemeFactory implements SchemeFactory {
+    public DataObjectTypeTupleScheme getScheme() {
+      return new DataObjectTypeTupleScheme();
+    }
+  }
+
+  private static class DataObjectTypeTupleScheme extends TupleScheme<DataObjectType> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, DataObjectType struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeString(struct.key);
+      BitSet optionals = new BitSet();
+      if (struct.isSetValue()) {
+        optionals.set(0);
+      }
+      if (struct.isSetType()) {
+        optionals.set(1);
+      }
+      if (struct.isSetMetaData()) {
+        optionals.set(2);
+      }
+      oprot.writeBitSet(optionals, 3);
+      if (struct.isSetValue()) {
+        oprot.writeString(struct.value);
+      }
+      if (struct.isSetType()) {
+        oprot.writeString(struct.type);
+      }
+      if (struct.isSetMetaData()) {
+        oprot.writeString(struct.metaData);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, DataObjectType struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.key = iprot.readString();
+      struct.setKeyIsSet(true);
+      BitSet incoming = iprot.readBitSet(3);
+      if (incoming.get(0)) {
+        struct.value = iprot.readString();
+        struct.setValueIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.type = iprot.readString();
+        struct.setTypeIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.metaData = iprot.readString();
+        struct.setMetaDataIsSet(true);
+      }
+    }
+  }
+
+}
+