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:53 UTC

[03/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/TaskDetails.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/TaskDetails.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/TaskDetails.java
new file mode 100644
index 0000000..21114d0
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/TaskDetails.java
@@ -0,0 +1,1907 @@
+    /*
+     * 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 actual execution context decided based on user provided configuration data or system inferred
+ *   information from scheduling and QoS parameters. One experiment can have multiple tasks. Each tasks results in
+ *   data transfers and jobs
+ * 
+ */
+@SuppressWarnings("all") public class TaskDetails implements org.apache.thrift.TBase<TaskDetails, TaskDetails._Fields>, java.io.Serializable, Cloneable, Comparable<TaskDetails> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskDetails");
+
+  private static final org.apache.thrift.protocol.TField TASK_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("taskID", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField CREATION_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("creationTime", org.apache.thrift.protocol.TType.I64, (short)2);
+  private static final org.apache.thrift.protocol.TField APPLICATION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationId", org.apache.thrift.protocol.TType.STRING, (short)3);
+  private static final org.apache.thrift.protocol.TField APPLICATION_VERSION_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationVersion", org.apache.thrift.protocol.TType.STRING, (short)4);
+  private static final org.apache.thrift.protocol.TField APPLICATION_INPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationInputs", org.apache.thrift.protocol.TType.LIST, (short)5);
+  private static final org.apache.thrift.protocol.TField APPLICATION_OUTPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationOutputs", org.apache.thrift.protocol.TType.LIST, (short)6);
+  private static final org.apache.thrift.protocol.TField TASK_SCHEDULING_FIELD_DESC = new org.apache.thrift.protocol.TField("taskScheduling", org.apache.thrift.protocol.TType.STRUCT, (short)7);
+  private static final org.apache.thrift.protocol.TField ADVANCED_INPUT_DATA_HANDLING_FIELD_DESC = new org.apache.thrift.protocol.TField("advancedInputDataHandling", org.apache.thrift.protocol.TType.STRUCT, (short)8);
+  private static final org.apache.thrift.protocol.TField ADVANCED_OUTPUT_DATA_HANDLING_FIELD_DESC = new org.apache.thrift.protocol.TField("advancedOutputDataHandling", org.apache.thrift.protocol.TType.STRUCT, (short)9);
+  private static final org.apache.thrift.protocol.TField TASK_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("taskStatus", org.apache.thrift.protocol.TType.STRUCT, (short)10);
+  private static final org.apache.thrift.protocol.TField JOB_DETAILS_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("jobDetailsList", org.apache.thrift.protocol.TType.LIST, (short)11);
+  private static final org.apache.thrift.protocol.TField DATA_TRANSFER_DETAILS_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("dataTransferDetailsList", org.apache.thrift.protocol.TType.LIST, (short)12);
+  private static final org.apache.thrift.protocol.TField ERRORS_FIELD_DESC = new org.apache.thrift.protocol.TField("errors", org.apache.thrift.protocol.TType.LIST, (short)13);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new TaskDetailsStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new TaskDetailsTupleSchemeFactory());
+  }
+
+  private String taskID; // required
+  private long creationTime; // optional
+  private String applicationId; // optional
+  private String applicationVersion; // optional
+  private List<DataObjectType> applicationInputs; // optional
+  private List<DataObjectType> applicationOutputs; // optional
+  private ComputationalResourceScheduling taskScheduling; // optional
+  private AdvancedInputDataHandling advancedInputDataHandling; // optional
+  private AdvancedOutputDataHandling advancedOutputDataHandling; // optional
+  private TaskStatus taskStatus; // optional
+  private List<JobDetails> jobDetailsList; // optional
+  private List<DataTransferDetails> dataTransferDetailsList; // optional
+  private List<ErrorDetails> errors; // 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 {
+    TASK_ID((short)1, "taskID"),
+    CREATION_TIME((short)2, "creationTime"),
+    APPLICATION_ID((short)3, "applicationId"),
+    APPLICATION_VERSION((short)4, "applicationVersion"),
+    APPLICATION_INPUTS((short)5, "applicationInputs"),
+    APPLICATION_OUTPUTS((short)6, "applicationOutputs"),
+    TASK_SCHEDULING((short)7, "taskScheduling"),
+    ADVANCED_INPUT_DATA_HANDLING((short)8, "advancedInputDataHandling"),
+    ADVANCED_OUTPUT_DATA_HANDLING((short)9, "advancedOutputDataHandling"),
+    TASK_STATUS((short)10, "taskStatus"),
+    JOB_DETAILS_LIST((short)11, "jobDetailsList"),
+    DATA_TRANSFER_DETAILS_LIST((short)12, "dataTransferDetailsList"),
+    ERRORS((short)13, "errors");
+
+    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: // TASK_ID
+          return TASK_ID;
+        case 2: // CREATION_TIME
+          return CREATION_TIME;
+        case 3: // APPLICATION_ID
+          return APPLICATION_ID;
+        case 4: // APPLICATION_VERSION
+          return APPLICATION_VERSION;
+        case 5: // APPLICATION_INPUTS
+          return APPLICATION_INPUTS;
+        case 6: // APPLICATION_OUTPUTS
+          return APPLICATION_OUTPUTS;
+        case 7: // TASK_SCHEDULING
+          return TASK_SCHEDULING;
+        case 8: // ADVANCED_INPUT_DATA_HANDLING
+          return ADVANCED_INPUT_DATA_HANDLING;
+        case 9: // ADVANCED_OUTPUT_DATA_HANDLING
+          return ADVANCED_OUTPUT_DATA_HANDLING;
+        case 10: // TASK_STATUS
+          return TASK_STATUS;
+        case 11: // JOB_DETAILS_LIST
+          return JOB_DETAILS_LIST;
+        case 12: // DATA_TRANSFER_DETAILS_LIST
+          return DATA_TRANSFER_DETAILS_LIST;
+        case 13: // ERRORS
+          return ERRORS;
+        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 __CREATIONTIME_ISSET_ID = 0;
+  private byte __isset_bitfield = 0;
+  private _Fields optionals[] = {_Fields.CREATION_TIME,_Fields.APPLICATION_ID,_Fields.APPLICATION_VERSION,_Fields.APPLICATION_INPUTS,_Fields.APPLICATION_OUTPUTS,_Fields.TASK_SCHEDULING,_Fields.ADVANCED_INPUT_DATA_HANDLING,_Fields.ADVANCED_OUTPUT_DATA_HANDLING,_Fields.TASK_STATUS,_Fields.JOB_DETAILS_LIST,_Fields.DATA_TRANSFER_DETAILS_LIST,_Fields.ERRORS};
+  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.TASK_ID, new org.apache.thrift.meta_data.FieldMetaData("taskID", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.CREATION_TIME, new org.apache.thrift.meta_data.FieldMetaData("creationTime", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    tmpMap.put(_Fields.APPLICATION_ID, new org.apache.thrift.meta_data.FieldMetaData("applicationId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.APPLICATION_VERSION, new org.apache.thrift.meta_data.FieldMetaData("applicationVersion", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.APPLICATION_INPUTS, new org.apache.thrift.meta_data.FieldMetaData("applicationInputs", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, DataObjectType.class))));
+    tmpMap.put(_Fields.APPLICATION_OUTPUTS, new org.apache.thrift.meta_data.FieldMetaData("applicationOutputs", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, DataObjectType.class))));
+    tmpMap.put(_Fields.TASK_SCHEDULING, new org.apache.thrift.meta_data.FieldMetaData("taskScheduling", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ComputationalResourceScheduling.class)));
+    tmpMap.put(_Fields.ADVANCED_INPUT_DATA_HANDLING, new org.apache.thrift.meta_data.FieldMetaData("advancedInputDataHandling", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, AdvancedInputDataHandling.class)));
+    tmpMap.put(_Fields.ADVANCED_OUTPUT_DATA_HANDLING, new org.apache.thrift.meta_data.FieldMetaData("advancedOutputDataHandling", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, AdvancedOutputDataHandling.class)));
+    tmpMap.put(_Fields.TASK_STATUS, new org.apache.thrift.meta_data.FieldMetaData("taskStatus", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TaskStatus.class)));
+    tmpMap.put(_Fields.JOB_DETAILS_LIST, new org.apache.thrift.meta_data.FieldMetaData("jobDetailsList", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, JobDetails.class))));
+    tmpMap.put(_Fields.DATA_TRANSFER_DETAILS_LIST, new org.apache.thrift.meta_data.FieldMetaData("dataTransferDetailsList", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, DataTransferDetails.class))));
+    tmpMap.put(_Fields.ERRORS, new org.apache.thrift.meta_data.FieldMetaData("errors", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ErrorDetails.class))));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TaskDetails.class, metaDataMap);
+  }
+
+  public TaskDetails() {
+    this.taskID = "DO_NOT_SET_AT_CLIENTS";
+
+  }
+
+  public TaskDetails(
+    String taskID)
+  {
+    this();
+    this.taskID = taskID;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public TaskDetails(TaskDetails other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.isSetTaskID()) {
+      this.taskID = other.taskID;
+    }
+    this.creationTime = other.creationTime;
+    if (other.isSetApplicationId()) {
+      this.applicationId = other.applicationId;
+    }
+    if (other.isSetApplicationVersion()) {
+      this.applicationVersion = other.applicationVersion;
+    }
+    if (other.isSetApplicationInputs()) {
+      List<DataObjectType> __this__applicationInputs = new ArrayList<DataObjectType>(other.applicationInputs.size());
+      for (DataObjectType other_element : other.applicationInputs) {
+        __this__applicationInputs.add(new DataObjectType(other_element));
+      }
+      this.applicationInputs = __this__applicationInputs;
+    }
+    if (other.isSetApplicationOutputs()) {
+      List<DataObjectType> __this__applicationOutputs = new ArrayList<DataObjectType>(other.applicationOutputs.size());
+      for (DataObjectType other_element : other.applicationOutputs) {
+        __this__applicationOutputs.add(new DataObjectType(other_element));
+      }
+      this.applicationOutputs = __this__applicationOutputs;
+    }
+    if (other.isSetTaskScheduling()) {
+      this.taskScheduling = new ComputationalResourceScheduling(other.taskScheduling);
+    }
+    if (other.isSetAdvancedInputDataHandling()) {
+      this.advancedInputDataHandling = new AdvancedInputDataHandling(other.advancedInputDataHandling);
+    }
+    if (other.isSetAdvancedOutputDataHandling()) {
+      this.advancedOutputDataHandling = new AdvancedOutputDataHandling(other.advancedOutputDataHandling);
+    }
+    if (other.isSetTaskStatus()) {
+      this.taskStatus = new TaskStatus(other.taskStatus);
+    }
+    if (other.isSetJobDetailsList()) {
+      List<JobDetails> __this__jobDetailsList = new ArrayList<JobDetails>(other.jobDetailsList.size());
+      for (JobDetails other_element : other.jobDetailsList) {
+        __this__jobDetailsList.add(new JobDetails(other_element));
+      }
+      this.jobDetailsList = __this__jobDetailsList;
+    }
+    if (other.isSetDataTransferDetailsList()) {
+      List<DataTransferDetails> __this__dataTransferDetailsList = new ArrayList<DataTransferDetails>(other.dataTransferDetailsList.size());
+      for (DataTransferDetails other_element : other.dataTransferDetailsList) {
+        __this__dataTransferDetailsList.add(new DataTransferDetails(other_element));
+      }
+      this.dataTransferDetailsList = __this__dataTransferDetailsList;
+    }
+    if (other.isSetErrors()) {
+      List<ErrorDetails> __this__errors = new ArrayList<ErrorDetails>(other.errors.size());
+      for (ErrorDetails other_element : other.errors) {
+        __this__errors.add(new ErrorDetails(other_element));
+      }
+      this.errors = __this__errors;
+    }
+  }
+
+  public TaskDetails deepCopy() {
+    return new TaskDetails(this);
+  }
+
+  @Override
+  public void clear() {
+    this.taskID = "DO_NOT_SET_AT_CLIENTS";
+
+    setCreationTimeIsSet(false);
+    this.creationTime = 0;
+    this.applicationId = null;
+    this.applicationVersion = null;
+    this.applicationInputs = null;
+    this.applicationOutputs = null;
+    this.taskScheduling = null;
+    this.advancedInputDataHandling = null;
+    this.advancedOutputDataHandling = null;
+    this.taskStatus = null;
+    this.jobDetailsList = null;
+    this.dataTransferDetailsList = null;
+    this.errors = null;
+  }
+
+  public String getTaskID() {
+    return this.taskID;
+  }
+
+  public void setTaskID(String taskID) {
+    this.taskID = taskID;
+  }
+
+  public void unsetTaskID() {
+    this.taskID = null;
+  }
+
+  /** Returns true if field taskID is set (has been assigned a value) and false otherwise */
+  public boolean isSetTaskID() {
+    return this.taskID != null;
+  }
+
+  public void setTaskIDIsSet(boolean value) {
+    if (!value) {
+      this.taskID = null;
+    }
+  }
+
+  public long getCreationTime() {
+    return this.creationTime;
+  }
+
+  public void setCreationTime(long creationTime) {
+    this.creationTime = creationTime;
+    setCreationTimeIsSet(true);
+  }
+
+  public void unsetCreationTime() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CREATIONTIME_ISSET_ID);
+  }
+
+  /** Returns true if field creationTime is set (has been assigned a value) and false otherwise */
+  public boolean isSetCreationTime() {
+    return EncodingUtils.testBit(__isset_bitfield, __CREATIONTIME_ISSET_ID);
+  }
+
+  public void setCreationTimeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CREATIONTIME_ISSET_ID, value);
+  }
+
+  public String getApplicationId() {
+    return this.applicationId;
+  }
+
+  public void setApplicationId(String applicationId) {
+    this.applicationId = applicationId;
+  }
+
+  public void unsetApplicationId() {
+    this.applicationId = null;
+  }
+
+  /** Returns true if field applicationId is set (has been assigned a value) and false otherwise */
+  public boolean isSetApplicationId() {
+    return this.applicationId != null;
+  }
+
+  public void setApplicationIdIsSet(boolean value) {
+    if (!value) {
+      this.applicationId = null;
+    }
+  }
+
+  public String getApplicationVersion() {
+    return this.applicationVersion;
+  }
+
+  public void setApplicationVersion(String applicationVersion) {
+    this.applicationVersion = applicationVersion;
+  }
+
+  public void unsetApplicationVersion() {
+    this.applicationVersion = null;
+  }
+
+  /** Returns true if field applicationVersion is set (has been assigned a value) and false otherwise */
+  public boolean isSetApplicationVersion() {
+    return this.applicationVersion != null;
+  }
+
+  public void setApplicationVersionIsSet(boolean value) {
+    if (!value) {
+      this.applicationVersion = null;
+    }
+  }
+
+  public int getApplicationInputsSize() {
+    return (this.applicationInputs == null) ? 0 : this.applicationInputs.size();
+  }
+
+  public java.util.Iterator<DataObjectType> getApplicationInputsIterator() {
+    return (this.applicationInputs == null) ? null : this.applicationInputs.iterator();
+  }
+
+  public void addToApplicationInputs(DataObjectType elem) {
+    if (this.applicationInputs == null) {
+      this.applicationInputs = new ArrayList<DataObjectType>();
+    }
+    this.applicationInputs.add(elem);
+  }
+
+  public List<DataObjectType> getApplicationInputs() {
+    return this.applicationInputs;
+  }
+
+  public void setApplicationInputs(List<DataObjectType> applicationInputs) {
+    this.applicationInputs = applicationInputs;
+  }
+
+  public void unsetApplicationInputs() {
+    this.applicationInputs = null;
+  }
+
+  /** Returns true if field applicationInputs is set (has been assigned a value) and false otherwise */
+  public boolean isSetApplicationInputs() {
+    return this.applicationInputs != null;
+  }
+
+  public void setApplicationInputsIsSet(boolean value) {
+    if (!value) {
+      this.applicationInputs = null;
+    }
+  }
+
+  public int getApplicationOutputsSize() {
+    return (this.applicationOutputs == null) ? 0 : this.applicationOutputs.size();
+  }
+
+  public java.util.Iterator<DataObjectType> getApplicationOutputsIterator() {
+    return (this.applicationOutputs == null) ? null : this.applicationOutputs.iterator();
+  }
+
+  public void addToApplicationOutputs(DataObjectType elem) {
+    if (this.applicationOutputs == null) {
+      this.applicationOutputs = new ArrayList<DataObjectType>();
+    }
+    this.applicationOutputs.add(elem);
+  }
+
+  public List<DataObjectType> getApplicationOutputs() {
+    return this.applicationOutputs;
+  }
+
+  public void setApplicationOutputs(List<DataObjectType> applicationOutputs) {
+    this.applicationOutputs = applicationOutputs;
+  }
+
+  public void unsetApplicationOutputs() {
+    this.applicationOutputs = null;
+  }
+
+  /** Returns true if field applicationOutputs is set (has been assigned a value) and false otherwise */
+  public boolean isSetApplicationOutputs() {
+    return this.applicationOutputs != null;
+  }
+
+  public void setApplicationOutputsIsSet(boolean value) {
+    if (!value) {
+      this.applicationOutputs = null;
+    }
+  }
+
+  public ComputationalResourceScheduling getTaskScheduling() {
+    return this.taskScheduling;
+  }
+
+  public void setTaskScheduling(ComputationalResourceScheduling taskScheduling) {
+    this.taskScheduling = taskScheduling;
+  }
+
+  public void unsetTaskScheduling() {
+    this.taskScheduling = null;
+  }
+
+  /** Returns true if field taskScheduling is set (has been assigned a value) and false otherwise */
+  public boolean isSetTaskScheduling() {
+    return this.taskScheduling != null;
+  }
+
+  public void setTaskSchedulingIsSet(boolean value) {
+    if (!value) {
+      this.taskScheduling = null;
+    }
+  }
+
+  public AdvancedInputDataHandling getAdvancedInputDataHandling() {
+    return this.advancedInputDataHandling;
+  }
+
+  public void setAdvancedInputDataHandling(AdvancedInputDataHandling advancedInputDataHandling) {
+    this.advancedInputDataHandling = advancedInputDataHandling;
+  }
+
+  public void unsetAdvancedInputDataHandling() {
+    this.advancedInputDataHandling = null;
+  }
+
+  /** Returns true if field advancedInputDataHandling is set (has been assigned a value) and false otherwise */
+  public boolean isSetAdvancedInputDataHandling() {
+    return this.advancedInputDataHandling != null;
+  }
+
+  public void setAdvancedInputDataHandlingIsSet(boolean value) {
+    if (!value) {
+      this.advancedInputDataHandling = null;
+    }
+  }
+
+  public AdvancedOutputDataHandling getAdvancedOutputDataHandling() {
+    return this.advancedOutputDataHandling;
+  }
+
+  public void setAdvancedOutputDataHandling(AdvancedOutputDataHandling advancedOutputDataHandling) {
+    this.advancedOutputDataHandling = advancedOutputDataHandling;
+  }
+
+  public void unsetAdvancedOutputDataHandling() {
+    this.advancedOutputDataHandling = null;
+  }
+
+  /** Returns true if field advancedOutputDataHandling is set (has been assigned a value) and false otherwise */
+  public boolean isSetAdvancedOutputDataHandling() {
+    return this.advancedOutputDataHandling != null;
+  }
+
+  public void setAdvancedOutputDataHandlingIsSet(boolean value) {
+    if (!value) {
+      this.advancedOutputDataHandling = null;
+    }
+  }
+
+  public TaskStatus getTaskStatus() {
+    return this.taskStatus;
+  }
+
+  public void setTaskStatus(TaskStatus taskStatus) {
+    this.taskStatus = taskStatus;
+  }
+
+  public void unsetTaskStatus() {
+    this.taskStatus = null;
+  }
+
+  /** Returns true if field taskStatus is set (has been assigned a value) and false otherwise */
+  public boolean isSetTaskStatus() {
+    return this.taskStatus != null;
+  }
+
+  public void setTaskStatusIsSet(boolean value) {
+    if (!value) {
+      this.taskStatus = null;
+    }
+  }
+
+  public int getJobDetailsListSize() {
+    return (this.jobDetailsList == null) ? 0 : this.jobDetailsList.size();
+  }
+
+  public java.util.Iterator<JobDetails> getJobDetailsListIterator() {
+    return (this.jobDetailsList == null) ? null : this.jobDetailsList.iterator();
+  }
+
+  public void addToJobDetailsList(JobDetails elem) {
+    if (this.jobDetailsList == null) {
+      this.jobDetailsList = new ArrayList<JobDetails>();
+    }
+    this.jobDetailsList.add(elem);
+  }
+
+  public List<JobDetails> getJobDetailsList() {
+    return this.jobDetailsList;
+  }
+
+  public void setJobDetailsList(List<JobDetails> jobDetailsList) {
+    this.jobDetailsList = jobDetailsList;
+  }
+
+  public void unsetJobDetailsList() {
+    this.jobDetailsList = null;
+  }
+
+  /** Returns true if field jobDetailsList is set (has been assigned a value) and false otherwise */
+  public boolean isSetJobDetailsList() {
+    return this.jobDetailsList != null;
+  }
+
+  public void setJobDetailsListIsSet(boolean value) {
+    if (!value) {
+      this.jobDetailsList = null;
+    }
+  }
+
+  public int getDataTransferDetailsListSize() {
+    return (this.dataTransferDetailsList == null) ? 0 : this.dataTransferDetailsList.size();
+  }
+
+  public java.util.Iterator<DataTransferDetails> getDataTransferDetailsListIterator() {
+    return (this.dataTransferDetailsList == null) ? null : this.dataTransferDetailsList.iterator();
+  }
+
+  public void addToDataTransferDetailsList(DataTransferDetails elem) {
+    if (this.dataTransferDetailsList == null) {
+      this.dataTransferDetailsList = new ArrayList<DataTransferDetails>();
+    }
+    this.dataTransferDetailsList.add(elem);
+  }
+
+  public List<DataTransferDetails> getDataTransferDetailsList() {
+    return this.dataTransferDetailsList;
+  }
+
+  public void setDataTransferDetailsList(List<DataTransferDetails> dataTransferDetailsList) {
+    this.dataTransferDetailsList = dataTransferDetailsList;
+  }
+
+  public void unsetDataTransferDetailsList() {
+    this.dataTransferDetailsList = null;
+  }
+
+  /** Returns true if field dataTransferDetailsList is set (has been assigned a value) and false otherwise */
+  public boolean isSetDataTransferDetailsList() {
+    return this.dataTransferDetailsList != null;
+  }
+
+  public void setDataTransferDetailsListIsSet(boolean value) {
+    if (!value) {
+      this.dataTransferDetailsList = null;
+    }
+  }
+
+  public int getErrorsSize() {
+    return (this.errors == null) ? 0 : this.errors.size();
+  }
+
+  public java.util.Iterator<ErrorDetails> getErrorsIterator() {
+    return (this.errors == null) ? null : this.errors.iterator();
+  }
+
+  public void addToErrors(ErrorDetails elem) {
+    if (this.errors == null) {
+      this.errors = new ArrayList<ErrorDetails>();
+    }
+    this.errors.add(elem);
+  }
+
+  public List<ErrorDetails> getErrors() {
+    return this.errors;
+  }
+
+  public void setErrors(List<ErrorDetails> errors) {
+    this.errors = errors;
+  }
+
+  public void unsetErrors() {
+    this.errors = null;
+  }
+
+  /** Returns true if field errors is set (has been assigned a value) and false otherwise */
+  public boolean isSetErrors() {
+    return this.errors != null;
+  }
+
+  public void setErrorsIsSet(boolean value) {
+    if (!value) {
+      this.errors = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case TASK_ID:
+      if (value == null) {
+        unsetTaskID();
+      } else {
+        setTaskID((String)value);
+      }
+      break;
+
+    case CREATION_TIME:
+      if (value == null) {
+        unsetCreationTime();
+      } else {
+        setCreationTime((Long)value);
+      }
+      break;
+
+    case APPLICATION_ID:
+      if (value == null) {
+        unsetApplicationId();
+      } else {
+        setApplicationId((String)value);
+      }
+      break;
+
+    case APPLICATION_VERSION:
+      if (value == null) {
+        unsetApplicationVersion();
+      } else {
+        setApplicationVersion((String)value);
+      }
+      break;
+
+    case APPLICATION_INPUTS:
+      if (value == null) {
+        unsetApplicationInputs();
+      } else {
+        setApplicationInputs((List<DataObjectType>)value);
+      }
+      break;
+
+    case APPLICATION_OUTPUTS:
+      if (value == null) {
+        unsetApplicationOutputs();
+      } else {
+        setApplicationOutputs((List<DataObjectType>)value);
+      }
+      break;
+
+    case TASK_SCHEDULING:
+      if (value == null) {
+        unsetTaskScheduling();
+      } else {
+        setTaskScheduling((ComputationalResourceScheduling)value);
+      }
+      break;
+
+    case ADVANCED_INPUT_DATA_HANDLING:
+      if (value == null) {
+        unsetAdvancedInputDataHandling();
+      } else {
+        setAdvancedInputDataHandling((AdvancedInputDataHandling)value);
+      }
+      break;
+
+    case ADVANCED_OUTPUT_DATA_HANDLING:
+      if (value == null) {
+        unsetAdvancedOutputDataHandling();
+      } else {
+        setAdvancedOutputDataHandling((AdvancedOutputDataHandling)value);
+      }
+      break;
+
+    case TASK_STATUS:
+      if (value == null) {
+        unsetTaskStatus();
+      } else {
+        setTaskStatus((TaskStatus)value);
+      }
+      break;
+
+    case JOB_DETAILS_LIST:
+      if (value == null) {
+        unsetJobDetailsList();
+      } else {
+        setJobDetailsList((List<JobDetails>)value);
+      }
+      break;
+
+    case DATA_TRANSFER_DETAILS_LIST:
+      if (value == null) {
+        unsetDataTransferDetailsList();
+      } else {
+        setDataTransferDetailsList((List<DataTransferDetails>)value);
+      }
+      break;
+
+    case ERRORS:
+      if (value == null) {
+        unsetErrors();
+      } else {
+        setErrors((List<ErrorDetails>)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case TASK_ID:
+      return getTaskID();
+
+    case CREATION_TIME:
+      return Long.valueOf(getCreationTime());
+
+    case APPLICATION_ID:
+      return getApplicationId();
+
+    case APPLICATION_VERSION:
+      return getApplicationVersion();
+
+    case APPLICATION_INPUTS:
+      return getApplicationInputs();
+
+    case APPLICATION_OUTPUTS:
+      return getApplicationOutputs();
+
+    case TASK_SCHEDULING:
+      return getTaskScheduling();
+
+    case ADVANCED_INPUT_DATA_HANDLING:
+      return getAdvancedInputDataHandling();
+
+    case ADVANCED_OUTPUT_DATA_HANDLING:
+      return getAdvancedOutputDataHandling();
+
+    case TASK_STATUS:
+      return getTaskStatus();
+
+    case JOB_DETAILS_LIST:
+      return getJobDetailsList();
+
+    case DATA_TRANSFER_DETAILS_LIST:
+      return getDataTransferDetailsList();
+
+    case ERRORS:
+      return getErrors();
+
+    }
+    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 TASK_ID:
+      return isSetTaskID();
+    case CREATION_TIME:
+      return isSetCreationTime();
+    case APPLICATION_ID:
+      return isSetApplicationId();
+    case APPLICATION_VERSION:
+      return isSetApplicationVersion();
+    case APPLICATION_INPUTS:
+      return isSetApplicationInputs();
+    case APPLICATION_OUTPUTS:
+      return isSetApplicationOutputs();
+    case TASK_SCHEDULING:
+      return isSetTaskScheduling();
+    case ADVANCED_INPUT_DATA_HANDLING:
+      return isSetAdvancedInputDataHandling();
+    case ADVANCED_OUTPUT_DATA_HANDLING:
+      return isSetAdvancedOutputDataHandling();
+    case TASK_STATUS:
+      return isSetTaskStatus();
+    case JOB_DETAILS_LIST:
+      return isSetJobDetailsList();
+    case DATA_TRANSFER_DETAILS_LIST:
+      return isSetDataTransferDetailsList();
+    case ERRORS:
+      return isSetErrors();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof TaskDetails)
+      return this.equals((TaskDetails)that);
+    return false;
+  }
+
+  public boolean equals(TaskDetails that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_taskID = true && this.isSetTaskID();
+    boolean that_present_taskID = true && that.isSetTaskID();
+    if (this_present_taskID || that_present_taskID) {
+      if (!(this_present_taskID && that_present_taskID))
+        return false;
+      if (!this.taskID.equals(that.taskID))
+        return false;
+    }
+
+    boolean this_present_creationTime = true && this.isSetCreationTime();
+    boolean that_present_creationTime = true && that.isSetCreationTime();
+    if (this_present_creationTime || that_present_creationTime) {
+      if (!(this_present_creationTime && that_present_creationTime))
+        return false;
+      if (this.creationTime != that.creationTime)
+        return false;
+    }
+
+    boolean this_present_applicationId = true && this.isSetApplicationId();
+    boolean that_present_applicationId = true && that.isSetApplicationId();
+    if (this_present_applicationId || that_present_applicationId) {
+      if (!(this_present_applicationId && that_present_applicationId))
+        return false;
+      if (!this.applicationId.equals(that.applicationId))
+        return false;
+    }
+
+    boolean this_present_applicationVersion = true && this.isSetApplicationVersion();
+    boolean that_present_applicationVersion = true && that.isSetApplicationVersion();
+    if (this_present_applicationVersion || that_present_applicationVersion) {
+      if (!(this_present_applicationVersion && that_present_applicationVersion))
+        return false;
+      if (!this.applicationVersion.equals(that.applicationVersion))
+        return false;
+    }
+
+    boolean this_present_applicationInputs = true && this.isSetApplicationInputs();
+    boolean that_present_applicationInputs = true && that.isSetApplicationInputs();
+    if (this_present_applicationInputs || that_present_applicationInputs) {
+      if (!(this_present_applicationInputs && that_present_applicationInputs))
+        return false;
+      if (!this.applicationInputs.equals(that.applicationInputs))
+        return false;
+    }
+
+    boolean this_present_applicationOutputs = true && this.isSetApplicationOutputs();
+    boolean that_present_applicationOutputs = true && that.isSetApplicationOutputs();
+    if (this_present_applicationOutputs || that_present_applicationOutputs) {
+      if (!(this_present_applicationOutputs && that_present_applicationOutputs))
+        return false;
+      if (!this.applicationOutputs.equals(that.applicationOutputs))
+        return false;
+    }
+
+    boolean this_present_taskScheduling = true && this.isSetTaskScheduling();
+    boolean that_present_taskScheduling = true && that.isSetTaskScheduling();
+    if (this_present_taskScheduling || that_present_taskScheduling) {
+      if (!(this_present_taskScheduling && that_present_taskScheduling))
+        return false;
+      if (!this.taskScheduling.equals(that.taskScheduling))
+        return false;
+    }
+
+    boolean this_present_advancedInputDataHandling = true && this.isSetAdvancedInputDataHandling();
+    boolean that_present_advancedInputDataHandling = true && that.isSetAdvancedInputDataHandling();
+    if (this_present_advancedInputDataHandling || that_present_advancedInputDataHandling) {
+      if (!(this_present_advancedInputDataHandling && that_present_advancedInputDataHandling))
+        return false;
+      if (!this.advancedInputDataHandling.equals(that.advancedInputDataHandling))
+        return false;
+    }
+
+    boolean this_present_advancedOutputDataHandling = true && this.isSetAdvancedOutputDataHandling();
+    boolean that_present_advancedOutputDataHandling = true && that.isSetAdvancedOutputDataHandling();
+    if (this_present_advancedOutputDataHandling || that_present_advancedOutputDataHandling) {
+      if (!(this_present_advancedOutputDataHandling && that_present_advancedOutputDataHandling))
+        return false;
+      if (!this.advancedOutputDataHandling.equals(that.advancedOutputDataHandling))
+        return false;
+    }
+
+    boolean this_present_taskStatus = true && this.isSetTaskStatus();
+    boolean that_present_taskStatus = true && that.isSetTaskStatus();
+    if (this_present_taskStatus || that_present_taskStatus) {
+      if (!(this_present_taskStatus && that_present_taskStatus))
+        return false;
+      if (!this.taskStatus.equals(that.taskStatus))
+        return false;
+    }
+
+    boolean this_present_jobDetailsList = true && this.isSetJobDetailsList();
+    boolean that_present_jobDetailsList = true && that.isSetJobDetailsList();
+    if (this_present_jobDetailsList || that_present_jobDetailsList) {
+      if (!(this_present_jobDetailsList && that_present_jobDetailsList))
+        return false;
+      if (!this.jobDetailsList.equals(that.jobDetailsList))
+        return false;
+    }
+
+    boolean this_present_dataTransferDetailsList = true && this.isSetDataTransferDetailsList();
+    boolean that_present_dataTransferDetailsList = true && that.isSetDataTransferDetailsList();
+    if (this_present_dataTransferDetailsList || that_present_dataTransferDetailsList) {
+      if (!(this_present_dataTransferDetailsList && that_present_dataTransferDetailsList))
+        return false;
+      if (!this.dataTransferDetailsList.equals(that.dataTransferDetailsList))
+        return false;
+    }
+
+    boolean this_present_errors = true && this.isSetErrors();
+    boolean that_present_errors = true && that.isSetErrors();
+    if (this_present_errors || that_present_errors) {
+      if (!(this_present_errors && that_present_errors))
+        return false;
+      if (!this.errors.equals(that.errors))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  @Override
+  public int compareTo(TaskDetails other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetTaskID()).compareTo(other.isSetTaskID());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTaskID()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.taskID, other.taskID);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetCreationTime()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.creationTime, other.creationTime);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetApplicationId()).compareTo(other.isSetApplicationId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetApplicationId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.applicationId, other.applicationId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetApplicationVersion()).compareTo(other.isSetApplicationVersion());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetApplicationVersion()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.applicationVersion, other.applicationVersion);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetApplicationInputs()).compareTo(other.isSetApplicationInputs());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetApplicationInputs()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.applicationInputs, other.applicationInputs);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetApplicationOutputs()).compareTo(other.isSetApplicationOutputs());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetApplicationOutputs()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.applicationOutputs, other.applicationOutputs);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTaskScheduling()).compareTo(other.isSetTaskScheduling());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTaskScheduling()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.taskScheduling, other.taskScheduling);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetAdvancedInputDataHandling()).compareTo(other.isSetAdvancedInputDataHandling());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetAdvancedInputDataHandling()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.advancedInputDataHandling, other.advancedInputDataHandling);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetAdvancedOutputDataHandling()).compareTo(other.isSetAdvancedOutputDataHandling());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetAdvancedOutputDataHandling()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.advancedOutputDataHandling, other.advancedOutputDataHandling);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTaskStatus()).compareTo(other.isSetTaskStatus());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTaskStatus()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.taskStatus, other.taskStatus);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetJobDetailsList()).compareTo(other.isSetJobDetailsList());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetJobDetailsList()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jobDetailsList, other.jobDetailsList);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetDataTransferDetailsList()).compareTo(other.isSetDataTransferDetailsList());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDataTransferDetailsList()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dataTransferDetailsList, other.dataTransferDetailsList);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetErrors()).compareTo(other.isSetErrors());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetErrors()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.errors, other.errors);
+      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("TaskDetails(");
+    boolean first = true;
+
+    sb.append("taskID:");
+    if (this.taskID == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.taskID);
+    }
+    first = false;
+    if (isSetCreationTime()) {
+      if (!first) sb.append(", ");
+      sb.append("creationTime:");
+      sb.append(this.creationTime);
+      first = false;
+    }
+    if (isSetApplicationId()) {
+      if (!first) sb.append(", ");
+      sb.append("applicationId:");
+      if (this.applicationId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.applicationId);
+      }
+      first = false;
+    }
+    if (isSetApplicationVersion()) {
+      if (!first) sb.append(", ");
+      sb.append("applicationVersion:");
+      if (this.applicationVersion == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.applicationVersion);
+      }
+      first = false;
+    }
+    if (isSetApplicationInputs()) {
+      if (!first) sb.append(", ");
+      sb.append("applicationInputs:");
+      if (this.applicationInputs == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.applicationInputs);
+      }
+      first = false;
+    }
+    if (isSetApplicationOutputs()) {
+      if (!first) sb.append(", ");
+      sb.append("applicationOutputs:");
+      if (this.applicationOutputs == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.applicationOutputs);
+      }
+      first = false;
+    }
+    if (isSetTaskScheduling()) {
+      if (!first) sb.append(", ");
+      sb.append("taskScheduling:");
+      if (this.taskScheduling == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.taskScheduling);
+      }
+      first = false;
+    }
+    if (isSetAdvancedInputDataHandling()) {
+      if (!first) sb.append(", ");
+      sb.append("advancedInputDataHandling:");
+      if (this.advancedInputDataHandling == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.advancedInputDataHandling);
+      }
+      first = false;
+    }
+    if (isSetAdvancedOutputDataHandling()) {
+      if (!first) sb.append(", ");
+      sb.append("advancedOutputDataHandling:");
+      if (this.advancedOutputDataHandling == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.advancedOutputDataHandling);
+      }
+      first = false;
+    }
+    if (isSetTaskStatus()) {
+      if (!first) sb.append(", ");
+      sb.append("taskStatus:");
+      if (this.taskStatus == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.taskStatus);
+      }
+      first = false;
+    }
+    if (isSetJobDetailsList()) {
+      if (!first) sb.append(", ");
+      sb.append("jobDetailsList:");
+      if (this.jobDetailsList == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.jobDetailsList);
+      }
+      first = false;
+    }
+    if (isSetDataTransferDetailsList()) {
+      if (!first) sb.append(", ");
+      sb.append("dataTransferDetailsList:");
+      if (this.dataTransferDetailsList == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.dataTransferDetailsList);
+      }
+      first = false;
+    }
+    if (isSetErrors()) {
+      if (!first) sb.append(", ");
+      sb.append("errors:");
+      if (this.errors == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.errors);
+      }
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!isSetTaskID()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'taskID' is unset! Struct:" + toString());
+    }
+
+    // check for sub-struct validity
+    if (taskScheduling != null) {
+      taskScheduling.validate();
+    }
+    if (advancedInputDataHandling != null) {
+      advancedInputDataHandling.validate();
+    }
+    if (advancedOutputDataHandling != null) {
+      advancedOutputDataHandling.validate();
+    }
+    if (taskStatus != null) {
+      taskStatus.validate();
+    }
+  }
+
+  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 TaskDetailsStandardSchemeFactory implements SchemeFactory {
+    public TaskDetailsStandardScheme getScheme() {
+      return new TaskDetailsStandardScheme();
+    }
+  }
+
+  private static class TaskDetailsStandardScheme extends StandardScheme<TaskDetails> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, TaskDetails 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: // TASK_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.taskID = iprot.readString();
+              struct.setTaskIDIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // CREATION_TIME
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.creationTime = iprot.readI64();
+              struct.setCreationTimeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // APPLICATION_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.applicationId = iprot.readString();
+              struct.setApplicationIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // APPLICATION_VERSION
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.applicationVersion = iprot.readString();
+              struct.setApplicationVersionIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // APPLICATION_INPUTS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list16 = iprot.readListBegin();
+                struct.applicationInputs = new ArrayList<DataObjectType>(_list16.size);
+                for (int _i17 = 0; _i17 < _list16.size; ++_i17)
+                {
+                  DataObjectType _elem18;
+                  _elem18 = new DataObjectType();
+                  _elem18.read(iprot);
+                  struct.applicationInputs.add(_elem18);
+                }
+                iprot.readListEnd();
+              }
+              struct.setApplicationInputsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 6: // APPLICATION_OUTPUTS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list19 = iprot.readListBegin();
+                struct.applicationOutputs = new ArrayList<DataObjectType>(_list19.size);
+                for (int _i20 = 0; _i20 < _list19.size; ++_i20)
+                {
+                  DataObjectType _elem21;
+                  _elem21 = new DataObjectType();
+                  _elem21.read(iprot);
+                  struct.applicationOutputs.add(_elem21);
+                }
+                iprot.readListEnd();
+              }
+              struct.setApplicationOutputsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 7: // TASK_SCHEDULING
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.taskScheduling = new ComputationalResourceScheduling();
+              struct.taskScheduling.read(iprot);
+              struct.setTaskSchedulingIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 8: // ADVANCED_INPUT_DATA_HANDLING
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.advancedInputDataHandling = new AdvancedInputDataHandling();
+              struct.advancedInputDataHandling.read(iprot);
+              struct.setAdvancedInputDataHandlingIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 9: // ADVANCED_OUTPUT_DATA_HANDLING
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.advancedOutputDataHandling = new AdvancedOutputDataHandling();
+              struct.advancedOutputDataHandling.read(iprot);
+              struct.setAdvancedOutputDataHandlingIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 10: // TASK_STATUS
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.taskStatus = new TaskStatus();
+              struct.taskStatus.read(iprot);
+              struct.setTaskStatusIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 11: // JOB_DETAILS_LIST
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list22 = iprot.readListBegin();
+                struct.jobDetailsList = new ArrayList<JobDetails>(_list22.size);
+                for (int _i23 = 0; _i23 < _list22.size; ++_i23)
+                {
+                  JobDetails _elem24;
+                  _elem24 = new JobDetails();
+                  _elem24.read(iprot);
+                  struct.jobDetailsList.add(_elem24);
+                }
+                iprot.readListEnd();
+              }
+              struct.setJobDetailsListIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 12: // DATA_TRANSFER_DETAILS_LIST
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list25 = iprot.readListBegin();
+                struct.dataTransferDetailsList = new ArrayList<DataTransferDetails>(_list25.size);
+                for (int _i26 = 0; _i26 < _list25.size; ++_i26)
+                {
+                  DataTransferDetails _elem27;
+                  _elem27 = new DataTransferDetails();
+                  _elem27.read(iprot);
+                  struct.dataTransferDetailsList.add(_elem27);
+                }
+                iprot.readListEnd();
+              }
+              struct.setDataTransferDetailsListIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 13: // ERRORS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list28 = iprot.readListBegin();
+                struct.errors = new ArrayList<ErrorDetails>(_list28.size);
+                for (int _i29 = 0; _i29 < _list28.size; ++_i29)
+                {
+                  ErrorDetails _elem30;
+                  _elem30 = new ErrorDetails();
+                  _elem30.read(iprot);
+                  struct.errors.add(_elem30);
+                }
+                iprot.readListEnd();
+              }
+              struct.setErrorsIsSet(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, TaskDetails struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.taskID != null) {
+        oprot.writeFieldBegin(TASK_ID_FIELD_DESC);
+        oprot.writeString(struct.taskID);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetCreationTime()) {
+        oprot.writeFieldBegin(CREATION_TIME_FIELD_DESC);
+        oprot.writeI64(struct.creationTime);
+        oprot.writeFieldEnd();
+      }
+      if (struct.applicationId != null) {
+        if (struct.isSetApplicationId()) {
+          oprot.writeFieldBegin(APPLICATION_ID_FIELD_DESC);
+          oprot.writeString(struct.applicationId);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.applicationVersion != null) {
+        if (struct.isSetApplicationVersion()) {
+          oprot.writeFieldBegin(APPLICATION_VERSION_FIELD_DESC);
+          oprot.writeString(struct.applicationVersion);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.applicationInputs != null) {
+        if (struct.isSetApplicationInputs()) {
+          oprot.writeFieldBegin(APPLICATION_INPUTS_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.applicationInputs.size()));
+            for (DataObjectType _iter31 : struct.applicationInputs)
+            {
+              _iter31.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.applicationOutputs != null) {
+        if (struct.isSetApplicationOutputs()) {
+          oprot.writeFieldBegin(APPLICATION_OUTPUTS_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.applicationOutputs.size()));
+            for (DataObjectType _iter32 : struct.applicationOutputs)
+            {
+              _iter32.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.taskScheduling != null) {
+        if (struct.isSetTaskScheduling()) {
+          oprot.writeFieldBegin(TASK_SCHEDULING_FIELD_DESC);
+          struct.taskScheduling.write(oprot);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.advancedInputDataHandling != null) {
+        if (struct.isSetAdvancedInputDataHandling()) {
+          oprot.writeFieldBegin(ADVANCED_INPUT_DATA_HANDLING_FIELD_DESC);
+          struct.advancedInputDataHandling.write(oprot);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.advancedOutputDataHandling != null) {
+        if (struct.isSetAdvancedOutputDataHandling()) {
+          oprot.writeFieldBegin(ADVANCED_OUTPUT_DATA_HANDLING_FIELD_DESC);
+          struct.advancedOutputDataHandling.write(oprot);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.taskStatus != null) {
+        if (struct.isSetTaskStatus()) {
+          oprot.writeFieldBegin(TASK_STATUS_FIELD_DESC);
+          struct.taskStatus.write(oprot);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.jobDetailsList != null) {
+        if (struct.isSetJobDetailsList()) {
+          oprot.writeFieldBegin(JOB_DETAILS_LIST_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.jobDetailsList.size()));
+            for (JobDetails _iter33 : struct.jobDetailsList)
+            {
+              _iter33.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.dataTransferDetailsList != null) {
+        if (struct.isSetDataTransferDetailsList()) {
+          oprot.writeFieldBegin(DATA_TRANSFER_DETAILS_LIST_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.dataTransferDetailsList.size()));
+            for (DataTransferDetails _iter34 : struct.dataTransferDetailsList)
+            {
+              _iter34.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.errors != null) {
+        if (struct.isSetErrors()) {
+          oprot.writeFieldBegin(ERRORS_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.errors.size()));
+            for (ErrorDetails _iter35 : struct.errors)
+            {
+              _iter35.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class TaskDetailsTupleSchemeFactory implements SchemeFactory {
+    public TaskDetailsTupleScheme getScheme() {
+      return new TaskDetailsTupleScheme();
+    }
+  }
+
+  private static class TaskDetailsTupleScheme extends TupleScheme<TaskDetails> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, TaskDetails struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeString(struct.taskID);
+      BitSet optionals = new BitSet();
+      if (struct.isSetCreationTime()) {
+        optionals.set(0);
+      }
+      if (struct.isSetApplicationId()) {
+        optionals.set(1);
+      }
+      if (struct.isSetApplicationVersion()) {
+        optionals.set(2);
+      }
+      if (struct.isSetApplicationInputs()) {
+        optionals.set(3);
+      }
+      if (struct.isSetApplicationOutputs()) {
+        optionals.set(4);
+      }
+      if (struct.isSetTaskScheduling()) {
+        optionals.set(5);
+      }
+      if (struct.isSetAdvancedInputDataHandling()) {
+        optionals.set(6);
+      }
+      if (struct.isSetAdvancedOutputDataHandling()) {
+        optionals.set(7);
+      }
+      if (struct.isSetTaskStatus()) {
+        optionals.set(8);
+      }
+      if (struct.isSetJobDetailsList()) {
+        optionals.set(9);
+      }
+      if (struct.isSetDataTransferDetailsList()) {
+        optionals.set(10);
+      }
+      if (struct.isSetErrors()) {
+        optionals.set(11);
+      }
+      oprot.writeBitSet(optionals, 12);
+      if (struct.isSetCreationTime()) {
+        oprot.writeI64(struct.creationTime);
+      }
+      if (struct.isSetApplicationId()) {
+        oprot.writeString(struct.applicationId);
+      }
+      if (struct.isSetApplicationVersion()) {
+        oprot.writeString(struct.applicationVersion);
+      }
+      if (struct.isSetApplicationInputs()) {
+        {
+          oprot.writeI32(struct.applicationInputs.size());
+          for (DataObjectType _iter36 : struct.applicationInputs)
+          {
+            _iter36.write(oprot);
+          }
+        }
+      }
+      if (struct.isSetApplicationOutputs()) {
+        {
+          oprot.writeI32(struct.applicationOutputs.size());
+          for (DataObjectType _iter37 : struct.applicationOutputs)
+          {
+            _iter37.write(oprot);
+          }
+        }
+      }
+      if (struct.isSetTaskScheduling()) {
+        struct.taskScheduling.write(oprot);
+      }
+      if (struct.isSetAdvancedInputDataHandling()) {
+        struct.advancedInputDataHandling.write(oprot);
+      }
+      if (struct.isSetAdvancedOutputDataHandling()) {
+        struct.advancedOutputDataHandling.write(oprot);
+      }
+      if (struct.isSetTaskStatus()) {
+        struct.taskStatus.write(oprot);
+      }
+      if (struct.isSetJobDetailsList()) {
+        {
+          oprot.writeI32(struct.jobDetailsList.size());
+          for (JobDetails _iter38 : struct.jobDetailsList)
+          {
+            _iter38.write(oprot);
+          }
+        }
+      }
+      if (struct.isSetDataTransferDetailsList()) {
+        {
+          oprot.writeI32(struct.dataTransferDetailsList.size());
+          for (DataTransferDetails _iter39 : struct.dataTransferDetailsList)
+          {
+            _iter39.write(oprot);
+          }
+        }
+      }
+      if (struct.isSetErrors()) {
+        {
+          oprot.writeI32(struct.errors.size());
+          for (ErrorDetails _iter40 : struct.errors)
+          {
+            _iter40.write(oprot);
+          }
+        }
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, TaskDetails struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.taskID = iprot.readString();
+      struct.setTaskIDIsSet(true);
+      BitSet incoming = iprot.readBitSet(12);
+      if (incoming.get(0)) {
+        struct.creationTime = iprot.readI64();
+        struct.setCreationTimeIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.applicationId = iprot.readString();
+        struct.setApplicationIdIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.applicationVersion = iprot.readString();
+        struct.setApplicationVersionIsSet(true);
+      }
+      if (incoming.get(3)) {
+        {
+          org.apache.thrift.protocol.TList _list41 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.applicationInputs = new ArrayList<DataObjectType>(_list41.size);
+          for (int _i42 = 0; _i42 < _list41.size; ++_i42)
+          {
+            DataObjectType _elem43;
+            _elem43 = new DataObjectType();
+            _elem43.read(iprot);
+            struct.applicationInputs.add(_elem43);
+          }
+        }
+        struct.setApplicationInputsIsSet(true);
+      }
+      if (incoming.get(4)) {
+        {
+          org.apache.thrift.protocol.TList _list44 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.applicationOutputs = new ArrayList<DataObjectType>(_list44.size);
+          for (int _i45 = 0; _i45 < _list44.size; ++_i45)
+          {
+            DataObjectType _elem46;
+            _elem46 = new DataObjectType();
+            _elem46.read(iprot);
+            struct.applicationOutputs.add(_elem46);
+          }
+        }
+        struct.setApplicationOutputsIsSet(true);
+      }
+      if (incoming.get(5)) {
+        struct.taskScheduling = new ComputationalResourceScheduling();
+        struct.taskScheduling.read(iprot);
+        struct.setTaskSchedulingIsSet(true);
+      }
+      if (incoming.get(6)) {
+        struct.advancedInputDataHandling = new AdvancedInputDataHandling();
+        struct.advancedInputDataHandling.read(iprot);
+        struct.setAdvancedInputDataHandlingIsSet(true);
+      }
+      if (incoming.get(7)) {
+        struct.advancedOutputDataHandling = new AdvancedOutputDataHandling();
+        struct.advancedOutputDataHandling.read(iprot);
+        struct.setAdvancedOutputDataHandlingIsSet(true);
+      }
+      if (incoming.get(8)) {
+        struct.taskStatus = new TaskStatus();
+        struct.taskStatus.read(iprot);
+        struct.setTaskStatusIsSet(true);
+      }
+      if (incoming.get(9)) {
+        {
+          org.apache.thrift.protocol.TList _list47 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.jobDetailsList = new ArrayList<JobDetails>(_list47.size);
+          for (int _i48 = 0; _i48 < _list47.size; ++_i48)
+          {
+            JobDetails _elem49;
+            _elem49 = new JobDetails();
+            _elem49.read(iprot);
+            struct.jobDetailsList.add(_elem49);
+          }
+        }
+        struct.setJobDetailsListIsSet(true);
+      }
+      if (incoming.get(10)) {
+        {
+          org.apache.thrift.protocol.TList _list50 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.dataTransferDetailsList = new ArrayList<DataTransferDetails>(_list50.size);
+          for (int _i51 = 0; _i51 < _list50.size; ++_i51)
+          {
+            DataTransferDetails _elem52;
+            _elem52 = new DataTransferDetails();
+            _elem52.read(iprot);
+            struct.dataTransferDetailsList.add(_elem52);
+          }
+        }
+        struct.setDataTransferDetailsListIsSet(true);
+      }
+      if (incoming.get(11)) {
+        {
+          org.apache.thrift.protocol.TList _list53 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.errors = new ArrayList<ErrorDetails>(_list53.size);
+          for (int _i54 = 0; _i54 < _list53.size; ++_i54)
+          {
+            ErrorDetails _elem55;
+            _elem55 = new ErrorDetails();
+            _elem55.read(iprot);
+            struct.errors.add(_elem55);
+          }
+        }
+        struct.setErrorsIsSet(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/TaskState.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/TaskState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/TaskState.java
new file mode 100644
index 0000000..68d7a88
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/TaskState.java
@@ -0,0 +1,91 @@
+    /*
+     * 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 TaskState implements org.apache.thrift.TEnum {
+  WAITING(0),
+  STARTED(1),
+  PRE_PROCESSING(2),
+  CONFIGURING_WORKSPACE(3),
+  INPUT_DATA_STAGING(4),
+  OUTPUT_DATA_STAGING(5),
+  POST_PROCESSING(6),
+  EXECUTING(7),
+  CANCELED(8),
+  COMPLETED(9),
+  FAILED(10),
+  UNKNOWN(11);
+
+  private final int value;
+
+  private TaskState(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 TaskState findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return WAITING;
+      case 1:
+        return STARTED;
+      case 2:
+        return PRE_PROCESSING;
+      case 3:
+        return CONFIGURING_WORKSPACE;
+      case 4:
+        return INPUT_DATA_STAGING;
+      case 5:
+        return OUTPUT_DATA_STAGING;
+      case 6:
+        return POST_PROCESSING;
+      case 7:
+        return EXECUTING;
+      case 8:
+        return CANCELED;
+      case 9:
+        return COMPLETED;
+      case 10:
+        return FAILED;
+      case 11:
+        return UNKNOWN;
+      default:
+        return null;
+    }
+  }
+}