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

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

Repository: airavata
Updated Branches:
  refs/heads/master 712652888 -> b46488d5c


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/WorkflowNodeDetails.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/WorkflowNodeDetails.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/WorkflowNodeDetails.java
new file mode 100644
index 0000000..483e97c
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/WorkflowNodeDetails.java
@@ -0,0 +1,1329 @@
+    /*
+     * 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 node data.
+ * nodeInstanceId - unique node identifier for each run
+ */
+@SuppressWarnings("all") public class WorkflowNodeDetails implements org.apache.thrift.TBase<WorkflowNodeDetails, WorkflowNodeDetails._Fields>, java.io.Serializable, Cloneable, Comparable<WorkflowNodeDetails> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("WorkflowNodeDetails");
+
+  private static final org.apache.thrift.protocol.TField NODE_INSTANCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("nodeInstanceId", 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 NODE_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("nodeName", org.apache.thrift.protocol.TType.STRING, (short)3);
+  private static final org.apache.thrift.protocol.TField NODE_INPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("nodeInputs", org.apache.thrift.protocol.TType.LIST, (short)4);
+  private static final org.apache.thrift.protocol.TField NODE_OUTPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("nodeOutputs", org.apache.thrift.protocol.TType.LIST, (short)5);
+  private static final org.apache.thrift.protocol.TField WORKFLOW_NODE_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("workflowNodeStatus", org.apache.thrift.protocol.TType.STRUCT, (short)6);
+  private static final org.apache.thrift.protocol.TField TASK_DETAILS_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("taskDetailsList", org.apache.thrift.protocol.TType.LIST, (short)7);
+  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)8);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new WorkflowNodeDetailsStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new WorkflowNodeDetailsTupleSchemeFactory());
+  }
+
+  private String nodeInstanceId; // required
+  private long creationTime; // optional
+  private String nodeName; // required
+  private List<DataObjectType> nodeInputs; // optional
+  private List<DataObjectType> nodeOutputs; // optional
+  private WorkflowNodeStatus workflowNodeStatus; // optional
+  private List<TaskDetails> taskDetailsList; // 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 {
+    NODE_INSTANCE_ID((short)1, "nodeInstanceId"),
+    CREATION_TIME((short)2, "creationTime"),
+    NODE_NAME((short)3, "nodeName"),
+    NODE_INPUTS((short)4, "nodeInputs"),
+    NODE_OUTPUTS((short)5, "nodeOutputs"),
+    WORKFLOW_NODE_STATUS((short)6, "workflowNodeStatus"),
+    TASK_DETAILS_LIST((short)7, "taskDetailsList"),
+    ERRORS((short)8, "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: // NODE_INSTANCE_ID
+          return NODE_INSTANCE_ID;
+        case 2: // CREATION_TIME
+          return CREATION_TIME;
+        case 3: // NODE_NAME
+          return NODE_NAME;
+        case 4: // NODE_INPUTS
+          return NODE_INPUTS;
+        case 5: // NODE_OUTPUTS
+          return NODE_OUTPUTS;
+        case 6: // WORKFLOW_NODE_STATUS
+          return WORKFLOW_NODE_STATUS;
+        case 7: // TASK_DETAILS_LIST
+          return TASK_DETAILS_LIST;
+        case 8: // 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.NODE_INPUTS,_Fields.NODE_OUTPUTS,_Fields.WORKFLOW_NODE_STATUS,_Fields.TASK_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.NODE_INSTANCE_ID, new org.apache.thrift.meta_data.FieldMetaData("nodeInstanceId", 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.NODE_NAME, new org.apache.thrift.meta_data.FieldMetaData("nodeName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.NODE_INPUTS, new org.apache.thrift.meta_data.FieldMetaData("nodeInputs", 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.NODE_OUTPUTS, new org.apache.thrift.meta_data.FieldMetaData("nodeOutputs", 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.WORKFLOW_NODE_STATUS, new org.apache.thrift.meta_data.FieldMetaData("workflowNodeStatus", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, WorkflowNodeStatus.class)));
+    tmpMap.put(_Fields.TASK_DETAILS_LIST, new org.apache.thrift.meta_data.FieldMetaData("taskDetailsList", 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, TaskDetails.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(WorkflowNodeDetails.class, metaDataMap);
+  }
+
+  public WorkflowNodeDetails() {
+    this.nodeInstanceId = "DO_NOT_SET_AT_CLIENTS";
+
+    this.nodeName = "SINGLE_APP_NODE";
+
+  }
+
+  public WorkflowNodeDetails(
+    String nodeInstanceId,
+    String nodeName)
+  {
+    this();
+    this.nodeInstanceId = nodeInstanceId;
+    this.nodeName = nodeName;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public WorkflowNodeDetails(WorkflowNodeDetails other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.isSetNodeInstanceId()) {
+      this.nodeInstanceId = other.nodeInstanceId;
+    }
+    this.creationTime = other.creationTime;
+    if (other.isSetNodeName()) {
+      this.nodeName = other.nodeName;
+    }
+    if (other.isSetNodeInputs()) {
+      List<DataObjectType> __this__nodeInputs = new ArrayList<DataObjectType>(other.nodeInputs.size());
+      for (DataObjectType other_element : other.nodeInputs) {
+        __this__nodeInputs.add(new DataObjectType(other_element));
+      }
+      this.nodeInputs = __this__nodeInputs;
+    }
+    if (other.isSetNodeOutputs()) {
+      List<DataObjectType> __this__nodeOutputs = new ArrayList<DataObjectType>(other.nodeOutputs.size());
+      for (DataObjectType other_element : other.nodeOutputs) {
+        __this__nodeOutputs.add(new DataObjectType(other_element));
+      }
+      this.nodeOutputs = __this__nodeOutputs;
+    }
+    if (other.isSetWorkflowNodeStatus()) {
+      this.workflowNodeStatus = new WorkflowNodeStatus(other.workflowNodeStatus);
+    }
+    if (other.isSetTaskDetailsList()) {
+      List<TaskDetails> __this__taskDetailsList = new ArrayList<TaskDetails>(other.taskDetailsList.size());
+      for (TaskDetails other_element : other.taskDetailsList) {
+        __this__taskDetailsList.add(new TaskDetails(other_element));
+      }
+      this.taskDetailsList = __this__taskDetailsList;
+    }
+    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 WorkflowNodeDetails deepCopy() {
+    return new WorkflowNodeDetails(this);
+  }
+
+  @Override
+  public void clear() {
+    this.nodeInstanceId = "DO_NOT_SET_AT_CLIENTS";
+
+    setCreationTimeIsSet(false);
+    this.creationTime = 0;
+    this.nodeName = "SINGLE_APP_NODE";
+
+    this.nodeInputs = null;
+    this.nodeOutputs = null;
+    this.workflowNodeStatus = null;
+    this.taskDetailsList = null;
+    this.errors = null;
+  }
+
+  public String getNodeInstanceId() {
+    return this.nodeInstanceId;
+  }
+
+  public void setNodeInstanceId(String nodeInstanceId) {
+    this.nodeInstanceId = nodeInstanceId;
+  }
+
+  public void unsetNodeInstanceId() {
+    this.nodeInstanceId = null;
+  }
+
+  /** Returns true if field nodeInstanceId is set (has been assigned a value) and false otherwise */
+  public boolean isSetNodeInstanceId() {
+    return this.nodeInstanceId != null;
+  }
+
+  public void setNodeInstanceIdIsSet(boolean value) {
+    if (!value) {
+      this.nodeInstanceId = 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 getNodeName() {
+    return this.nodeName;
+  }
+
+  public void setNodeName(String nodeName) {
+    this.nodeName = nodeName;
+  }
+
+  public void unsetNodeName() {
+    this.nodeName = null;
+  }
+
+  /** Returns true if field nodeName is set (has been assigned a value) and false otherwise */
+  public boolean isSetNodeName() {
+    return this.nodeName != null;
+  }
+
+  public void setNodeNameIsSet(boolean value) {
+    if (!value) {
+      this.nodeName = null;
+    }
+  }
+
+  public int getNodeInputsSize() {
+    return (this.nodeInputs == null) ? 0 : this.nodeInputs.size();
+  }
+
+  public java.util.Iterator<DataObjectType> getNodeInputsIterator() {
+    return (this.nodeInputs == null) ? null : this.nodeInputs.iterator();
+  }
+
+  public void addToNodeInputs(DataObjectType elem) {
+    if (this.nodeInputs == null) {
+      this.nodeInputs = new ArrayList<DataObjectType>();
+    }
+    this.nodeInputs.add(elem);
+  }
+
+  public List<DataObjectType> getNodeInputs() {
+    return this.nodeInputs;
+  }
+
+  public void setNodeInputs(List<DataObjectType> nodeInputs) {
+    this.nodeInputs = nodeInputs;
+  }
+
+  public void unsetNodeInputs() {
+    this.nodeInputs = null;
+  }
+
+  /** Returns true if field nodeInputs is set (has been assigned a value) and false otherwise */
+  public boolean isSetNodeInputs() {
+    return this.nodeInputs != null;
+  }
+
+  public void setNodeInputsIsSet(boolean value) {
+    if (!value) {
+      this.nodeInputs = null;
+    }
+  }
+
+  public int getNodeOutputsSize() {
+    return (this.nodeOutputs == null) ? 0 : this.nodeOutputs.size();
+  }
+
+  public java.util.Iterator<DataObjectType> getNodeOutputsIterator() {
+    return (this.nodeOutputs == null) ? null : this.nodeOutputs.iterator();
+  }
+
+  public void addToNodeOutputs(DataObjectType elem) {
+    if (this.nodeOutputs == null) {
+      this.nodeOutputs = new ArrayList<DataObjectType>();
+    }
+    this.nodeOutputs.add(elem);
+  }
+
+  public List<DataObjectType> getNodeOutputs() {
+    return this.nodeOutputs;
+  }
+
+  public void setNodeOutputs(List<DataObjectType> nodeOutputs) {
+    this.nodeOutputs = nodeOutputs;
+  }
+
+  public void unsetNodeOutputs() {
+    this.nodeOutputs = null;
+  }
+
+  /** Returns true if field nodeOutputs is set (has been assigned a value) and false otherwise */
+  public boolean isSetNodeOutputs() {
+    return this.nodeOutputs != null;
+  }
+
+  public void setNodeOutputsIsSet(boolean value) {
+    if (!value) {
+      this.nodeOutputs = null;
+    }
+  }
+
+  public WorkflowNodeStatus getWorkflowNodeStatus() {
+    return this.workflowNodeStatus;
+  }
+
+  public void setWorkflowNodeStatus(WorkflowNodeStatus workflowNodeStatus) {
+    this.workflowNodeStatus = workflowNodeStatus;
+  }
+
+  public void unsetWorkflowNodeStatus() {
+    this.workflowNodeStatus = null;
+  }
+
+  /** Returns true if field workflowNodeStatus is set (has been assigned a value) and false otherwise */
+  public boolean isSetWorkflowNodeStatus() {
+    return this.workflowNodeStatus != null;
+  }
+
+  public void setWorkflowNodeStatusIsSet(boolean value) {
+    if (!value) {
+      this.workflowNodeStatus = null;
+    }
+  }
+
+  public int getTaskDetailsListSize() {
+    return (this.taskDetailsList == null) ? 0 : this.taskDetailsList.size();
+  }
+
+  public java.util.Iterator<TaskDetails> getTaskDetailsListIterator() {
+    return (this.taskDetailsList == null) ? null : this.taskDetailsList.iterator();
+  }
+
+  public void addToTaskDetailsList(TaskDetails elem) {
+    if (this.taskDetailsList == null) {
+      this.taskDetailsList = new ArrayList<TaskDetails>();
+    }
+    this.taskDetailsList.add(elem);
+  }
+
+  public List<TaskDetails> getTaskDetailsList() {
+    return this.taskDetailsList;
+  }
+
+  public void setTaskDetailsList(List<TaskDetails> taskDetailsList) {
+    this.taskDetailsList = taskDetailsList;
+  }
+
+  public void unsetTaskDetailsList() {
+    this.taskDetailsList = null;
+  }
+
+  /** Returns true if field taskDetailsList is set (has been assigned a value) and false otherwise */
+  public boolean isSetTaskDetailsList() {
+    return this.taskDetailsList != null;
+  }
+
+  public void setTaskDetailsListIsSet(boolean value) {
+    if (!value) {
+      this.taskDetailsList = 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 NODE_INSTANCE_ID:
+      if (value == null) {
+        unsetNodeInstanceId();
+      } else {
+        setNodeInstanceId((String)value);
+      }
+      break;
+
+    case CREATION_TIME:
+      if (value == null) {
+        unsetCreationTime();
+      } else {
+        setCreationTime((Long)value);
+      }
+      break;
+
+    case NODE_NAME:
+      if (value == null) {
+        unsetNodeName();
+      } else {
+        setNodeName((String)value);
+      }
+      break;
+
+    case NODE_INPUTS:
+      if (value == null) {
+        unsetNodeInputs();
+      } else {
+        setNodeInputs((List<DataObjectType>)value);
+      }
+      break;
+
+    case NODE_OUTPUTS:
+      if (value == null) {
+        unsetNodeOutputs();
+      } else {
+        setNodeOutputs((List<DataObjectType>)value);
+      }
+      break;
+
+    case WORKFLOW_NODE_STATUS:
+      if (value == null) {
+        unsetWorkflowNodeStatus();
+      } else {
+        setWorkflowNodeStatus((WorkflowNodeStatus)value);
+      }
+      break;
+
+    case TASK_DETAILS_LIST:
+      if (value == null) {
+        unsetTaskDetailsList();
+      } else {
+        setTaskDetailsList((List<TaskDetails>)value);
+      }
+      break;
+
+    case ERRORS:
+      if (value == null) {
+        unsetErrors();
+      } else {
+        setErrors((List<ErrorDetails>)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case NODE_INSTANCE_ID:
+      return getNodeInstanceId();
+
+    case CREATION_TIME:
+      return Long.valueOf(getCreationTime());
+
+    case NODE_NAME:
+      return getNodeName();
+
+    case NODE_INPUTS:
+      return getNodeInputs();
+
+    case NODE_OUTPUTS:
+      return getNodeOutputs();
+
+    case WORKFLOW_NODE_STATUS:
+      return getWorkflowNodeStatus();
+
+    case TASK_DETAILS_LIST:
+      return getTaskDetailsList();
+
+    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 NODE_INSTANCE_ID:
+      return isSetNodeInstanceId();
+    case CREATION_TIME:
+      return isSetCreationTime();
+    case NODE_NAME:
+      return isSetNodeName();
+    case NODE_INPUTS:
+      return isSetNodeInputs();
+    case NODE_OUTPUTS:
+      return isSetNodeOutputs();
+    case WORKFLOW_NODE_STATUS:
+      return isSetWorkflowNodeStatus();
+    case TASK_DETAILS_LIST:
+      return isSetTaskDetailsList();
+    case ERRORS:
+      return isSetErrors();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof WorkflowNodeDetails)
+      return this.equals((WorkflowNodeDetails)that);
+    return false;
+  }
+
+  public boolean equals(WorkflowNodeDetails that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_nodeInstanceId = true && this.isSetNodeInstanceId();
+    boolean that_present_nodeInstanceId = true && that.isSetNodeInstanceId();
+    if (this_present_nodeInstanceId || that_present_nodeInstanceId) {
+      if (!(this_present_nodeInstanceId && that_present_nodeInstanceId))
+        return false;
+      if (!this.nodeInstanceId.equals(that.nodeInstanceId))
+        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_nodeName = true && this.isSetNodeName();
+    boolean that_present_nodeName = true && that.isSetNodeName();
+    if (this_present_nodeName || that_present_nodeName) {
+      if (!(this_present_nodeName && that_present_nodeName))
+        return false;
+      if (!this.nodeName.equals(that.nodeName))
+        return false;
+    }
+
+    boolean this_present_nodeInputs = true && this.isSetNodeInputs();
+    boolean that_present_nodeInputs = true && that.isSetNodeInputs();
+    if (this_present_nodeInputs || that_present_nodeInputs) {
+      if (!(this_present_nodeInputs && that_present_nodeInputs))
+        return false;
+      if (!this.nodeInputs.equals(that.nodeInputs))
+        return false;
+    }
+
+    boolean this_present_nodeOutputs = true && this.isSetNodeOutputs();
+    boolean that_present_nodeOutputs = true && that.isSetNodeOutputs();
+    if (this_present_nodeOutputs || that_present_nodeOutputs) {
+      if (!(this_present_nodeOutputs && that_present_nodeOutputs))
+        return false;
+      if (!this.nodeOutputs.equals(that.nodeOutputs))
+        return false;
+    }
+
+    boolean this_present_workflowNodeStatus = true && this.isSetWorkflowNodeStatus();
+    boolean that_present_workflowNodeStatus = true && that.isSetWorkflowNodeStatus();
+    if (this_present_workflowNodeStatus || that_present_workflowNodeStatus) {
+      if (!(this_present_workflowNodeStatus && that_present_workflowNodeStatus))
+        return false;
+      if (!this.workflowNodeStatus.equals(that.workflowNodeStatus))
+        return false;
+    }
+
+    boolean this_present_taskDetailsList = true && this.isSetTaskDetailsList();
+    boolean that_present_taskDetailsList = true && that.isSetTaskDetailsList();
+    if (this_present_taskDetailsList || that_present_taskDetailsList) {
+      if (!(this_present_taskDetailsList && that_present_taskDetailsList))
+        return false;
+      if (!this.taskDetailsList.equals(that.taskDetailsList))
+        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(WorkflowNodeDetails other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetNodeInstanceId()).compareTo(other.isSetNodeInstanceId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetNodeInstanceId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.nodeInstanceId, other.nodeInstanceId);
+      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(isSetNodeName()).compareTo(other.isSetNodeName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetNodeName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.nodeName, other.nodeName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetNodeInputs()).compareTo(other.isSetNodeInputs());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetNodeInputs()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.nodeInputs, other.nodeInputs);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetNodeOutputs()).compareTo(other.isSetNodeOutputs());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetNodeOutputs()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.nodeOutputs, other.nodeOutputs);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetWorkflowNodeStatus()).compareTo(other.isSetWorkflowNodeStatus());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetWorkflowNodeStatus()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.workflowNodeStatus, other.workflowNodeStatus);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTaskDetailsList()).compareTo(other.isSetTaskDetailsList());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTaskDetailsList()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.taskDetailsList, other.taskDetailsList);
+      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("WorkflowNodeDetails(");
+    boolean first = true;
+
+    sb.append("nodeInstanceId:");
+    if (this.nodeInstanceId == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.nodeInstanceId);
+    }
+    first = false;
+    if (isSetCreationTime()) {
+      if (!first) sb.append(", ");
+      sb.append("creationTime:");
+      sb.append(this.creationTime);
+      first = false;
+    }
+    if (!first) sb.append(", ");
+    sb.append("nodeName:");
+    if (this.nodeName == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.nodeName);
+    }
+    first = false;
+    if (isSetNodeInputs()) {
+      if (!first) sb.append(", ");
+      sb.append("nodeInputs:");
+      if (this.nodeInputs == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.nodeInputs);
+      }
+      first = false;
+    }
+    if (isSetNodeOutputs()) {
+      if (!first) sb.append(", ");
+      sb.append("nodeOutputs:");
+      if (this.nodeOutputs == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.nodeOutputs);
+      }
+      first = false;
+    }
+    if (isSetWorkflowNodeStatus()) {
+      if (!first) sb.append(", ");
+      sb.append("workflowNodeStatus:");
+      if (this.workflowNodeStatus == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.workflowNodeStatus);
+      }
+      first = false;
+    }
+    if (isSetTaskDetailsList()) {
+      if (!first) sb.append(", ");
+      sb.append("taskDetailsList:");
+      if (this.taskDetailsList == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.taskDetailsList);
+      }
+      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 (!isSetNodeInstanceId()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'nodeInstanceId' is unset! Struct:" + toString());
+    }
+
+    if (!isSetNodeName()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'nodeName' is unset! Struct:" + toString());
+    }
+
+    // check for sub-struct validity
+    if (workflowNodeStatus != null) {
+      workflowNodeStatus.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 WorkflowNodeDetailsStandardSchemeFactory implements SchemeFactory {
+    public WorkflowNodeDetailsStandardScheme getScheme() {
+      return new WorkflowNodeDetailsStandardScheme();
+    }
+  }
+
+  private static class WorkflowNodeDetailsStandardScheme extends StandardScheme<WorkflowNodeDetails> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, WorkflowNodeDetails 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: // NODE_INSTANCE_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.nodeInstanceId = iprot.readString();
+              struct.setNodeInstanceIdIsSet(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: // NODE_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.nodeName = iprot.readString();
+              struct.setNodeNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // NODE_INPUTS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list56 = iprot.readListBegin();
+                struct.nodeInputs = new ArrayList<DataObjectType>(_list56.size);
+                for (int _i57 = 0; _i57 < _list56.size; ++_i57)
+                {
+                  DataObjectType _elem58;
+                  _elem58 = new DataObjectType();
+                  _elem58.read(iprot);
+                  struct.nodeInputs.add(_elem58);
+                }
+                iprot.readListEnd();
+              }
+              struct.setNodeInputsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // NODE_OUTPUTS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list59 = iprot.readListBegin();
+                struct.nodeOutputs = new ArrayList<DataObjectType>(_list59.size);
+                for (int _i60 = 0; _i60 < _list59.size; ++_i60)
+                {
+                  DataObjectType _elem61;
+                  _elem61 = new DataObjectType();
+                  _elem61.read(iprot);
+                  struct.nodeOutputs.add(_elem61);
+                }
+                iprot.readListEnd();
+              }
+              struct.setNodeOutputsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 6: // WORKFLOW_NODE_STATUS
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.workflowNodeStatus = new WorkflowNodeStatus();
+              struct.workflowNodeStatus.read(iprot);
+              struct.setWorkflowNodeStatusIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 7: // TASK_DETAILS_LIST
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list62 = iprot.readListBegin();
+                struct.taskDetailsList = new ArrayList<TaskDetails>(_list62.size);
+                for (int _i63 = 0; _i63 < _list62.size; ++_i63)
+                {
+                  TaskDetails _elem64;
+                  _elem64 = new TaskDetails();
+                  _elem64.read(iprot);
+                  struct.taskDetailsList.add(_elem64);
+                }
+                iprot.readListEnd();
+              }
+              struct.setTaskDetailsListIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 8: // ERRORS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list65 = iprot.readListBegin();
+                struct.errors = new ArrayList<ErrorDetails>(_list65.size);
+                for (int _i66 = 0; _i66 < _list65.size; ++_i66)
+                {
+                  ErrorDetails _elem67;
+                  _elem67 = new ErrorDetails();
+                  _elem67.read(iprot);
+                  struct.errors.add(_elem67);
+                }
+                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, WorkflowNodeDetails struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.nodeInstanceId != null) {
+        oprot.writeFieldBegin(NODE_INSTANCE_ID_FIELD_DESC);
+        oprot.writeString(struct.nodeInstanceId);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetCreationTime()) {
+        oprot.writeFieldBegin(CREATION_TIME_FIELD_DESC);
+        oprot.writeI64(struct.creationTime);
+        oprot.writeFieldEnd();
+      }
+      if (struct.nodeName != null) {
+        oprot.writeFieldBegin(NODE_NAME_FIELD_DESC);
+        oprot.writeString(struct.nodeName);
+        oprot.writeFieldEnd();
+      }
+      if (struct.nodeInputs != null) {
+        if (struct.isSetNodeInputs()) {
+          oprot.writeFieldBegin(NODE_INPUTS_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.nodeInputs.size()));
+            for (DataObjectType _iter68 : struct.nodeInputs)
+            {
+              _iter68.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.nodeOutputs != null) {
+        if (struct.isSetNodeOutputs()) {
+          oprot.writeFieldBegin(NODE_OUTPUTS_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.nodeOutputs.size()));
+            for (DataObjectType _iter69 : struct.nodeOutputs)
+            {
+              _iter69.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.workflowNodeStatus != null) {
+        if (struct.isSetWorkflowNodeStatus()) {
+          oprot.writeFieldBegin(WORKFLOW_NODE_STATUS_FIELD_DESC);
+          struct.workflowNodeStatus.write(oprot);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.taskDetailsList != null) {
+        if (struct.isSetTaskDetailsList()) {
+          oprot.writeFieldBegin(TASK_DETAILS_LIST_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.taskDetailsList.size()));
+            for (TaskDetails _iter70 : struct.taskDetailsList)
+            {
+              _iter70.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 _iter71 : struct.errors)
+            {
+              _iter71.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class WorkflowNodeDetailsTupleSchemeFactory implements SchemeFactory {
+    public WorkflowNodeDetailsTupleScheme getScheme() {
+      return new WorkflowNodeDetailsTupleScheme();
+    }
+  }
+
+  private static class WorkflowNodeDetailsTupleScheme extends TupleScheme<WorkflowNodeDetails> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, WorkflowNodeDetails struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeString(struct.nodeInstanceId);
+      oprot.writeString(struct.nodeName);
+      BitSet optionals = new BitSet();
+      if (struct.isSetCreationTime()) {
+        optionals.set(0);
+      }
+      if (struct.isSetNodeInputs()) {
+        optionals.set(1);
+      }
+      if (struct.isSetNodeOutputs()) {
+        optionals.set(2);
+      }
+      if (struct.isSetWorkflowNodeStatus()) {
+        optionals.set(3);
+      }
+      if (struct.isSetTaskDetailsList()) {
+        optionals.set(4);
+      }
+      if (struct.isSetErrors()) {
+        optionals.set(5);
+      }
+      oprot.writeBitSet(optionals, 6);
+      if (struct.isSetCreationTime()) {
+        oprot.writeI64(struct.creationTime);
+      }
+      if (struct.isSetNodeInputs()) {
+        {
+          oprot.writeI32(struct.nodeInputs.size());
+          for (DataObjectType _iter72 : struct.nodeInputs)
+          {
+            _iter72.write(oprot);
+          }
+        }
+      }
+      if (struct.isSetNodeOutputs()) {
+        {
+          oprot.writeI32(struct.nodeOutputs.size());
+          for (DataObjectType _iter73 : struct.nodeOutputs)
+          {
+            _iter73.write(oprot);
+          }
+        }
+      }
+      if (struct.isSetWorkflowNodeStatus()) {
+        struct.workflowNodeStatus.write(oprot);
+      }
+      if (struct.isSetTaskDetailsList()) {
+        {
+          oprot.writeI32(struct.taskDetailsList.size());
+          for (TaskDetails _iter74 : struct.taskDetailsList)
+          {
+            _iter74.write(oprot);
+          }
+        }
+      }
+      if (struct.isSetErrors()) {
+        {
+          oprot.writeI32(struct.errors.size());
+          for (ErrorDetails _iter75 : struct.errors)
+          {
+            _iter75.write(oprot);
+          }
+        }
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, WorkflowNodeDetails struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.nodeInstanceId = iprot.readString();
+      struct.setNodeInstanceIdIsSet(true);
+      struct.nodeName = iprot.readString();
+      struct.setNodeNameIsSet(true);
+      BitSet incoming = iprot.readBitSet(6);
+      if (incoming.get(0)) {
+        struct.creationTime = iprot.readI64();
+        struct.setCreationTimeIsSet(true);
+      }
+      if (incoming.get(1)) {
+        {
+          org.apache.thrift.protocol.TList _list76 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.nodeInputs = new ArrayList<DataObjectType>(_list76.size);
+          for (int _i77 = 0; _i77 < _list76.size; ++_i77)
+          {
+            DataObjectType _elem78;
+            _elem78 = new DataObjectType();
+            _elem78.read(iprot);
+            struct.nodeInputs.add(_elem78);
+          }
+        }
+        struct.setNodeInputsIsSet(true);
+      }
+      if (incoming.get(2)) {
+        {
+          org.apache.thrift.protocol.TList _list79 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.nodeOutputs = new ArrayList<DataObjectType>(_list79.size);
+          for (int _i80 = 0; _i80 < _list79.size; ++_i80)
+          {
+            DataObjectType _elem81;
+            _elem81 = new DataObjectType();
+            _elem81.read(iprot);
+            struct.nodeOutputs.add(_elem81);
+          }
+        }
+        struct.setNodeOutputsIsSet(true);
+      }
+      if (incoming.get(3)) {
+        struct.workflowNodeStatus = new WorkflowNodeStatus();
+        struct.workflowNodeStatus.read(iprot);
+        struct.setWorkflowNodeStatusIsSet(true);
+      }
+      if (incoming.get(4)) {
+        {
+          org.apache.thrift.protocol.TList _list82 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.taskDetailsList = new ArrayList<TaskDetails>(_list82.size);
+          for (int _i83 = 0; _i83 < _list82.size; ++_i83)
+          {
+            TaskDetails _elem84;
+            _elem84 = new TaskDetails();
+            _elem84.read(iprot);
+            struct.taskDetailsList.add(_elem84);
+          }
+        }
+        struct.setTaskDetailsListIsSet(true);
+      }
+      if (incoming.get(5)) {
+        {
+          org.apache.thrift.protocol.TList _list85 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.errors = new ArrayList<ErrorDetails>(_list85.size);
+          for (int _i86 = 0; _i86 < _list85.size; ++_i86)
+          {
+            ErrorDetails _elem87;
+            _elem87 = new ErrorDetails();
+            _elem87.read(iprot);
+            struct.errors.add(_elem87);
+          }
+        }
+        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/WorkflowNodeState.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/WorkflowNodeState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/WorkflowNodeState.java
new file mode 100644
index 0000000..a20cb5b
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/WorkflowNodeState.java
@@ -0,0 +1,73 @@
+    /*
+     * 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 WorkflowNodeState implements org.apache.thrift.TEnum {
+  INVOKED(0),
+  EXECUTING(1),
+  CANCELED(2),
+  COMPLETED(3),
+  FAILED(4),
+  UNKNOWN(5);
+
+  private final int value;
+
+  private WorkflowNodeState(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 WorkflowNodeState findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return INVOKED;
+      case 1:
+        return EXECUTING;
+      case 2:
+        return CANCELED;
+      case 3:
+        return COMPLETED;
+      case 4:
+        return FAILED;
+      case 5:
+        return UNKNOWN;
+      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/WorkflowNodeStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/WorkflowNodeStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/WorkflowNodeStatus.java
new file mode 100644
index 0000000..a407ff5
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/WorkflowNodeStatus.java
@@ -0,0 +1,509 @@
+    /*
+     * 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;
+
+@SuppressWarnings("all") public class WorkflowNodeStatus implements org.apache.thrift.TBase<WorkflowNodeStatus, WorkflowNodeStatus._Fields>, java.io.Serializable, Cloneable, Comparable<WorkflowNodeStatus> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("WorkflowNodeStatus");
+
+  private static final org.apache.thrift.protocol.TField WORKFLOW_NODE_STATE_FIELD_DESC = new org.apache.thrift.protocol.TField("workflowNodeState", org.apache.thrift.protocol.TType.I32, (short)1);
+  private static final org.apache.thrift.protocol.TField TIME_OF_STATE_CHANGE_FIELD_DESC = new org.apache.thrift.protocol.TField("timeOfStateChange", org.apache.thrift.protocol.TType.I64, (short)2);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new WorkflowNodeStatusStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new WorkflowNodeStatusTupleSchemeFactory());
+  }
+
+  private WorkflowNodeState workflowNodeState; // required
+  private long timeOfStateChange; // 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 {
+    /**
+     * 
+     * @see WorkflowNodeState
+     */
+    WORKFLOW_NODE_STATE((short)1, "workflowNodeState"),
+    TIME_OF_STATE_CHANGE((short)2, "timeOfStateChange");
+
+    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: // WORKFLOW_NODE_STATE
+          return WORKFLOW_NODE_STATE;
+        case 2: // TIME_OF_STATE_CHANGE
+          return TIME_OF_STATE_CHANGE;
+        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 __TIMEOFSTATECHANGE_ISSET_ID = 0;
+  private byte __isset_bitfield = 0;
+  private _Fields optionals[] = {_Fields.TIME_OF_STATE_CHANGE};
+  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.WORKFLOW_NODE_STATE, new org.apache.thrift.meta_data.FieldMetaData("workflowNodeState", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, WorkflowNodeState.class)));
+    tmpMap.put(_Fields.TIME_OF_STATE_CHANGE, new org.apache.thrift.meta_data.FieldMetaData("timeOfStateChange", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(WorkflowNodeStatus.class, metaDataMap);
+  }
+
+  public WorkflowNodeStatus() {
+  }
+
+  public WorkflowNodeStatus(
+    WorkflowNodeState workflowNodeState)
+  {
+    this();
+    this.workflowNodeState = workflowNodeState;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public WorkflowNodeStatus(WorkflowNodeStatus other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.isSetWorkflowNodeState()) {
+      this.workflowNodeState = other.workflowNodeState;
+    }
+    this.timeOfStateChange = other.timeOfStateChange;
+  }
+
+  public WorkflowNodeStatus deepCopy() {
+    return new WorkflowNodeStatus(this);
+  }
+
+  @Override
+  public void clear() {
+    this.workflowNodeState = null;
+    setTimeOfStateChangeIsSet(false);
+    this.timeOfStateChange = 0;
+  }
+
+  /**
+   * 
+   * @see WorkflowNodeState
+   */
+  public WorkflowNodeState getWorkflowNodeState() {
+    return this.workflowNodeState;
+  }
+
+  /**
+   * 
+   * @see WorkflowNodeState
+   */
+  public void setWorkflowNodeState(WorkflowNodeState workflowNodeState) {
+    this.workflowNodeState = workflowNodeState;
+  }
+
+  public void unsetWorkflowNodeState() {
+    this.workflowNodeState = null;
+  }
+
+  /** Returns true if field workflowNodeState is set (has been assigned a value) and false otherwise */
+  public boolean isSetWorkflowNodeState() {
+    return this.workflowNodeState != null;
+  }
+
+  public void setWorkflowNodeStateIsSet(boolean value) {
+    if (!value) {
+      this.workflowNodeState = null;
+    }
+  }
+
+  public long getTimeOfStateChange() {
+    return this.timeOfStateChange;
+  }
+
+  public void setTimeOfStateChange(long timeOfStateChange) {
+    this.timeOfStateChange = timeOfStateChange;
+    setTimeOfStateChangeIsSet(true);
+  }
+
+  public void unsetTimeOfStateChange() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
+  }
+
+  /** Returns true if field timeOfStateChange is set (has been assigned a value) and false otherwise */
+  public boolean isSetTimeOfStateChange() {
+    return EncodingUtils.testBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
+  }
+
+  public void setTimeOfStateChangeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID, value);
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case WORKFLOW_NODE_STATE:
+      if (value == null) {
+        unsetWorkflowNodeState();
+      } else {
+        setWorkflowNodeState((WorkflowNodeState)value);
+      }
+      break;
+
+    case TIME_OF_STATE_CHANGE:
+      if (value == null) {
+        unsetTimeOfStateChange();
+      } else {
+        setTimeOfStateChange((Long)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case WORKFLOW_NODE_STATE:
+      return getWorkflowNodeState();
+
+    case TIME_OF_STATE_CHANGE:
+      return Long.valueOf(getTimeOfStateChange());
+
+    }
+    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 WORKFLOW_NODE_STATE:
+      return isSetWorkflowNodeState();
+    case TIME_OF_STATE_CHANGE:
+      return isSetTimeOfStateChange();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof WorkflowNodeStatus)
+      return this.equals((WorkflowNodeStatus)that);
+    return false;
+  }
+
+  public boolean equals(WorkflowNodeStatus that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_workflowNodeState = true && this.isSetWorkflowNodeState();
+    boolean that_present_workflowNodeState = true && that.isSetWorkflowNodeState();
+    if (this_present_workflowNodeState || that_present_workflowNodeState) {
+      if (!(this_present_workflowNodeState && that_present_workflowNodeState))
+        return false;
+      if (!this.workflowNodeState.equals(that.workflowNodeState))
+        return false;
+    }
+
+    boolean this_present_timeOfStateChange = true && this.isSetTimeOfStateChange();
+    boolean that_present_timeOfStateChange = true && that.isSetTimeOfStateChange();
+    if (this_present_timeOfStateChange || that_present_timeOfStateChange) {
+      if (!(this_present_timeOfStateChange && that_present_timeOfStateChange))
+        return false;
+      if (this.timeOfStateChange != that.timeOfStateChange)
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  @Override
+  public int compareTo(WorkflowNodeStatus other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetWorkflowNodeState()).compareTo(other.isSetWorkflowNodeState());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetWorkflowNodeState()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.workflowNodeState, other.workflowNodeState);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTimeOfStateChange()).compareTo(other.isSetTimeOfStateChange());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTimeOfStateChange()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.timeOfStateChange, other.timeOfStateChange);
+      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("WorkflowNodeStatus(");
+    boolean first = true;
+
+    sb.append("workflowNodeState:");
+    if (this.workflowNodeState == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.workflowNodeState);
+    }
+    first = false;
+    if (isSetTimeOfStateChange()) {
+      if (!first) sb.append(", ");
+      sb.append("timeOfStateChange:");
+      sb.append(this.timeOfStateChange);
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!isSetWorkflowNodeState()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'workflowNodeState' 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 {
+      // 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 WorkflowNodeStatusStandardSchemeFactory implements SchemeFactory {
+    public WorkflowNodeStatusStandardScheme getScheme() {
+      return new WorkflowNodeStatusStandardScheme();
+    }
+  }
+
+  private static class WorkflowNodeStatusStandardScheme extends StandardScheme<WorkflowNodeStatus> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, WorkflowNodeStatus 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: // WORKFLOW_NODE_STATE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.workflowNodeState = WorkflowNodeState.findByValue(iprot.readI32());
+              struct.setWorkflowNodeStateIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // TIME_OF_STATE_CHANGE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.timeOfStateChange = iprot.readI64();
+              struct.setTimeOfStateChangeIsSet(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, WorkflowNodeStatus struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.workflowNodeState != null) {
+        oprot.writeFieldBegin(WORKFLOW_NODE_STATE_FIELD_DESC);
+        oprot.writeI32(struct.workflowNodeState.getValue());
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetTimeOfStateChange()) {
+        oprot.writeFieldBegin(TIME_OF_STATE_CHANGE_FIELD_DESC);
+        oprot.writeI64(struct.timeOfStateChange);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class WorkflowNodeStatusTupleSchemeFactory implements SchemeFactory {
+    public WorkflowNodeStatusTupleScheme getScheme() {
+      return new WorkflowNodeStatusTupleScheme();
+    }
+  }
+
+  private static class WorkflowNodeStatusTupleScheme extends TupleScheme<WorkflowNodeStatus> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, WorkflowNodeStatus struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeI32(struct.workflowNodeState.getValue());
+      BitSet optionals = new BitSet();
+      if (struct.isSetTimeOfStateChange()) {
+        optionals.set(0);
+      }
+      oprot.writeBitSet(optionals, 1);
+      if (struct.isSetTimeOfStateChange()) {
+        oprot.writeI64(struct.timeOfStateChange);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, WorkflowNodeStatus struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.workflowNodeState = WorkflowNodeState.findByValue(iprot.readI32());
+      struct.setWorkflowNodeStateIsSet(true);
+      BitSet incoming = iprot.readBitSet(1);
+      if (incoming.get(0)) {
+        struct.timeOfStateChange = iprot.readI64();
+        struct.setTimeOfStateChangeIsSet(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/experimentModelConstants.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/experimentModelConstants.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/experimentModelConstants.java
new file mode 100644
index 0000000..3c023ba
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/experimentModelConstants.java
@@ -0,0 +1,59 @@
+    /*
+     * 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;
+
+@SuppressWarnings("all") public class experimentModelConstants {
+
+  public static final String DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS";
+
+  public static final String DEFAULT_PROJECT_NAME = "DEFAULT";
+
+  public static final String SINGLE_APP_NODE_NAME = "SINGLE_APP_NODE";
+
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-model-utils/pom.xml
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-model-utils/pom.xml b/airavata-api/airavata-model-utils/pom.xml
new file mode 100644
index 0000000..daae8bf
--- /dev/null
+++ b/airavata-api/airavata-model-utils/pom.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--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. -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <artifactId>airavata-api</artifactId>
+        <groupId>org.apache.airavata</groupId>
+        <version>0.12-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <name>Airavata Model Utilities</name>
+    <artifactId>airavata-model-utils</artifactId>
+    <packaging>jar</packaging>
+    <url>http://airavata.apache.org/</url>
+
+    <dependencies>
+
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-data-models</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+            <version>${org.slf4j.version}</version>
+        </dependency>
+
+    </dependencies>
+
+</project>

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/ExperimentModelUtil.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/ExperimentModelUtil.java b/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/ExperimentModelUtil.java
new file mode 100644
index 0000000..72eb5be
--- /dev/null
+++ b/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/ExperimentModelUtil.java
@@ -0,0 +1,126 @@
+/*
+ *
+ * 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.
+ *
+ */
+
+package org.apache.airavata.model.util;
+
+import org.apache.airavata.model.experiment.*;
+
+import java.util.Map;
+
+
+public class ExperimentModelUtil {
+    public static BasicMetadata createExperimentBasicMetadata (String experimentName,
+                                                               String expDescription,
+                                                               String userName,
+                                                               String projectID,
+                                                               boolean shareExp){
+        BasicMetadata basicMetadata = new BasicMetadata();
+        basicMetadata.setUserName(userName);
+        basicMetadata.setExperimentDescription(expDescription);
+        basicMetadata.setExperimentName(experimentName);
+        basicMetadata.setProjectID(projectID);
+        basicMetadata.setShareExperimentPublicly(shareExp);
+        return basicMetadata;
+    }
+
+    public static  ConfigurationData createConfigData (String applicationId,
+                                                       String applicationVersion,
+                                                       String workflowId,
+                                                       String workflowVersion,
+                                                       BasicMetadata basicMetadata,
+                                                       Map<String, String> experimentInputs,
+                                                       ComputationalResourceScheduling resourceScheduling,
+                                                       AdvancedInputDataHandling inputDataHandling,
+                                                       AdvancedOutputDataHandling outputDataHandling,
+                                                       QualityOfServiceParams qosParms){
+        ConfigurationData configData = new ConfigurationData();
+        configData.setApplicationId(applicationId);
+        configData.setApplicationVersion(applicationVersion);
+        configData.setWorkflowTemplateId(workflowId);
+        configData.setWorklfowTemplateVersion(workflowVersion);
+        configData.setBasicMetadata(basicMetadata);
+        configData.setExperimentInputs(experimentInputs);
+        configData.setComputationalResourceScheduling(resourceScheduling);
+        configData.setAdvanceInputDataHandling(inputDataHandling);
+        configData.setAdvanceOutputDataHandling(outputDataHandling);
+        configData.setQosParams(qosParms);
+        return configData;
+    }
+
+    public static ComputationalResourceScheduling createComputationResourceScheduling (boolean airavataAutoSchedule,
+                                                                                       boolean overrideManualSchedulingParams,
+                                                                                       String resourceHostId,
+                                                                                       int cpuCount,
+                                                                                       int nodeCount,
+                                                                                       int numberOfThreads,
+                                                                                       String queueName,
+                                                                                       int wallTimeLimit,
+                                                                                       long jobstartTime,
+                                                                                       int totalPhysicalMemory,
+                                                                                       String projectAccount){
+
+        ComputationalResourceScheduling cmRS = new ComputationalResourceScheduling();
+//        cmRS.setAiravataAutoSchedule(airavataAutoSchedule);
+//        cmRS.setOverrideManualScheduledParams(overrideManualSchedulingParams);
+        cmRS.setResourceHostId(resourceHostId);
+        cmRS.setTotalCPUCount(cpuCount);
+        cmRS.setNodeCount(nodeCount);
+        cmRS.setNumberOfThreads(numberOfThreads);
+        cmRS.setQueueName(queueName);
+        cmRS.setWallTimeLimit(wallTimeLimit);
+        cmRS.setJobStartTime((int)jobstartTime);
+        cmRS.setTotalPhysicalMemory(totalPhysicalMemory);
+        cmRS.setComputationalProjectAccount(projectAccount);
+        return cmRS;
+    }
+
+    public static AdvancedInputDataHandling createAdvancedInputHandling (boolean stageInputFilesToWorkingDir,
+                                                                         String workingDirParent,
+                                                                         String uniqueWorkingDir,
+                                                                         boolean cleanupAfterJob){
+        AdvancedInputDataHandling inputDataHandling = new AdvancedInputDataHandling();
+        inputDataHandling.setStageInputFilesToWorkingDir(stageInputFilesToWorkingDir);
+//        inputDataHandling.setWorkingDirectoryParent(workingDirParent);
+        inputDataHandling.setUniqueWorkingDirectory(uniqueWorkingDir);
+        inputDataHandling.setCleanUpWorkingDirAfterJob(cleanupAfterJob);
+        return inputDataHandling;
+    }
+
+    public static AdvancedOutputDataHandling createOutputDataHandling (String outputDatadir,
+                                                                       String dataRegUrl,
+                                                                       boolean persistOutput){
+        AdvancedOutputDataHandling outputDataHandling = new AdvancedOutputDataHandling();
+//        outputDataHandling.setOutputdataDir(outputDatadir);
+        outputDataHandling.setDataRegistryURL(dataRegUrl);
+        outputDataHandling.setPersistOutputData(persistOutput);
+        return outputDataHandling;
+    }
+
+    public static QualityOfServiceParams createQOSParams (String startExecutionAt,
+                                                          String executeBefore,
+                                                          int numberOfRetires){
+        QualityOfServiceParams qosParams = new QualityOfServiceParams();
+        qosParams.setStartExecutionAt(startExecutionAt);
+        qosParams.setExecuteBefore(executeBefore);
+        qosParams.setNumberofRetries(numberOfRetires);
+        return qosParams;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/thrift-interface-descriptions/airavataAPI.thrift
----------------------------------------------------------------------
diff --git a/airavata-api/thrift-interface-descriptions/airavataAPI.thrift b/airavata-api/thrift-interface-descriptions/airavataAPI.thrift
index 6a39c7b..d5b7ab4 100644
--- a/airavata-api/thrift-interface-descriptions/airavataAPI.thrift
+++ b/airavata-api/thrift-interface-descriptions/airavataAPI.thrift
@@ -410,14 +410,10 @@ service Airavata {
             3: airavataErrors.AiravataClientException ace,
             4: airavataErrors.AiravataSystemException ase)
 
-    string registerGateway (1: string gatewayName)
-        throws (1: airavataErrors.InvalidRequestException ire,
-                2: airavataErrors.ExperimentNotFoundException enf,
-                3: airavataErrors.AiravataClientException ace,
-                4: airavataErrors.AiravataSystemException ase)
-
-    bool registerUser(1: string userName, 2: string gatewayName)
-
-    string createProject (1: string projectName, string userName)
+    string createProject (1: string projectName, 2: string userName)
+            throws (1: airavataErrors.InvalidRequestException ire,
+                    2: airavataErrors.ExperimentNotFoundException enf,
+                    3: airavataErrors.AiravataClientException ace,
+                    4: airavataErrors.AiravataSystemException ase)
 
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/thrift-interface-descriptions/workspaceModel.thrift
----------------------------------------------------------------------
diff --git a/airavata-api/thrift-interface-descriptions/workspaceModel.thrift b/airavata-api/thrift-interface-descriptions/workspaceModel.thrift
index 4d01495..5db983a 100644
--- a/airavata-api/thrift-interface-descriptions/workspaceModel.thrift
+++ b/airavata-api/thrift-interface-descriptions/workspaceModel.thrift
@@ -39,7 +39,7 @@ struct Group {
 }
 
 struct Project {
-    1: required string projectID = experimentModel.DEFUALT_PROJECT_NAME,
+    1: required string projectID = experimentModel.DEFAULT_PROJECT_NAME,
     2: required string owner,
     3: required string name,
     4: optional string description
@@ -54,6 +54,6 @@ struct User {
 }
 
 struct Gateway {
-    1: required string gatewayId = DEFUALT_ID
+    1: required string gatewayId = experimentModel.DEFAULT_ID
     2: required string name,
 }
\ No newline at end of file


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

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/BasicMetadata.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/BasicMetadata.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/BasicMetadata.java
deleted file mode 100644
index c0f30db..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/BasicMetadata.java
+++ /dev/null
@@ -1,910 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A structure holding the basic experiment metadata.
- * 
- * userName:
- *   The user name of the targeted gateway end user on whose behalf the experiment is being created.
- *     the associated gateway identity can only be inferred from the security hand-shake so as to avoid
- *     authorized Airavata Clients mimicking an unauthorized request. If a gateway is not registered with
- *     Airavata, an authorization exception is thrown.
- * 
- * experimentName:
- *   The name of the experiment as defined by the user. The name need not be unique as uniqueness is enforced
- *      by the generated experiment id.
- * 
- * experimentDescription:
- *    The verbose description of the experiment. This is an optional parameter.
- */
-@SuppressWarnings("all") public class BasicMetadata implements org.apache.thrift.TBase<BasicMetadata, BasicMetadata._Fields>, java.io.Serializable, Cloneable, Comparable<BasicMetadata> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("BasicMetadata");
-
-  private static final org.apache.thrift.protocol.TField USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userName", org.apache.thrift.protocol.TType.STRING, (short)1);
-  private static final org.apache.thrift.protocol.TField EXPERIMENT_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentName", org.apache.thrift.protocol.TType.STRING, (short)2);
-  private static final org.apache.thrift.protocol.TField PROJECT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("projectID", org.apache.thrift.protocol.TType.STRING, (short)3);
-  private static final org.apache.thrift.protocol.TField EXPERIMENT_DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentDescription", org.apache.thrift.protocol.TType.STRING, (short)4);
-  private static final org.apache.thrift.protocol.TField SHARE_EXPERIMENT_PUBLICLY_FIELD_DESC = new org.apache.thrift.protocol.TField("shareExperimentPublicly", org.apache.thrift.protocol.TType.BOOL, (short)5);
-  private static final org.apache.thrift.protocol.TField EXPERIMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentID", org.apache.thrift.protocol.TType.STRING, (short)6);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new BasicMetadataStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new BasicMetadataTupleSchemeFactory());
-  }
-
-  private String userName; // required
-  private String experimentName; // required
-  private String projectID; // required
-  private String experimentDescription; // optional
-  private boolean shareExperimentPublicly; // optional
-  private String experimentID; // required
-
-  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-  @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-    USER_NAME((short)1, "userName"),
-    EXPERIMENT_NAME((short)2, "experimentName"),
-    PROJECT_ID((short)3, "projectID"),
-    EXPERIMENT_DESCRIPTION((short)4, "experimentDescription"),
-    SHARE_EXPERIMENT_PUBLICLY((short)5, "shareExperimentPublicly"),
-    EXPERIMENT_ID((short)6, "experimentID");
-
-    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
-
-    static {
-      for (_Fields field : EnumSet.allOf(_Fields.class)) {
-        byName.put(field.getFieldName(), field);
-      }
-    }
-
-    /**
-     * Find the _Fields constant that matches fieldId, or null if its not found.
-     */
-    public static _Fields findByThriftId(int fieldId) {
-      switch(fieldId) {
-        case 1: // USER_NAME
-          return USER_NAME;
-        case 2: // EXPERIMENT_NAME
-          return EXPERIMENT_NAME;
-        case 3: // PROJECT_ID
-          return PROJECT_ID;
-        case 4: // EXPERIMENT_DESCRIPTION
-          return EXPERIMENT_DESCRIPTION;
-        case 5: // SHARE_EXPERIMENT_PUBLICLY
-          return SHARE_EXPERIMENT_PUBLICLY;
-        case 6: // EXPERIMENT_ID
-          return EXPERIMENT_ID;
-        default:
-          return null;
-      }
-    }
-
-    /**
-     * Find the _Fields constant that matches fieldId, throwing an exception
-     * if it is not found.
-     */
-    public static _Fields findByThriftIdOrThrow(int fieldId) {
-      _Fields fields = findByThriftId(fieldId);
-      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-      return fields;
-    }
-
-    /**
-     * Find the _Fields constant that matches name, or null if its not found.
-     */
-    public static _Fields findByName(String name) {
-      return byName.get(name);
-    }
-
-    private final short _thriftId;
-    private final String _fieldName;
-
-    _Fields(short thriftId, String fieldName) {
-      _thriftId = thriftId;
-      _fieldName = fieldName;
-    }
-
-    public short getThriftFieldId() {
-      return _thriftId;
-    }
-
-    public String getFieldName() {
-      return _fieldName;
-    }
-  }
-
-  // isset id assignments
-  private static final int __SHAREEXPERIMENTPUBLICLY_ISSET_ID = 0;
-  private byte __isset_bitfield = 0;
-  private _Fields optionals[] = {_Fields.EXPERIMENT_DESCRIPTION,_Fields.SHARE_EXPERIMENT_PUBLICLY};
-  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-  static {
-    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-    tmpMap.put(_Fields.USER_NAME, new org.apache.thrift.meta_data.FieldMetaData("userName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.EXPERIMENT_NAME, new org.apache.thrift.meta_data.FieldMetaData("experimentName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.PROJECT_ID, new org.apache.thrift.meta_data.FieldMetaData("projectID", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.EXPERIMENT_DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("experimentDescription", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.SHARE_EXPERIMENT_PUBLICLY, new org.apache.thrift.meta_data.FieldMetaData("shareExperimentPublicly", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
-    tmpMap.put(_Fields.EXPERIMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("experimentID", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
-    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(BasicMetadata.class, metaDataMap);
-  }
-
-  public BasicMetadata() {
-    this.projectID = "default";
-
-    this.shareExperimentPublicly = false;
-
-    this.experimentID = "DO_NOT_SET";
-
-  }
-
-  public BasicMetadata(
-    String userName,
-    String experimentName,
-    String projectID,
-    String experimentID)
-  {
-    this();
-    this.userName = userName;
-    this.experimentName = experimentName;
-    this.projectID = projectID;
-    this.experimentID = experimentID;
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public BasicMetadata(BasicMetadata other) {
-    __isset_bitfield = other.__isset_bitfield;
-    if (other.isSetUserName()) {
-      this.userName = other.userName;
-    }
-    if (other.isSetExperimentName()) {
-      this.experimentName = other.experimentName;
-    }
-    if (other.isSetProjectID()) {
-      this.projectID = other.projectID;
-    }
-    if (other.isSetExperimentDescription()) {
-      this.experimentDescription = other.experimentDescription;
-    }
-    this.shareExperimentPublicly = other.shareExperimentPublicly;
-    if (other.isSetExperimentID()) {
-      this.experimentID = other.experimentID;
-    }
-  }
-
-  public BasicMetadata deepCopy() {
-    return new BasicMetadata(this);
-  }
-
-  @Override
-  public void clear() {
-    this.userName = null;
-    this.experimentName = null;
-    this.projectID = "default";
-
-    this.experimentDescription = null;
-    this.shareExperimentPublicly = false;
-
-    this.experimentID = "DO_NOT_SET";
-
-  }
-
-  public String getUserName() {
-    return this.userName;
-  }
-
-  public void setUserName(String userName) {
-    this.userName = userName;
-  }
-
-  public void unsetUserName() {
-    this.userName = null;
-  }
-
-  /** Returns true if field userName is set (has been assigned a value) and false otherwise */
-  public boolean isSetUserName() {
-    return this.userName != null;
-  }
-
-  public void setUserNameIsSet(boolean value) {
-    if (!value) {
-      this.userName = null;
-    }
-  }
-
-  public String getExperimentName() {
-    return this.experimentName;
-  }
-
-  public void setExperimentName(String experimentName) {
-    this.experimentName = experimentName;
-  }
-
-  public void unsetExperimentName() {
-    this.experimentName = null;
-  }
-
-  /** Returns true if field experimentName is set (has been assigned a value) and false otherwise */
-  public boolean isSetExperimentName() {
-    return this.experimentName != null;
-  }
-
-  public void setExperimentNameIsSet(boolean value) {
-    if (!value) {
-      this.experimentName = null;
-    }
-  }
-
-  public String getProjectID() {
-    return this.projectID;
-  }
-
-  public void setProjectID(String projectID) {
-    this.projectID = projectID;
-  }
-
-  public void unsetProjectID() {
-    this.projectID = null;
-  }
-
-  /** Returns true if field projectID is set (has been assigned a value) and false otherwise */
-  public boolean isSetProjectID() {
-    return this.projectID != null;
-  }
-
-  public void setProjectIDIsSet(boolean value) {
-    if (!value) {
-      this.projectID = null;
-    }
-  }
-
-  public String getExperimentDescription() {
-    return this.experimentDescription;
-  }
-
-  public void setExperimentDescription(String experimentDescription) {
-    this.experimentDescription = experimentDescription;
-  }
-
-  public void unsetExperimentDescription() {
-    this.experimentDescription = null;
-  }
-
-  /** Returns true if field experimentDescription is set (has been assigned a value) and false otherwise */
-  public boolean isSetExperimentDescription() {
-    return this.experimentDescription != null;
-  }
-
-  public void setExperimentDescriptionIsSet(boolean value) {
-    if (!value) {
-      this.experimentDescription = null;
-    }
-  }
-
-  public boolean isShareExperimentPublicly() {
-    return this.shareExperimentPublicly;
-  }
-
-  public void setShareExperimentPublicly(boolean shareExperimentPublicly) {
-    this.shareExperimentPublicly = shareExperimentPublicly;
-    setShareExperimentPubliclyIsSet(true);
-  }
-
-  public void unsetShareExperimentPublicly() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SHAREEXPERIMENTPUBLICLY_ISSET_ID);
-  }
-
-  /** Returns true if field shareExperimentPublicly is set (has been assigned a value) and false otherwise */
-  public boolean isSetShareExperimentPublicly() {
-    return EncodingUtils.testBit(__isset_bitfield, __SHAREEXPERIMENTPUBLICLY_ISSET_ID);
-  }
-
-  public void setShareExperimentPubliclyIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SHAREEXPERIMENTPUBLICLY_ISSET_ID, value);
-  }
-
-  public String getExperimentID() {
-    return this.experimentID;
-  }
-
-  public void setExperimentID(String experimentID) {
-    this.experimentID = experimentID;
-  }
-
-  public void unsetExperimentID() {
-    this.experimentID = null;
-  }
-
-  /** Returns true if field experimentID is set (has been assigned a value) and false otherwise */
-  public boolean isSetExperimentID() {
-    return this.experimentID != null;
-  }
-
-  public void setExperimentIDIsSet(boolean value) {
-    if (!value) {
-      this.experimentID = null;
-    }
-  }
-
-  public void setFieldValue(_Fields field, Object value) {
-    switch (field) {
-    case USER_NAME:
-      if (value == null) {
-        unsetUserName();
-      } else {
-        setUserName((String)value);
-      }
-      break;
-
-    case EXPERIMENT_NAME:
-      if (value == null) {
-        unsetExperimentName();
-      } else {
-        setExperimentName((String)value);
-      }
-      break;
-
-    case PROJECT_ID:
-      if (value == null) {
-        unsetProjectID();
-      } else {
-        setProjectID((String)value);
-      }
-      break;
-
-    case EXPERIMENT_DESCRIPTION:
-      if (value == null) {
-        unsetExperimentDescription();
-      } else {
-        setExperimentDescription((String)value);
-      }
-      break;
-
-    case SHARE_EXPERIMENT_PUBLICLY:
-      if (value == null) {
-        unsetShareExperimentPublicly();
-      } else {
-        setShareExperimentPublicly((Boolean)value);
-      }
-      break;
-
-    case EXPERIMENT_ID:
-      if (value == null) {
-        unsetExperimentID();
-      } else {
-        setExperimentID((String)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case USER_NAME:
-      return getUserName();
-
-    case EXPERIMENT_NAME:
-      return getExperimentName();
-
-    case PROJECT_ID:
-      return getProjectID();
-
-    case EXPERIMENT_DESCRIPTION:
-      return getExperimentDescription();
-
-    case SHARE_EXPERIMENT_PUBLICLY:
-      return Boolean.valueOf(isShareExperimentPublicly());
-
-    case EXPERIMENT_ID:
-      return getExperimentID();
-
-    }
-    throw new IllegalStateException();
-  }
-
-  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-  public boolean isSet(_Fields field) {
-    if (field == null) {
-      throw new IllegalArgumentException();
-    }
-
-    switch (field) {
-    case USER_NAME:
-      return isSetUserName();
-    case EXPERIMENT_NAME:
-      return isSetExperimentName();
-    case PROJECT_ID:
-      return isSetProjectID();
-    case EXPERIMENT_DESCRIPTION:
-      return isSetExperimentDescription();
-    case SHARE_EXPERIMENT_PUBLICLY:
-      return isSetShareExperimentPublicly();
-    case EXPERIMENT_ID:
-      return isSetExperimentID();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof BasicMetadata)
-      return this.equals((BasicMetadata)that);
-    return false;
-  }
-
-  public boolean equals(BasicMetadata that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_userName = true && this.isSetUserName();
-    boolean that_present_userName = true && that.isSetUserName();
-    if (this_present_userName || that_present_userName) {
-      if (!(this_present_userName && that_present_userName))
-        return false;
-      if (!this.userName.equals(that.userName))
-        return false;
-    }
-
-    boolean this_present_experimentName = true && this.isSetExperimentName();
-    boolean that_present_experimentName = true && that.isSetExperimentName();
-    if (this_present_experimentName || that_present_experimentName) {
-      if (!(this_present_experimentName && that_present_experimentName))
-        return false;
-      if (!this.experimentName.equals(that.experimentName))
-        return false;
-    }
-
-    boolean this_present_projectID = true && this.isSetProjectID();
-    boolean that_present_projectID = true && that.isSetProjectID();
-    if (this_present_projectID || that_present_projectID) {
-      if (!(this_present_projectID && that_present_projectID))
-        return false;
-      if (!this.projectID.equals(that.projectID))
-        return false;
-    }
-
-    boolean this_present_experimentDescription = true && this.isSetExperimentDescription();
-    boolean that_present_experimentDescription = true && that.isSetExperimentDescription();
-    if (this_present_experimentDescription || that_present_experimentDescription) {
-      if (!(this_present_experimentDescription && that_present_experimentDescription))
-        return false;
-      if (!this.experimentDescription.equals(that.experimentDescription))
-        return false;
-    }
-
-    boolean this_present_shareExperimentPublicly = true && this.isSetShareExperimentPublicly();
-    boolean that_present_shareExperimentPublicly = true && that.isSetShareExperimentPublicly();
-    if (this_present_shareExperimentPublicly || that_present_shareExperimentPublicly) {
-      if (!(this_present_shareExperimentPublicly && that_present_shareExperimentPublicly))
-        return false;
-      if (this.shareExperimentPublicly != that.shareExperimentPublicly)
-        return false;
-    }
-
-    boolean this_present_experimentID = true && this.isSetExperimentID();
-    boolean that_present_experimentID = true && that.isSetExperimentID();
-    if (this_present_experimentID || that_present_experimentID) {
-      if (!(this_present_experimentID && that_present_experimentID))
-        return false;
-      if (!this.experimentID.equals(that.experimentID))
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    return 0;
-  }
-
-  @Override
-  public int compareTo(BasicMetadata other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetUserName()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userName, other.userName);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetExperimentName()).compareTo(other.isSetExperimentName());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetExperimentName()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentName, other.experimentName);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetProjectID()).compareTo(other.isSetProjectID());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetProjectID()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.projectID, other.projectID);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetExperimentDescription()).compareTo(other.isSetExperimentDescription());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetExperimentDescription()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentDescription, other.experimentDescription);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetShareExperimentPublicly()).compareTo(other.isSetShareExperimentPublicly());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetShareExperimentPublicly()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.shareExperimentPublicly, other.shareExperimentPublicly);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetExperimentID()).compareTo(other.isSetExperimentID());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetExperimentID()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentID, other.experimentID);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    return 0;
-  }
-
-  public _Fields fieldForId(int fieldId) {
-    return _Fields.findByThriftId(fieldId);
-  }
-
-  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
-  }
-
-  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
-  }
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder("BasicMetadata(");
-    boolean first = true;
-
-    sb.append("userName:");
-    if (this.userName == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.userName);
-    }
-    first = false;
-    if (!first) sb.append(", ");
-    sb.append("experimentName:");
-    if (this.experimentName == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.experimentName);
-    }
-    first = false;
-    if (!first) sb.append(", ");
-    sb.append("projectID:");
-    if (this.projectID == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.projectID);
-    }
-    first = false;
-    if (isSetExperimentDescription()) {
-      if (!first) sb.append(", ");
-      sb.append("experimentDescription:");
-      if (this.experimentDescription == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.experimentDescription);
-      }
-      first = false;
-    }
-    if (isSetShareExperimentPublicly()) {
-      if (!first) sb.append(", ");
-      sb.append("shareExperimentPublicly:");
-      sb.append(this.shareExperimentPublicly);
-      first = false;
-    }
-    if (!first) sb.append(", ");
-    sb.append("experimentID:");
-    if (this.experimentID == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.experimentID);
-    }
-    first = false;
-    sb.append(")");
-    return sb.toString();
-  }
-
-  public void validate() throws org.apache.thrift.TException {
-    // check for required fields
-    if (!isSetUserName()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'userName' is unset! Struct:" + toString());
-    }
-
-    if (!isSetExperimentName()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'experimentName' is unset! Struct:" + toString());
-    }
-
-    if (!isSetProjectID()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'projectID' is unset! Struct:" + toString());
-    }
-
-    if (!isSetExperimentID()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'experimentID' 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 {
-      // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
-      __isset_bitfield = 0;
-      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-    } catch (org.apache.thrift.TException te) {
-      throw new java.io.IOException(te);
-    }
-  }
-
-  private static class BasicMetadataStandardSchemeFactory implements SchemeFactory {
-    public BasicMetadataStandardScheme getScheme() {
-      return new BasicMetadataStandardScheme();
-    }
-  }
-
-  private static class BasicMetadataStandardScheme extends StandardScheme<BasicMetadata> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, BasicMetadata struct) throws org.apache.thrift.TException {
-      org.apache.thrift.protocol.TField schemeField;
-      iprot.readStructBegin();
-      while (true)
-      {
-        schemeField = iprot.readFieldBegin();
-        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-          break;
-        }
-        switch (schemeField.id) {
-          case 1: // USER_NAME
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.userName = iprot.readString();
-              struct.setUserNameIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 2: // EXPERIMENT_NAME
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.experimentName = iprot.readString();
-              struct.setExperimentNameIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 3: // PROJECT_ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.projectID = iprot.readString();
-              struct.setProjectIDIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 4: // EXPERIMENT_DESCRIPTION
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.experimentDescription = iprot.readString();
-              struct.setExperimentDescriptionIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 5: // SHARE_EXPERIMENT_PUBLICLY
-            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
-              struct.shareExperimentPublicly = iprot.readBool();
-              struct.setShareExperimentPubliclyIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 6: // EXPERIMENT_ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.experimentID = iprot.readString();
-              struct.setExperimentIDIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          default:
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-        }
-        iprot.readFieldEnd();
-      }
-      iprot.readStructEnd();
-      struct.validate();
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot, BasicMetadata struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.userName != null) {
-        oprot.writeFieldBegin(USER_NAME_FIELD_DESC);
-        oprot.writeString(struct.userName);
-        oprot.writeFieldEnd();
-      }
-      if (struct.experimentName != null) {
-        oprot.writeFieldBegin(EXPERIMENT_NAME_FIELD_DESC);
-        oprot.writeString(struct.experimentName);
-        oprot.writeFieldEnd();
-      }
-      if (struct.projectID != null) {
-        oprot.writeFieldBegin(PROJECT_ID_FIELD_DESC);
-        oprot.writeString(struct.projectID);
-        oprot.writeFieldEnd();
-      }
-      if (struct.experimentDescription != null) {
-        if (struct.isSetExperimentDescription()) {
-          oprot.writeFieldBegin(EXPERIMENT_DESCRIPTION_FIELD_DESC);
-          oprot.writeString(struct.experimentDescription);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.isSetShareExperimentPublicly()) {
-        oprot.writeFieldBegin(SHARE_EXPERIMENT_PUBLICLY_FIELD_DESC);
-        oprot.writeBool(struct.shareExperimentPublicly);
-        oprot.writeFieldEnd();
-      }
-      if (struct.experimentID != null) {
-        oprot.writeFieldBegin(EXPERIMENT_ID_FIELD_DESC);
-        oprot.writeString(struct.experimentID);
-        oprot.writeFieldEnd();
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class BasicMetadataTupleSchemeFactory implements SchemeFactory {
-    public BasicMetadataTupleScheme getScheme() {
-      return new BasicMetadataTupleScheme();
-    }
-  }
-
-  private static class BasicMetadataTupleScheme extends TupleScheme<BasicMetadata> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, BasicMetadata struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      oprot.writeString(struct.userName);
-      oprot.writeString(struct.experimentName);
-      oprot.writeString(struct.projectID);
-      oprot.writeString(struct.experimentID);
-      BitSet optionals = new BitSet();
-      if (struct.isSetExperimentDescription()) {
-        optionals.set(0);
-      }
-      if (struct.isSetShareExperimentPublicly()) {
-        optionals.set(1);
-      }
-      oprot.writeBitSet(optionals, 2);
-      if (struct.isSetExperimentDescription()) {
-        oprot.writeString(struct.experimentDescription);
-      }
-      if (struct.isSetShareExperimentPublicly()) {
-        oprot.writeBool(struct.shareExperimentPublicly);
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, BasicMetadata struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      struct.userName = iprot.readString();
-      struct.setUserNameIsSet(true);
-      struct.experimentName = iprot.readString();
-      struct.setExperimentNameIsSet(true);
-      struct.projectID = iprot.readString();
-      struct.setProjectIDIsSet(true);
-      struct.experimentID = iprot.readString();
-      struct.setExperimentIDIsSet(true);
-      BitSet incoming = iprot.readBitSet(2);
-      if (incoming.get(0)) {
-        struct.experimentDescription = iprot.readString();
-        struct.setExperimentDescriptionIsSet(true);
-      }
-      if (incoming.get(1)) {
-        struct.shareExperimentPublicly = iprot.readBool();
-        struct.setShareExperimentPubliclyIsSet(true);
-      }
-    }
-  }
-
-}
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ComputationalResourceScheduling.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ComputationalResourceScheduling.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ComputationalResourceScheduling.java
deleted file mode 100644
index ba9bb65..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ComputationalResourceScheduling.java
+++ /dev/null
@@ -1,1173 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A structure holding the 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);
-      }
-    }
-  }
-
-}
-


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

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/TransferStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/TransferStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/TransferStatus.java
deleted file mode 100644
index c21803f..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/TransferStatus.java
+++ /dev/null
@@ -1,509 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@SuppressWarnings("all") public class TransferStatus implements org.apache.thrift.TBase<TransferStatus, TransferStatus._Fields>, java.io.Serializable, Cloneable, Comparable<TransferStatus> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TransferStatus");
-
-  private static final org.apache.thrift.protocol.TField TRANSFER_STATE_FIELD_DESC = new org.apache.thrift.protocol.TField("transferState", org.apache.thrift.protocol.TType.I32, (short)1);
-  private static final org.apache.thrift.protocol.TField TIME_OF_STATE_CHANGE_FIELD_DESC = new org.apache.thrift.protocol.TField("timeOfStateChange", org.apache.thrift.protocol.TType.I64, (short)2);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new TransferStatusStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new TransferStatusTupleSchemeFactory());
-  }
-
-  private TransferState transferState; // required
-  private long timeOfStateChange; // 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 {
-    /**
-     * 
-     * @see TransferState
-     */
-    TRANSFER_STATE((short)1, "transferState"),
-    TIME_OF_STATE_CHANGE((short)2, "timeOfStateChange");
-
-    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: // TRANSFER_STATE
-          return TRANSFER_STATE;
-        case 2: // TIME_OF_STATE_CHANGE
-          return TIME_OF_STATE_CHANGE;
-        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 __TIMEOFSTATECHANGE_ISSET_ID = 0;
-  private byte __isset_bitfield = 0;
-  private _Fields optionals[] = {_Fields.TIME_OF_STATE_CHANGE};
-  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.TRANSFER_STATE, new org.apache.thrift.meta_data.FieldMetaData("transferState", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TransferState.class)));
-    tmpMap.put(_Fields.TIME_OF_STATE_CHANGE, new org.apache.thrift.meta_data.FieldMetaData("timeOfStateChange", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
-    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TransferStatus.class, metaDataMap);
-  }
-
-  public TransferStatus() {
-  }
-
-  public TransferStatus(
-    TransferState transferState)
-  {
-    this();
-    this.transferState = transferState;
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public TransferStatus(TransferStatus other) {
-    __isset_bitfield = other.__isset_bitfield;
-    if (other.isSetTransferState()) {
-      this.transferState = other.transferState;
-    }
-    this.timeOfStateChange = other.timeOfStateChange;
-  }
-
-  public TransferStatus deepCopy() {
-    return new TransferStatus(this);
-  }
-
-  @Override
-  public void clear() {
-    this.transferState = null;
-    setTimeOfStateChangeIsSet(false);
-    this.timeOfStateChange = 0;
-  }
-
-  /**
-   * 
-   * @see TransferState
-   */
-  public TransferState getTransferState() {
-    return this.transferState;
-  }
-
-  /**
-   * 
-   * @see TransferState
-   */
-  public void setTransferState(TransferState transferState) {
-    this.transferState = transferState;
-  }
-
-  public void unsetTransferState() {
-    this.transferState = null;
-  }
-
-  /** Returns true if field transferState is set (has been assigned a value) and false otherwise */
-  public boolean isSetTransferState() {
-    return this.transferState != null;
-  }
-
-  public void setTransferStateIsSet(boolean value) {
-    if (!value) {
-      this.transferState = null;
-    }
-  }
-
-  public long getTimeOfStateChange() {
-    return this.timeOfStateChange;
-  }
-
-  public void setTimeOfStateChange(long timeOfStateChange) {
-    this.timeOfStateChange = timeOfStateChange;
-    setTimeOfStateChangeIsSet(true);
-  }
-
-  public void unsetTimeOfStateChange() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
-  }
-
-  /** Returns true if field timeOfStateChange is set (has been assigned a value) and false otherwise */
-  public boolean isSetTimeOfStateChange() {
-    return EncodingUtils.testBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
-  }
-
-  public void setTimeOfStateChangeIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID, value);
-  }
-
-  public void setFieldValue(_Fields field, Object value) {
-    switch (field) {
-    case TRANSFER_STATE:
-      if (value == null) {
-        unsetTransferState();
-      } else {
-        setTransferState((TransferState)value);
-      }
-      break;
-
-    case TIME_OF_STATE_CHANGE:
-      if (value == null) {
-        unsetTimeOfStateChange();
-      } else {
-        setTimeOfStateChange((Long)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case TRANSFER_STATE:
-      return getTransferState();
-
-    case TIME_OF_STATE_CHANGE:
-      return Long.valueOf(getTimeOfStateChange());
-
-    }
-    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 TRANSFER_STATE:
-      return isSetTransferState();
-    case TIME_OF_STATE_CHANGE:
-      return isSetTimeOfStateChange();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof TransferStatus)
-      return this.equals((TransferStatus)that);
-    return false;
-  }
-
-  public boolean equals(TransferStatus that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_transferState = true && this.isSetTransferState();
-    boolean that_present_transferState = true && that.isSetTransferState();
-    if (this_present_transferState || that_present_transferState) {
-      if (!(this_present_transferState && that_present_transferState))
-        return false;
-      if (!this.transferState.equals(that.transferState))
-        return false;
-    }
-
-    boolean this_present_timeOfStateChange = true && this.isSetTimeOfStateChange();
-    boolean that_present_timeOfStateChange = true && that.isSetTimeOfStateChange();
-    if (this_present_timeOfStateChange || that_present_timeOfStateChange) {
-      if (!(this_present_timeOfStateChange && that_present_timeOfStateChange))
-        return false;
-      if (this.timeOfStateChange != that.timeOfStateChange)
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    return 0;
-  }
-
-  @Override
-  public int compareTo(TransferStatus other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = Boolean.valueOf(isSetTransferState()).compareTo(other.isSetTransferState());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetTransferState()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transferState, other.transferState);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetTimeOfStateChange()).compareTo(other.isSetTimeOfStateChange());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetTimeOfStateChange()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.timeOfStateChange, other.timeOfStateChange);
-      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("TransferStatus(");
-    boolean first = true;
-
-    sb.append("transferState:");
-    if (this.transferState == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.transferState);
-    }
-    first = false;
-    if (isSetTimeOfStateChange()) {
-      if (!first) sb.append(", ");
-      sb.append("timeOfStateChange:");
-      sb.append(this.timeOfStateChange);
-      first = false;
-    }
-    sb.append(")");
-    return sb.toString();
-  }
-
-  public void validate() throws org.apache.thrift.TException {
-    // check for required fields
-    if (!isSetTransferState()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'transferState' 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 {
-      // 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 TransferStatusStandardSchemeFactory implements SchemeFactory {
-    public TransferStatusStandardScheme getScheme() {
-      return new TransferStatusStandardScheme();
-    }
-  }
-
-  private static class TransferStatusStandardScheme extends StandardScheme<TransferStatus> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, TransferStatus 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: // TRANSFER_STATE
-            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              struct.transferState = TransferState.findByValue(iprot.readI32());
-              struct.setTransferStateIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 2: // TIME_OF_STATE_CHANGE
-            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
-              struct.timeOfStateChange = iprot.readI64();
-              struct.setTimeOfStateChangeIsSet(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, TransferStatus struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.transferState != null) {
-        oprot.writeFieldBegin(TRANSFER_STATE_FIELD_DESC);
-        oprot.writeI32(struct.transferState.getValue());
-        oprot.writeFieldEnd();
-      }
-      if (struct.isSetTimeOfStateChange()) {
-        oprot.writeFieldBegin(TIME_OF_STATE_CHANGE_FIELD_DESC);
-        oprot.writeI64(struct.timeOfStateChange);
-        oprot.writeFieldEnd();
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class TransferStatusTupleSchemeFactory implements SchemeFactory {
-    public TransferStatusTupleScheme getScheme() {
-      return new TransferStatusTupleScheme();
-    }
-  }
-
-  private static class TransferStatusTupleScheme extends TupleScheme<TransferStatus> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, TransferStatus struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      oprot.writeI32(struct.transferState.getValue());
-      BitSet optionals = new BitSet();
-      if (struct.isSetTimeOfStateChange()) {
-        optionals.set(0);
-      }
-      oprot.writeBitSet(optionals, 1);
-      if (struct.isSetTimeOfStateChange()) {
-        oprot.writeI64(struct.timeOfStateChange);
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, TransferStatus struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      struct.transferState = TransferState.findByValue(iprot.readI32());
-      struct.setTransferStateIsSet(true);
-      BitSet incoming = iprot.readBitSet(1);
-      if (incoming.get(0)) {
-        struct.timeOfStateChange = iprot.readI64();
-        struct.setTimeOfStateChangeIsSet(true);
-      }
-    }
-  }
-
-}
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationData.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationData.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationData.java
deleted file mode 100644
index 5bfff9b..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationData.java
+++ /dev/null
@@ -1,1016 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A structure holding the experiment configuration.
- * 
- * 
- */
-@SuppressWarnings("all") public class UserConfigurationData implements org.apache.thrift.TBase<UserConfigurationData, UserConfigurationData._Fields>, java.io.Serializable, Cloneable, Comparable<UserConfigurationData> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UserConfigurationData");
-
-  private static final org.apache.thrift.protocol.TField AIRAVATA_AUTO_SCHEDULE_FIELD_DESC = new org.apache.thrift.protocol.TField("airavataAutoSchedule", org.apache.thrift.protocol.TType.BOOL, (short)1);
-  private static final org.apache.thrift.protocol.TField OVERRIDE_MANUAL_SCHEDULED_PARAMS_FIELD_DESC = new org.apache.thrift.protocol.TField("overrideManualScheduledParams", org.apache.thrift.protocol.TType.BOOL, (short)2);
-  private static final org.apache.thrift.protocol.TField SHARE_EXPERIMENT_PUBLICLY_FIELD_DESC = new org.apache.thrift.protocol.TField("shareExperimentPublicly", org.apache.thrift.protocol.TType.BOOL, (short)3);
-  private static final org.apache.thrift.protocol.TField COMPUTATIONAL_RESOURCE_SCHEDULING_FIELD_DESC = new org.apache.thrift.protocol.TField("computationalResourceScheduling", org.apache.thrift.protocol.TType.STRUCT, (short)4);
-  private static final org.apache.thrift.protocol.TField ADVANCE_INPUT_DATA_HANDLING_FIELD_DESC = new org.apache.thrift.protocol.TField("advanceInputDataHandling", org.apache.thrift.protocol.TType.STRUCT, (short)5);
-  private static final org.apache.thrift.protocol.TField ADVANCE_OUTPUT_DATA_HANDLING_FIELD_DESC = new org.apache.thrift.protocol.TField("advanceOutputDataHandling", org.apache.thrift.protocol.TType.STRUCT, (short)6);
-  private static final org.apache.thrift.protocol.TField QOS_PARAMS_FIELD_DESC = new org.apache.thrift.protocol.TField("qosParams", org.apache.thrift.protocol.TType.STRUCT, (short)7);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new UserConfigurationDataStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new UserConfigurationDataTupleSchemeFactory());
-  }
-
-  private boolean airavataAutoSchedule; // required
-  private boolean overrideManualScheduledParams; // required
-  private boolean shareExperimentPublicly; // optional
-  private ComputationalResourceScheduling computationalResourceScheduling; // optional
-  private AdvancedInputDataHandling advanceInputDataHandling; // optional
-  private AdvancedOutputDataHandling advanceOutputDataHandling; // optional
-  private QualityOfServiceParams qosParams; // 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 {
-    AIRAVATA_AUTO_SCHEDULE((short)1, "airavataAutoSchedule"),
-    OVERRIDE_MANUAL_SCHEDULED_PARAMS((short)2, "overrideManualScheduledParams"),
-    SHARE_EXPERIMENT_PUBLICLY((short)3, "shareExperimentPublicly"),
-    COMPUTATIONAL_RESOURCE_SCHEDULING((short)4, "computationalResourceScheduling"),
-    ADVANCE_INPUT_DATA_HANDLING((short)5, "advanceInputDataHandling"),
-    ADVANCE_OUTPUT_DATA_HANDLING((short)6, "advanceOutputDataHandling"),
-    QOS_PARAMS((short)7, "qosParams");
-
-    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: // AIRAVATA_AUTO_SCHEDULE
-          return AIRAVATA_AUTO_SCHEDULE;
-        case 2: // OVERRIDE_MANUAL_SCHEDULED_PARAMS
-          return OVERRIDE_MANUAL_SCHEDULED_PARAMS;
-        case 3: // SHARE_EXPERIMENT_PUBLICLY
-          return SHARE_EXPERIMENT_PUBLICLY;
-        case 4: // COMPUTATIONAL_RESOURCE_SCHEDULING
-          return COMPUTATIONAL_RESOURCE_SCHEDULING;
-        case 5: // ADVANCE_INPUT_DATA_HANDLING
-          return ADVANCE_INPUT_DATA_HANDLING;
-        case 6: // ADVANCE_OUTPUT_DATA_HANDLING
-          return ADVANCE_OUTPUT_DATA_HANDLING;
-        case 7: // QOS_PARAMS
-          return QOS_PARAMS;
-        default:
-          return null;
-      }
-    }
-
-    /**
-     * Find the _Fields constant that matches fieldId, throwing an exception
-     * if it is not found.
-     */
-    public static _Fields findByThriftIdOrThrow(int fieldId) {
-      _Fields fields = findByThriftId(fieldId);
-      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-      return fields;
-    }
-
-    /**
-     * Find the _Fields constant that matches name, or null if its not found.
-     */
-    public static _Fields findByName(String name) {
-      return byName.get(name);
-    }
-
-    private final short _thriftId;
-    private final String _fieldName;
-
-    _Fields(short thriftId, String fieldName) {
-      _thriftId = thriftId;
-      _fieldName = fieldName;
-    }
-
-    public short getThriftFieldId() {
-      return _thriftId;
-    }
-
-    public String getFieldName() {
-      return _fieldName;
-    }
-  }
-
-  // isset id assignments
-  private static final int __AIRAVATAAUTOSCHEDULE_ISSET_ID = 0;
-  private static final int __OVERRIDEMANUALSCHEDULEDPARAMS_ISSET_ID = 1;
-  private static final int __SHAREEXPERIMENTPUBLICLY_ISSET_ID = 2;
-  private byte __isset_bitfield = 0;
-  private _Fields optionals[] = {_Fields.SHARE_EXPERIMENT_PUBLICLY,_Fields.COMPUTATIONAL_RESOURCE_SCHEDULING,_Fields.ADVANCE_INPUT_DATA_HANDLING,_Fields.ADVANCE_OUTPUT_DATA_HANDLING,_Fields.QOS_PARAMS};
-  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-  static {
-    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-    tmpMap.put(_Fields.AIRAVATA_AUTO_SCHEDULE, new org.apache.thrift.meta_data.FieldMetaData("airavataAutoSchedule", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
-    tmpMap.put(_Fields.OVERRIDE_MANUAL_SCHEDULED_PARAMS, new org.apache.thrift.meta_data.FieldMetaData("overrideManualScheduledParams", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
-    tmpMap.put(_Fields.SHARE_EXPERIMENT_PUBLICLY, new org.apache.thrift.meta_data.FieldMetaData("shareExperimentPublicly", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
-    tmpMap.put(_Fields.COMPUTATIONAL_RESOURCE_SCHEDULING, new org.apache.thrift.meta_data.FieldMetaData("computationalResourceScheduling", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ComputationalResourceScheduling.class)));
-    tmpMap.put(_Fields.ADVANCE_INPUT_DATA_HANDLING, new org.apache.thrift.meta_data.FieldMetaData("advanceInputDataHandling", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, AdvancedInputDataHandling.class)));
-    tmpMap.put(_Fields.ADVANCE_OUTPUT_DATA_HANDLING, new org.apache.thrift.meta_data.FieldMetaData("advanceOutputDataHandling", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, AdvancedOutputDataHandling.class)));
-    tmpMap.put(_Fields.QOS_PARAMS, new org.apache.thrift.meta_data.FieldMetaData("qosParams", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, QualityOfServiceParams.class)));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
-    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(UserConfigurationData.class, metaDataMap);
-  }
-
-  public UserConfigurationData() {
-    this.airavataAutoSchedule = false;
-
-    this.overrideManualScheduledParams = false;
-
-    this.shareExperimentPublicly = false;
-
-  }
-
-  public UserConfigurationData(
-    boolean airavataAutoSchedule,
-    boolean overrideManualScheduledParams)
-  {
-    this();
-    this.airavataAutoSchedule = airavataAutoSchedule;
-    setAiravataAutoScheduleIsSet(true);
-    this.overrideManualScheduledParams = overrideManualScheduledParams;
-    setOverrideManualScheduledParamsIsSet(true);
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public UserConfigurationData(UserConfigurationData other) {
-    __isset_bitfield = other.__isset_bitfield;
-    this.airavataAutoSchedule = other.airavataAutoSchedule;
-    this.overrideManualScheduledParams = other.overrideManualScheduledParams;
-    this.shareExperimentPublicly = other.shareExperimentPublicly;
-    if (other.isSetComputationalResourceScheduling()) {
-      this.computationalResourceScheduling = new ComputationalResourceScheduling(other.computationalResourceScheduling);
-    }
-    if (other.isSetAdvanceInputDataHandling()) {
-      this.advanceInputDataHandling = new AdvancedInputDataHandling(other.advanceInputDataHandling);
-    }
-    if (other.isSetAdvanceOutputDataHandling()) {
-      this.advanceOutputDataHandling = new AdvancedOutputDataHandling(other.advanceOutputDataHandling);
-    }
-    if (other.isSetQosParams()) {
-      this.qosParams = new QualityOfServiceParams(other.qosParams);
-    }
-  }
-
-  public UserConfigurationData deepCopy() {
-    return new UserConfigurationData(this);
-  }
-
-  @Override
-  public void clear() {
-    this.airavataAutoSchedule = false;
-
-    this.overrideManualScheduledParams = false;
-
-    this.shareExperimentPublicly = false;
-
-    this.computationalResourceScheduling = null;
-    this.advanceInputDataHandling = null;
-    this.advanceOutputDataHandling = null;
-    this.qosParams = null;
-  }
-
-  public boolean isAiravataAutoSchedule() {
-    return this.airavataAutoSchedule;
-  }
-
-  public void setAiravataAutoSchedule(boolean airavataAutoSchedule) {
-    this.airavataAutoSchedule = airavataAutoSchedule;
-    setAiravataAutoScheduleIsSet(true);
-  }
-
-  public void unsetAiravataAutoSchedule() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __AIRAVATAAUTOSCHEDULE_ISSET_ID);
-  }
-
-  /** Returns true if field airavataAutoSchedule is set (has been assigned a value) and false otherwise */
-  public boolean isSetAiravataAutoSchedule() {
-    return EncodingUtils.testBit(__isset_bitfield, __AIRAVATAAUTOSCHEDULE_ISSET_ID);
-  }
-
-  public void setAiravataAutoScheduleIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __AIRAVATAAUTOSCHEDULE_ISSET_ID, value);
-  }
-
-  public boolean isOverrideManualScheduledParams() {
-    return this.overrideManualScheduledParams;
-  }
-
-  public void setOverrideManualScheduledParams(boolean overrideManualScheduledParams) {
-    this.overrideManualScheduledParams = overrideManualScheduledParams;
-    setOverrideManualScheduledParamsIsSet(true);
-  }
-
-  public void unsetOverrideManualScheduledParams() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __OVERRIDEMANUALSCHEDULEDPARAMS_ISSET_ID);
-  }
-
-  /** Returns true if field overrideManualScheduledParams is set (has been assigned a value) and false otherwise */
-  public boolean isSetOverrideManualScheduledParams() {
-    return EncodingUtils.testBit(__isset_bitfield, __OVERRIDEMANUALSCHEDULEDPARAMS_ISSET_ID);
-  }
-
-  public void setOverrideManualScheduledParamsIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __OVERRIDEMANUALSCHEDULEDPARAMS_ISSET_ID, value);
-  }
-
-  public boolean isShareExperimentPublicly() {
-    return this.shareExperimentPublicly;
-  }
-
-  public void setShareExperimentPublicly(boolean shareExperimentPublicly) {
-    this.shareExperimentPublicly = shareExperimentPublicly;
-    setShareExperimentPubliclyIsSet(true);
-  }
-
-  public void unsetShareExperimentPublicly() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SHAREEXPERIMENTPUBLICLY_ISSET_ID);
-  }
-
-  /** Returns true if field shareExperimentPublicly is set (has been assigned a value) and false otherwise */
-  public boolean isSetShareExperimentPublicly() {
-    return EncodingUtils.testBit(__isset_bitfield, __SHAREEXPERIMENTPUBLICLY_ISSET_ID);
-  }
-
-  public void setShareExperimentPubliclyIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SHAREEXPERIMENTPUBLICLY_ISSET_ID, value);
-  }
-
-  public ComputationalResourceScheduling getComputationalResourceScheduling() {
-    return this.computationalResourceScheduling;
-  }
-
-  public void setComputationalResourceScheduling(ComputationalResourceScheduling computationalResourceScheduling) {
-    this.computationalResourceScheduling = computationalResourceScheduling;
-  }
-
-  public void unsetComputationalResourceScheduling() {
-    this.computationalResourceScheduling = null;
-  }
-
-  /** Returns true if field computationalResourceScheduling is set (has been assigned a value) and false otherwise */
-  public boolean isSetComputationalResourceScheduling() {
-    return this.computationalResourceScheduling != null;
-  }
-
-  public void setComputationalResourceSchedulingIsSet(boolean value) {
-    if (!value) {
-      this.computationalResourceScheduling = null;
-    }
-  }
-
-  public AdvancedInputDataHandling getAdvanceInputDataHandling() {
-    return this.advanceInputDataHandling;
-  }
-
-  public void setAdvanceInputDataHandling(AdvancedInputDataHandling advanceInputDataHandling) {
-    this.advanceInputDataHandling = advanceInputDataHandling;
-  }
-
-  public void unsetAdvanceInputDataHandling() {
-    this.advanceInputDataHandling = null;
-  }
-
-  /** Returns true if field advanceInputDataHandling is set (has been assigned a value) and false otherwise */
-  public boolean isSetAdvanceInputDataHandling() {
-    return this.advanceInputDataHandling != null;
-  }
-
-  public void setAdvanceInputDataHandlingIsSet(boolean value) {
-    if (!value) {
-      this.advanceInputDataHandling = null;
-    }
-  }
-
-  public AdvancedOutputDataHandling getAdvanceOutputDataHandling() {
-    return this.advanceOutputDataHandling;
-  }
-
-  public void setAdvanceOutputDataHandling(AdvancedOutputDataHandling advanceOutputDataHandling) {
-    this.advanceOutputDataHandling = advanceOutputDataHandling;
-  }
-
-  public void unsetAdvanceOutputDataHandling() {
-    this.advanceOutputDataHandling = null;
-  }
-
-  /** Returns true if field advanceOutputDataHandling is set (has been assigned a value) and false otherwise */
-  public boolean isSetAdvanceOutputDataHandling() {
-    return this.advanceOutputDataHandling != null;
-  }
-
-  public void setAdvanceOutputDataHandlingIsSet(boolean value) {
-    if (!value) {
-      this.advanceOutputDataHandling = null;
-    }
-  }
-
-  public QualityOfServiceParams getQosParams() {
-    return this.qosParams;
-  }
-
-  public void setQosParams(QualityOfServiceParams qosParams) {
-    this.qosParams = qosParams;
-  }
-
-  public void unsetQosParams() {
-    this.qosParams = null;
-  }
-
-  /** Returns true if field qosParams is set (has been assigned a value) and false otherwise */
-  public boolean isSetQosParams() {
-    return this.qosParams != null;
-  }
-
-  public void setQosParamsIsSet(boolean value) {
-    if (!value) {
-      this.qosParams = null;
-    }
-  }
-
-  public void setFieldValue(_Fields field, Object value) {
-    switch (field) {
-    case AIRAVATA_AUTO_SCHEDULE:
-      if (value == null) {
-        unsetAiravataAutoSchedule();
-      } else {
-        setAiravataAutoSchedule((Boolean)value);
-      }
-      break;
-
-    case OVERRIDE_MANUAL_SCHEDULED_PARAMS:
-      if (value == null) {
-        unsetOverrideManualScheduledParams();
-      } else {
-        setOverrideManualScheduledParams((Boolean)value);
-      }
-      break;
-
-    case SHARE_EXPERIMENT_PUBLICLY:
-      if (value == null) {
-        unsetShareExperimentPublicly();
-      } else {
-        setShareExperimentPublicly((Boolean)value);
-      }
-      break;
-
-    case COMPUTATIONAL_RESOURCE_SCHEDULING:
-      if (value == null) {
-        unsetComputationalResourceScheduling();
-      } else {
-        setComputationalResourceScheduling((ComputationalResourceScheduling)value);
-      }
-      break;
-
-    case ADVANCE_INPUT_DATA_HANDLING:
-      if (value == null) {
-        unsetAdvanceInputDataHandling();
-      } else {
-        setAdvanceInputDataHandling((AdvancedInputDataHandling)value);
-      }
-      break;
-
-    case ADVANCE_OUTPUT_DATA_HANDLING:
-      if (value == null) {
-        unsetAdvanceOutputDataHandling();
-      } else {
-        setAdvanceOutputDataHandling((AdvancedOutputDataHandling)value);
-      }
-      break;
-
-    case QOS_PARAMS:
-      if (value == null) {
-        unsetQosParams();
-      } else {
-        setQosParams((QualityOfServiceParams)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case AIRAVATA_AUTO_SCHEDULE:
-      return Boolean.valueOf(isAiravataAutoSchedule());
-
-    case OVERRIDE_MANUAL_SCHEDULED_PARAMS:
-      return Boolean.valueOf(isOverrideManualScheduledParams());
-
-    case SHARE_EXPERIMENT_PUBLICLY:
-      return Boolean.valueOf(isShareExperimentPublicly());
-
-    case COMPUTATIONAL_RESOURCE_SCHEDULING:
-      return getComputationalResourceScheduling();
-
-    case ADVANCE_INPUT_DATA_HANDLING:
-      return getAdvanceInputDataHandling();
-
-    case ADVANCE_OUTPUT_DATA_HANDLING:
-      return getAdvanceOutputDataHandling();
-
-    case QOS_PARAMS:
-      return getQosParams();
-
-    }
-    throw new IllegalStateException();
-  }
-
-  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-  public boolean isSet(_Fields field) {
-    if (field == null) {
-      throw new IllegalArgumentException();
-    }
-
-    switch (field) {
-    case AIRAVATA_AUTO_SCHEDULE:
-      return isSetAiravataAutoSchedule();
-    case OVERRIDE_MANUAL_SCHEDULED_PARAMS:
-      return isSetOverrideManualScheduledParams();
-    case SHARE_EXPERIMENT_PUBLICLY:
-      return isSetShareExperimentPublicly();
-    case COMPUTATIONAL_RESOURCE_SCHEDULING:
-      return isSetComputationalResourceScheduling();
-    case ADVANCE_INPUT_DATA_HANDLING:
-      return isSetAdvanceInputDataHandling();
-    case ADVANCE_OUTPUT_DATA_HANDLING:
-      return isSetAdvanceOutputDataHandling();
-    case QOS_PARAMS:
-      return isSetQosParams();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof UserConfigurationData)
-      return this.equals((UserConfigurationData)that);
-    return false;
-  }
-
-  public boolean equals(UserConfigurationData that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_airavataAutoSchedule = true;
-    boolean that_present_airavataAutoSchedule = true;
-    if (this_present_airavataAutoSchedule || that_present_airavataAutoSchedule) {
-      if (!(this_present_airavataAutoSchedule && that_present_airavataAutoSchedule))
-        return false;
-      if (this.airavataAutoSchedule != that.airavataAutoSchedule)
-        return false;
-    }
-
-    boolean this_present_overrideManualScheduledParams = true;
-    boolean that_present_overrideManualScheduledParams = true;
-    if (this_present_overrideManualScheduledParams || that_present_overrideManualScheduledParams) {
-      if (!(this_present_overrideManualScheduledParams && that_present_overrideManualScheduledParams))
-        return false;
-      if (this.overrideManualScheduledParams != that.overrideManualScheduledParams)
-        return false;
-    }
-
-    boolean this_present_shareExperimentPublicly = true && this.isSetShareExperimentPublicly();
-    boolean that_present_shareExperimentPublicly = true && that.isSetShareExperimentPublicly();
-    if (this_present_shareExperimentPublicly || that_present_shareExperimentPublicly) {
-      if (!(this_present_shareExperimentPublicly && that_present_shareExperimentPublicly))
-        return false;
-      if (this.shareExperimentPublicly != that.shareExperimentPublicly)
-        return false;
-    }
-
-    boolean this_present_computationalResourceScheduling = true && this.isSetComputationalResourceScheduling();
-    boolean that_present_computationalResourceScheduling = true && that.isSetComputationalResourceScheduling();
-    if (this_present_computationalResourceScheduling || that_present_computationalResourceScheduling) {
-      if (!(this_present_computationalResourceScheduling && that_present_computationalResourceScheduling))
-        return false;
-      if (!this.computationalResourceScheduling.equals(that.computationalResourceScheduling))
-        return false;
-    }
-
-    boolean this_present_advanceInputDataHandling = true && this.isSetAdvanceInputDataHandling();
-    boolean that_present_advanceInputDataHandling = true && that.isSetAdvanceInputDataHandling();
-    if (this_present_advanceInputDataHandling || that_present_advanceInputDataHandling) {
-      if (!(this_present_advanceInputDataHandling && that_present_advanceInputDataHandling))
-        return false;
-      if (!this.advanceInputDataHandling.equals(that.advanceInputDataHandling))
-        return false;
-    }
-
-    boolean this_present_advanceOutputDataHandling = true && this.isSetAdvanceOutputDataHandling();
-    boolean that_present_advanceOutputDataHandling = true && that.isSetAdvanceOutputDataHandling();
-    if (this_present_advanceOutputDataHandling || that_present_advanceOutputDataHandling) {
-      if (!(this_present_advanceOutputDataHandling && that_present_advanceOutputDataHandling))
-        return false;
-      if (!this.advanceOutputDataHandling.equals(that.advanceOutputDataHandling))
-        return false;
-    }
-
-    boolean this_present_qosParams = true && this.isSetQosParams();
-    boolean that_present_qosParams = true && that.isSetQosParams();
-    if (this_present_qosParams || that_present_qosParams) {
-      if (!(this_present_qosParams && that_present_qosParams))
-        return false;
-      if (!this.qosParams.equals(that.qosParams))
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    return 0;
-  }
-
-  @Override
-  public int compareTo(UserConfigurationData other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = Boolean.valueOf(isSetAiravataAutoSchedule()).compareTo(other.isSetAiravataAutoSchedule());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetAiravataAutoSchedule()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.airavataAutoSchedule, other.airavataAutoSchedule);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetOverrideManualScheduledParams()).compareTo(other.isSetOverrideManualScheduledParams());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetOverrideManualScheduledParams()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.overrideManualScheduledParams, other.overrideManualScheduledParams);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetShareExperimentPublicly()).compareTo(other.isSetShareExperimentPublicly());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetShareExperimentPublicly()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.shareExperimentPublicly, other.shareExperimentPublicly);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetComputationalResourceScheduling()).compareTo(other.isSetComputationalResourceScheduling());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetComputationalResourceScheduling()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.computationalResourceScheduling, other.computationalResourceScheduling);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetAdvanceInputDataHandling()).compareTo(other.isSetAdvanceInputDataHandling());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetAdvanceInputDataHandling()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.advanceInputDataHandling, other.advanceInputDataHandling);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetAdvanceOutputDataHandling()).compareTo(other.isSetAdvanceOutputDataHandling());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetAdvanceOutputDataHandling()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.advanceOutputDataHandling, other.advanceOutputDataHandling);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetQosParams()).compareTo(other.isSetQosParams());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetQosParams()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.qosParams, other.qosParams);
-      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("UserConfigurationData(");
-    boolean first = true;
-
-    sb.append("airavataAutoSchedule:");
-    sb.append(this.airavataAutoSchedule);
-    first = false;
-    if (!first) sb.append(", ");
-    sb.append("overrideManualScheduledParams:");
-    sb.append(this.overrideManualScheduledParams);
-    first = false;
-    if (isSetShareExperimentPublicly()) {
-      if (!first) sb.append(", ");
-      sb.append("shareExperimentPublicly:");
-      sb.append(this.shareExperimentPublicly);
-      first = false;
-    }
-    if (isSetComputationalResourceScheduling()) {
-      if (!first) sb.append(", ");
-      sb.append("computationalResourceScheduling:");
-      if (this.computationalResourceScheduling == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.computationalResourceScheduling);
-      }
-      first = false;
-    }
-    if (isSetAdvanceInputDataHandling()) {
-      if (!first) sb.append(", ");
-      sb.append("advanceInputDataHandling:");
-      if (this.advanceInputDataHandling == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.advanceInputDataHandling);
-      }
-      first = false;
-    }
-    if (isSetAdvanceOutputDataHandling()) {
-      if (!first) sb.append(", ");
-      sb.append("advanceOutputDataHandling:");
-      if (this.advanceOutputDataHandling == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.advanceOutputDataHandling);
-      }
-      first = false;
-    }
-    if (isSetQosParams()) {
-      if (!first) sb.append(", ");
-      sb.append("qosParams:");
-      if (this.qosParams == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.qosParams);
-      }
-      first = false;
-    }
-    sb.append(")");
-    return sb.toString();
-  }
-
-  public void validate() throws org.apache.thrift.TException {
-    // check for required fields
-    if (!isSetAiravataAutoSchedule()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'airavataAutoSchedule' is unset! Struct:" + toString());
-    }
-
-    if (!isSetOverrideManualScheduledParams()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'overrideManualScheduledParams' is unset! Struct:" + toString());
-    }
-
-    // check for sub-struct validity
-    if (computationalResourceScheduling != null) {
-      computationalResourceScheduling.validate();
-    }
-    if (advanceInputDataHandling != null) {
-      advanceInputDataHandling.validate();
-    }
-    if (advanceOutputDataHandling != null) {
-      advanceOutputDataHandling.validate();
-    }
-    if (qosParams != null) {
-      qosParams.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 UserConfigurationDataStandardSchemeFactory implements SchemeFactory {
-    public UserConfigurationDataStandardScheme getScheme() {
-      return new UserConfigurationDataStandardScheme();
-    }
-  }
-
-  private static class UserConfigurationDataStandardScheme extends StandardScheme<UserConfigurationData> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, UserConfigurationData struct) throws org.apache.thrift.TException {
-      org.apache.thrift.protocol.TField schemeField;
-      iprot.readStructBegin();
-      while (true)
-      {
-        schemeField = iprot.readFieldBegin();
-        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-          break;
-        }
-        switch (schemeField.id) {
-          case 1: // AIRAVATA_AUTO_SCHEDULE
-            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
-              struct.airavataAutoSchedule = iprot.readBool();
-              struct.setAiravataAutoScheduleIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 2: // OVERRIDE_MANUAL_SCHEDULED_PARAMS
-            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
-              struct.overrideManualScheduledParams = iprot.readBool();
-              struct.setOverrideManualScheduledParamsIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 3: // SHARE_EXPERIMENT_PUBLICLY
-            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
-              struct.shareExperimentPublicly = iprot.readBool();
-              struct.setShareExperimentPubliclyIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 4: // COMPUTATIONAL_RESOURCE_SCHEDULING
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-              struct.computationalResourceScheduling = new ComputationalResourceScheduling();
-              struct.computationalResourceScheduling.read(iprot);
-              struct.setComputationalResourceSchedulingIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 5: // ADVANCE_INPUT_DATA_HANDLING
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-              struct.advanceInputDataHandling = new AdvancedInputDataHandling();
-              struct.advanceInputDataHandling.read(iprot);
-              struct.setAdvanceInputDataHandlingIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 6: // ADVANCE_OUTPUT_DATA_HANDLING
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-              struct.advanceOutputDataHandling = new AdvancedOutputDataHandling();
-              struct.advanceOutputDataHandling.read(iprot);
-              struct.setAdvanceOutputDataHandlingIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 7: // QOS_PARAMS
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-              struct.qosParams = new QualityOfServiceParams();
-              struct.qosParams.read(iprot);
-              struct.setQosParamsIsSet(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, UserConfigurationData struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      oprot.writeFieldBegin(AIRAVATA_AUTO_SCHEDULE_FIELD_DESC);
-      oprot.writeBool(struct.airavataAutoSchedule);
-      oprot.writeFieldEnd();
-      oprot.writeFieldBegin(OVERRIDE_MANUAL_SCHEDULED_PARAMS_FIELD_DESC);
-      oprot.writeBool(struct.overrideManualScheduledParams);
-      oprot.writeFieldEnd();
-      if (struct.isSetShareExperimentPublicly()) {
-        oprot.writeFieldBegin(SHARE_EXPERIMENT_PUBLICLY_FIELD_DESC);
-        oprot.writeBool(struct.shareExperimentPublicly);
-        oprot.writeFieldEnd();
-      }
-      if (struct.computationalResourceScheduling != null) {
-        if (struct.isSetComputationalResourceScheduling()) {
-          oprot.writeFieldBegin(COMPUTATIONAL_RESOURCE_SCHEDULING_FIELD_DESC);
-          struct.computationalResourceScheduling.write(oprot);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.advanceInputDataHandling != null) {
-        if (struct.isSetAdvanceInputDataHandling()) {
-          oprot.writeFieldBegin(ADVANCE_INPUT_DATA_HANDLING_FIELD_DESC);
-          struct.advanceInputDataHandling.write(oprot);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.advanceOutputDataHandling != null) {
-        if (struct.isSetAdvanceOutputDataHandling()) {
-          oprot.writeFieldBegin(ADVANCE_OUTPUT_DATA_HANDLING_FIELD_DESC);
-          struct.advanceOutputDataHandling.write(oprot);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.qosParams != null) {
-        if (struct.isSetQosParams()) {
-          oprot.writeFieldBegin(QOS_PARAMS_FIELD_DESC);
-          struct.qosParams.write(oprot);
-          oprot.writeFieldEnd();
-        }
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class UserConfigurationDataTupleSchemeFactory implements SchemeFactory {
-    public UserConfigurationDataTupleScheme getScheme() {
-      return new UserConfigurationDataTupleScheme();
-    }
-  }
-
-  private static class UserConfigurationDataTupleScheme extends TupleScheme<UserConfigurationData> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, UserConfigurationData struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      oprot.writeBool(struct.airavataAutoSchedule);
-      oprot.writeBool(struct.overrideManualScheduledParams);
-      BitSet optionals = new BitSet();
-      if (struct.isSetShareExperimentPublicly()) {
-        optionals.set(0);
-      }
-      if (struct.isSetComputationalResourceScheduling()) {
-        optionals.set(1);
-      }
-      if (struct.isSetAdvanceInputDataHandling()) {
-        optionals.set(2);
-      }
-      if (struct.isSetAdvanceOutputDataHandling()) {
-        optionals.set(3);
-      }
-      if (struct.isSetQosParams()) {
-        optionals.set(4);
-      }
-      oprot.writeBitSet(optionals, 5);
-      if (struct.isSetShareExperimentPublicly()) {
-        oprot.writeBool(struct.shareExperimentPublicly);
-      }
-      if (struct.isSetComputationalResourceScheduling()) {
-        struct.computationalResourceScheduling.write(oprot);
-      }
-      if (struct.isSetAdvanceInputDataHandling()) {
-        struct.advanceInputDataHandling.write(oprot);
-      }
-      if (struct.isSetAdvanceOutputDataHandling()) {
-        struct.advanceOutputDataHandling.write(oprot);
-      }
-      if (struct.isSetQosParams()) {
-        struct.qosParams.write(oprot);
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, UserConfigurationData struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      struct.airavataAutoSchedule = iprot.readBool();
-      struct.setAiravataAutoScheduleIsSet(true);
-      struct.overrideManualScheduledParams = iprot.readBool();
-      struct.setOverrideManualScheduledParamsIsSet(true);
-      BitSet incoming = iprot.readBitSet(5);
-      if (incoming.get(0)) {
-        struct.shareExperimentPublicly = iprot.readBool();
-        struct.setShareExperimentPubliclyIsSet(true);
-      }
-      if (incoming.get(1)) {
-        struct.computationalResourceScheduling = new ComputationalResourceScheduling();
-        struct.computationalResourceScheduling.read(iprot);
-        struct.setComputationalResourceSchedulingIsSet(true);
-      }
-      if (incoming.get(2)) {
-        struct.advanceInputDataHandling = new AdvancedInputDataHandling();
-        struct.advanceInputDataHandling.read(iprot);
-        struct.setAdvanceInputDataHandlingIsSet(true);
-      }
-      if (incoming.get(3)) {
-        struct.advanceOutputDataHandling = new AdvancedOutputDataHandling();
-        struct.advanceOutputDataHandling.read(iprot);
-        struct.setAdvanceOutputDataHandlingIsSet(true);
-      }
-      if (incoming.get(4)) {
-        struct.qosParams = new QualityOfServiceParams();
-        struct.qosParams.read(iprot);
-        struct.setQosParamsIsSet(true);
-      }
-    }
-  }
-
-}
-


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

Posted by sm...@apache.org.
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/Experiment.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/Experiment.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/Experiment.java
new file mode 100644
index 0000000..d56b312
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/Experiment.java
@@ -0,0 +1,2400 @@
+    /*
+     * 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 experiment metadata and its child models.
+ * 
+ * userName:
+ *   The user name of the targeted gateway end user on whose behalf the experiment is being created.
+ *     the associated gateway identity can only be inferred from the security hand-shake so as to avoid
+ *     authorized Airavata Clients mimicking an unauthorized request. If a gateway is not registered with
+ *     Airavata, an authorization exception is thrown.
+ * 
+ * experimentName:
+ *   The name of the experiment as defined by the user. The name need not be unique as uniqueness is enforced
+ *      by the generated experiment id.
+ * 
+ * experimentDescription:
+ *    The verbose description of the experiment. This is an optional parameter.
+ */
+@SuppressWarnings("all") public class Experiment implements org.apache.thrift.TBase<Experiment, Experiment._Fields>, java.io.Serializable, Cloneable, Comparable<Experiment> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Experiment");
+
+  private static final org.apache.thrift.protocol.TField EXPERIMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentID", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField PROJECT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("projectID", org.apache.thrift.protocol.TType.STRING, (short)2);
+  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)3);
+  private static final org.apache.thrift.protocol.TField USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userName", org.apache.thrift.protocol.TType.STRING, (short)4);
+  private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)5);
+  private static final org.apache.thrift.protocol.TField DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("description", org.apache.thrift.protocol.TType.STRING, (short)6);
+  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)7);
+  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)8);
+  private static final org.apache.thrift.protocol.TField WORKFLOW_TEMPLATE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("workflowTemplateId", org.apache.thrift.protocol.TType.STRING, (short)9);
+  private static final org.apache.thrift.protocol.TField WORKFLOW_TEMPLATE_VERSION_FIELD_DESC = new org.apache.thrift.protocol.TField("workflowTemplateVersion", org.apache.thrift.protocol.TType.STRING, (short)10);
+  private static final org.apache.thrift.protocol.TField USER_CONFIGURATION_DATA_FIELD_DESC = new org.apache.thrift.protocol.TField("userConfigurationData", org.apache.thrift.protocol.TType.STRUCT, (short)11);
+  private static final org.apache.thrift.protocol.TField WORKFLOW_EXECUTION_INSTANCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("workflowExecutionInstanceId", org.apache.thrift.protocol.TType.STRING, (short)12);
+  private static final org.apache.thrift.protocol.TField EXPERIMENT_INPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentInputs", org.apache.thrift.protocol.TType.LIST, (short)13);
+  private static final org.apache.thrift.protocol.TField EXPERIMENT_OUTPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentOutputs", org.apache.thrift.protocol.TType.LIST, (short)14);
+  private static final org.apache.thrift.protocol.TField EXPERIMENT_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentStatus", org.apache.thrift.protocol.TType.STRUCT, (short)15);
+  private static final org.apache.thrift.protocol.TField STATE_CHANGE_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("stateChangeList", org.apache.thrift.protocol.TType.LIST, (short)16);
+  private static final org.apache.thrift.protocol.TField WORKFLOW_NODE_DETAILS_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("workflowNodeDetailsList", org.apache.thrift.protocol.TType.LIST, (short)17);
+  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)18);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new ExperimentStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new ExperimentTupleSchemeFactory());
+  }
+
+  private String experimentID; // required
+  private String projectID; // required
+  private long creationTime; // optional
+  private String userName; // required
+  private String name; // required
+  private String description; // optional
+  private String applicationId; // optional
+  private String applicationVersion; // optional
+  private String workflowTemplateId; // optional
+  private String workflowTemplateVersion; // optional
+  private UserConfigurationData userConfigurationData; // optional
+  private String workflowExecutionInstanceId; // optional
+  private List<DataObjectType> experimentInputs; // optional
+  private List<DataObjectType> experimentOutputs; // optional
+  private ExperimentStatus experimentStatus; // optional
+  private List<WorkflowNodeStatus> stateChangeList; // optional
+  private List<WorkflowNodeDetails> workflowNodeDetailsList; // 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 {
+    EXPERIMENT_ID((short)1, "experimentID"),
+    PROJECT_ID((short)2, "projectID"),
+    CREATION_TIME((short)3, "creationTime"),
+    USER_NAME((short)4, "userName"),
+    NAME((short)5, "name"),
+    DESCRIPTION((short)6, "description"),
+    APPLICATION_ID((short)7, "applicationId"),
+    APPLICATION_VERSION((short)8, "applicationVersion"),
+    WORKFLOW_TEMPLATE_ID((short)9, "workflowTemplateId"),
+    WORKFLOW_TEMPLATE_VERSION((short)10, "workflowTemplateVersion"),
+    USER_CONFIGURATION_DATA((short)11, "userConfigurationData"),
+    WORKFLOW_EXECUTION_INSTANCE_ID((short)12, "workflowExecutionInstanceId"),
+    EXPERIMENT_INPUTS((short)13, "experimentInputs"),
+    EXPERIMENT_OUTPUTS((short)14, "experimentOutputs"),
+    EXPERIMENT_STATUS((short)15, "experimentStatus"),
+    STATE_CHANGE_LIST((short)16, "stateChangeList"),
+    WORKFLOW_NODE_DETAILS_LIST((short)17, "workflowNodeDetailsList"),
+    ERRORS((short)18, "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: // EXPERIMENT_ID
+          return EXPERIMENT_ID;
+        case 2: // PROJECT_ID
+          return PROJECT_ID;
+        case 3: // CREATION_TIME
+          return CREATION_TIME;
+        case 4: // USER_NAME
+          return USER_NAME;
+        case 5: // NAME
+          return NAME;
+        case 6: // DESCRIPTION
+          return DESCRIPTION;
+        case 7: // APPLICATION_ID
+          return APPLICATION_ID;
+        case 8: // APPLICATION_VERSION
+          return APPLICATION_VERSION;
+        case 9: // WORKFLOW_TEMPLATE_ID
+          return WORKFLOW_TEMPLATE_ID;
+        case 10: // WORKFLOW_TEMPLATE_VERSION
+          return WORKFLOW_TEMPLATE_VERSION;
+        case 11: // USER_CONFIGURATION_DATA
+          return USER_CONFIGURATION_DATA;
+        case 12: // WORKFLOW_EXECUTION_INSTANCE_ID
+          return WORKFLOW_EXECUTION_INSTANCE_ID;
+        case 13: // EXPERIMENT_INPUTS
+          return EXPERIMENT_INPUTS;
+        case 14: // EXPERIMENT_OUTPUTS
+          return EXPERIMENT_OUTPUTS;
+        case 15: // EXPERIMENT_STATUS
+          return EXPERIMENT_STATUS;
+        case 16: // STATE_CHANGE_LIST
+          return STATE_CHANGE_LIST;
+        case 17: // WORKFLOW_NODE_DETAILS_LIST
+          return WORKFLOW_NODE_DETAILS_LIST;
+        case 18: // 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.DESCRIPTION,_Fields.APPLICATION_ID,_Fields.APPLICATION_VERSION,_Fields.WORKFLOW_TEMPLATE_ID,_Fields.WORKFLOW_TEMPLATE_VERSION,_Fields.USER_CONFIGURATION_DATA,_Fields.WORKFLOW_EXECUTION_INSTANCE_ID,_Fields.EXPERIMENT_INPUTS,_Fields.EXPERIMENT_OUTPUTS,_Fields.EXPERIMENT_STATUS,_Fields.STATE_CHANGE_LIST,_Fields.WORKFLOW_NODE_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.EXPERIMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("experimentID", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.PROJECT_ID, new org.apache.thrift.meta_data.FieldMetaData("projectID", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.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.USER_NAME, new org.apache.thrift.meta_data.FieldMetaData("userName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("description", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    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.WORKFLOW_TEMPLATE_ID, new org.apache.thrift.meta_data.FieldMetaData("workflowTemplateId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.WORKFLOW_TEMPLATE_VERSION, new org.apache.thrift.meta_data.FieldMetaData("workflowTemplateVersion", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.USER_CONFIGURATION_DATA, new org.apache.thrift.meta_data.FieldMetaData("userConfigurationData", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, UserConfigurationData.class)));
+    tmpMap.put(_Fields.WORKFLOW_EXECUTION_INSTANCE_ID, new org.apache.thrift.meta_data.FieldMetaData("workflowExecutionInstanceId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.EXPERIMENT_INPUTS, new org.apache.thrift.meta_data.FieldMetaData("experimentInputs", 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.EXPERIMENT_OUTPUTS, new org.apache.thrift.meta_data.FieldMetaData("experimentOutputs", 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.EXPERIMENT_STATUS, new org.apache.thrift.meta_data.FieldMetaData("experimentStatus", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ExperimentStatus.class)));
+    tmpMap.put(_Fields.STATE_CHANGE_LIST, new org.apache.thrift.meta_data.FieldMetaData("stateChangeList", 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, WorkflowNodeStatus.class))));
+    tmpMap.put(_Fields.WORKFLOW_NODE_DETAILS_LIST, new org.apache.thrift.meta_data.FieldMetaData("workflowNodeDetailsList", 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, WorkflowNodeDetails.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(Experiment.class, metaDataMap);
+  }
+
+  public Experiment() {
+    this.experimentID = "DO_NOT_SET_AT_CLIENTS";
+
+    this.projectID = "DEFAULT";
+
+  }
+
+  public Experiment(
+    String experimentID,
+    String projectID,
+    String userName,
+    String name)
+  {
+    this();
+    this.experimentID = experimentID;
+    this.projectID = projectID;
+    this.userName = userName;
+    this.name = name;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public Experiment(Experiment other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.isSetExperimentID()) {
+      this.experimentID = other.experimentID;
+    }
+    if (other.isSetProjectID()) {
+      this.projectID = other.projectID;
+    }
+    this.creationTime = other.creationTime;
+    if (other.isSetUserName()) {
+      this.userName = other.userName;
+    }
+    if (other.isSetName()) {
+      this.name = other.name;
+    }
+    if (other.isSetDescription()) {
+      this.description = other.description;
+    }
+    if (other.isSetApplicationId()) {
+      this.applicationId = other.applicationId;
+    }
+    if (other.isSetApplicationVersion()) {
+      this.applicationVersion = other.applicationVersion;
+    }
+    if (other.isSetWorkflowTemplateId()) {
+      this.workflowTemplateId = other.workflowTemplateId;
+    }
+    if (other.isSetWorkflowTemplateVersion()) {
+      this.workflowTemplateVersion = other.workflowTemplateVersion;
+    }
+    if (other.isSetUserConfigurationData()) {
+      this.userConfigurationData = new UserConfigurationData(other.userConfigurationData);
+    }
+    if (other.isSetWorkflowExecutionInstanceId()) {
+      this.workflowExecutionInstanceId = other.workflowExecutionInstanceId;
+    }
+    if (other.isSetExperimentInputs()) {
+      List<DataObjectType> __this__experimentInputs = new ArrayList<DataObjectType>(other.experimentInputs.size());
+      for (DataObjectType other_element : other.experimentInputs) {
+        __this__experimentInputs.add(new DataObjectType(other_element));
+      }
+      this.experimentInputs = __this__experimentInputs;
+    }
+    if (other.isSetExperimentOutputs()) {
+      List<DataObjectType> __this__experimentOutputs = new ArrayList<DataObjectType>(other.experimentOutputs.size());
+      for (DataObjectType other_element : other.experimentOutputs) {
+        __this__experimentOutputs.add(new DataObjectType(other_element));
+      }
+      this.experimentOutputs = __this__experimentOutputs;
+    }
+    if (other.isSetExperimentStatus()) {
+      this.experimentStatus = new ExperimentStatus(other.experimentStatus);
+    }
+    if (other.isSetStateChangeList()) {
+      List<WorkflowNodeStatus> __this__stateChangeList = new ArrayList<WorkflowNodeStatus>(other.stateChangeList.size());
+      for (WorkflowNodeStatus other_element : other.stateChangeList) {
+        __this__stateChangeList.add(new WorkflowNodeStatus(other_element));
+      }
+      this.stateChangeList = __this__stateChangeList;
+    }
+    if (other.isSetWorkflowNodeDetailsList()) {
+      List<WorkflowNodeDetails> __this__workflowNodeDetailsList = new ArrayList<WorkflowNodeDetails>(other.workflowNodeDetailsList.size());
+      for (WorkflowNodeDetails other_element : other.workflowNodeDetailsList) {
+        __this__workflowNodeDetailsList.add(new WorkflowNodeDetails(other_element));
+      }
+      this.workflowNodeDetailsList = __this__workflowNodeDetailsList;
+    }
+    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 Experiment deepCopy() {
+    return new Experiment(this);
+  }
+
+  @Override
+  public void clear() {
+    this.experimentID = "DO_NOT_SET_AT_CLIENTS";
+
+    this.projectID = "DEFAULT";
+
+    setCreationTimeIsSet(false);
+    this.creationTime = 0;
+    this.userName = null;
+    this.name = null;
+    this.description = null;
+    this.applicationId = null;
+    this.applicationVersion = null;
+    this.workflowTemplateId = null;
+    this.workflowTemplateVersion = null;
+    this.userConfigurationData = null;
+    this.workflowExecutionInstanceId = null;
+    this.experimentInputs = null;
+    this.experimentOutputs = null;
+    this.experimentStatus = null;
+    this.stateChangeList = null;
+    this.workflowNodeDetailsList = null;
+    this.errors = null;
+  }
+
+  public String getExperimentID() {
+    return this.experimentID;
+  }
+
+  public void setExperimentID(String experimentID) {
+    this.experimentID = experimentID;
+  }
+
+  public void unsetExperimentID() {
+    this.experimentID = null;
+  }
+
+  /** Returns true if field experimentID is set (has been assigned a value) and false otherwise */
+  public boolean isSetExperimentID() {
+    return this.experimentID != null;
+  }
+
+  public void setExperimentIDIsSet(boolean value) {
+    if (!value) {
+      this.experimentID = null;
+    }
+  }
+
+  public String getProjectID() {
+    return this.projectID;
+  }
+
+  public void setProjectID(String projectID) {
+    this.projectID = projectID;
+  }
+
+  public void unsetProjectID() {
+    this.projectID = null;
+  }
+
+  /** Returns true if field projectID is set (has been assigned a value) and false otherwise */
+  public boolean isSetProjectID() {
+    return this.projectID != null;
+  }
+
+  public void setProjectIDIsSet(boolean value) {
+    if (!value) {
+      this.projectID = null;
+    }
+  }
+
+  public 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 getUserName() {
+    return this.userName;
+  }
+
+  public void setUserName(String userName) {
+    this.userName = userName;
+  }
+
+  public void unsetUserName() {
+    this.userName = null;
+  }
+
+  /** Returns true if field userName is set (has been assigned a value) and false otherwise */
+  public boolean isSetUserName() {
+    return this.userName != null;
+  }
+
+  public void setUserNameIsSet(boolean value) {
+    if (!value) {
+      this.userName = null;
+    }
+  }
+
+  public String getName() {
+    return this.name;
+  }
+
+  public void setName(String name) {
+    this.name = name;
+  }
+
+  public void unsetName() {
+    this.name = null;
+  }
+
+  /** Returns true if field name is set (has been assigned a value) and false otherwise */
+  public boolean isSetName() {
+    return this.name != null;
+  }
+
+  public void setNameIsSet(boolean value) {
+    if (!value) {
+      this.name = null;
+    }
+  }
+
+  public String getDescription() {
+    return this.description;
+  }
+
+  public void setDescription(String description) {
+    this.description = description;
+  }
+
+  public void unsetDescription() {
+    this.description = null;
+  }
+
+  /** Returns true if field description is set (has been assigned a value) and false otherwise */
+  public boolean isSetDescription() {
+    return this.description != null;
+  }
+
+  public void setDescriptionIsSet(boolean value) {
+    if (!value) {
+      this.description = null;
+    }
+  }
+
+  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 String getWorkflowTemplateId() {
+    return this.workflowTemplateId;
+  }
+
+  public void setWorkflowTemplateId(String workflowTemplateId) {
+    this.workflowTemplateId = workflowTemplateId;
+  }
+
+  public void unsetWorkflowTemplateId() {
+    this.workflowTemplateId = null;
+  }
+
+  /** Returns true if field workflowTemplateId is set (has been assigned a value) and false otherwise */
+  public boolean isSetWorkflowTemplateId() {
+    return this.workflowTemplateId != null;
+  }
+
+  public void setWorkflowTemplateIdIsSet(boolean value) {
+    if (!value) {
+      this.workflowTemplateId = null;
+    }
+  }
+
+  public String getWorkflowTemplateVersion() {
+    return this.workflowTemplateVersion;
+  }
+
+  public void setWorkflowTemplateVersion(String workflowTemplateVersion) {
+    this.workflowTemplateVersion = workflowTemplateVersion;
+  }
+
+  public void unsetWorkflowTemplateVersion() {
+    this.workflowTemplateVersion = null;
+  }
+
+  /** Returns true if field workflowTemplateVersion is set (has been assigned a value) and false otherwise */
+  public boolean isSetWorkflowTemplateVersion() {
+    return this.workflowTemplateVersion != null;
+  }
+
+  public void setWorkflowTemplateVersionIsSet(boolean value) {
+    if (!value) {
+      this.workflowTemplateVersion = null;
+    }
+  }
+
+  public UserConfigurationData getUserConfigurationData() {
+    return this.userConfigurationData;
+  }
+
+  public void setUserConfigurationData(UserConfigurationData userConfigurationData) {
+    this.userConfigurationData = userConfigurationData;
+  }
+
+  public void unsetUserConfigurationData() {
+    this.userConfigurationData = null;
+  }
+
+  /** Returns true if field userConfigurationData is set (has been assigned a value) and false otherwise */
+  public boolean isSetUserConfigurationData() {
+    return this.userConfigurationData != null;
+  }
+
+  public void setUserConfigurationDataIsSet(boolean value) {
+    if (!value) {
+      this.userConfigurationData = null;
+    }
+  }
+
+  public String getWorkflowExecutionInstanceId() {
+    return this.workflowExecutionInstanceId;
+  }
+
+  public void setWorkflowExecutionInstanceId(String workflowExecutionInstanceId) {
+    this.workflowExecutionInstanceId = workflowExecutionInstanceId;
+  }
+
+  public void unsetWorkflowExecutionInstanceId() {
+    this.workflowExecutionInstanceId = null;
+  }
+
+  /** Returns true if field workflowExecutionInstanceId is set (has been assigned a value) and false otherwise */
+  public boolean isSetWorkflowExecutionInstanceId() {
+    return this.workflowExecutionInstanceId != null;
+  }
+
+  public void setWorkflowExecutionInstanceIdIsSet(boolean value) {
+    if (!value) {
+      this.workflowExecutionInstanceId = null;
+    }
+  }
+
+  public int getExperimentInputsSize() {
+    return (this.experimentInputs == null) ? 0 : this.experimentInputs.size();
+  }
+
+  public java.util.Iterator<DataObjectType> getExperimentInputsIterator() {
+    return (this.experimentInputs == null) ? null : this.experimentInputs.iterator();
+  }
+
+  public void addToExperimentInputs(DataObjectType elem) {
+    if (this.experimentInputs == null) {
+      this.experimentInputs = new ArrayList<DataObjectType>();
+    }
+    this.experimentInputs.add(elem);
+  }
+
+  public List<DataObjectType> getExperimentInputs() {
+    return this.experimentInputs;
+  }
+
+  public void setExperimentInputs(List<DataObjectType> experimentInputs) {
+    this.experimentInputs = experimentInputs;
+  }
+
+  public void unsetExperimentInputs() {
+    this.experimentInputs = null;
+  }
+
+  /** Returns true if field experimentInputs is set (has been assigned a value) and false otherwise */
+  public boolean isSetExperimentInputs() {
+    return this.experimentInputs != null;
+  }
+
+  public void setExperimentInputsIsSet(boolean value) {
+    if (!value) {
+      this.experimentInputs = null;
+    }
+  }
+
+  public int getExperimentOutputsSize() {
+    return (this.experimentOutputs == null) ? 0 : this.experimentOutputs.size();
+  }
+
+  public java.util.Iterator<DataObjectType> getExperimentOutputsIterator() {
+    return (this.experimentOutputs == null) ? null : this.experimentOutputs.iterator();
+  }
+
+  public void addToExperimentOutputs(DataObjectType elem) {
+    if (this.experimentOutputs == null) {
+      this.experimentOutputs = new ArrayList<DataObjectType>();
+    }
+    this.experimentOutputs.add(elem);
+  }
+
+  public List<DataObjectType> getExperimentOutputs() {
+    return this.experimentOutputs;
+  }
+
+  public void setExperimentOutputs(List<DataObjectType> experimentOutputs) {
+    this.experimentOutputs = experimentOutputs;
+  }
+
+  public void unsetExperimentOutputs() {
+    this.experimentOutputs = null;
+  }
+
+  /** Returns true if field experimentOutputs is set (has been assigned a value) and false otherwise */
+  public boolean isSetExperimentOutputs() {
+    return this.experimentOutputs != null;
+  }
+
+  public void setExperimentOutputsIsSet(boolean value) {
+    if (!value) {
+      this.experimentOutputs = null;
+    }
+  }
+
+  public ExperimentStatus getExperimentStatus() {
+    return this.experimentStatus;
+  }
+
+  public void setExperimentStatus(ExperimentStatus experimentStatus) {
+    this.experimentStatus = experimentStatus;
+  }
+
+  public void unsetExperimentStatus() {
+    this.experimentStatus = null;
+  }
+
+  /** Returns true if field experimentStatus is set (has been assigned a value) and false otherwise */
+  public boolean isSetExperimentStatus() {
+    return this.experimentStatus != null;
+  }
+
+  public void setExperimentStatusIsSet(boolean value) {
+    if (!value) {
+      this.experimentStatus = null;
+    }
+  }
+
+  public int getStateChangeListSize() {
+    return (this.stateChangeList == null) ? 0 : this.stateChangeList.size();
+  }
+
+  public java.util.Iterator<WorkflowNodeStatus> getStateChangeListIterator() {
+    return (this.stateChangeList == null) ? null : this.stateChangeList.iterator();
+  }
+
+  public void addToStateChangeList(WorkflowNodeStatus elem) {
+    if (this.stateChangeList == null) {
+      this.stateChangeList = new ArrayList<WorkflowNodeStatus>();
+    }
+    this.stateChangeList.add(elem);
+  }
+
+  public List<WorkflowNodeStatus> getStateChangeList() {
+    return this.stateChangeList;
+  }
+
+  public void setStateChangeList(List<WorkflowNodeStatus> stateChangeList) {
+    this.stateChangeList = stateChangeList;
+  }
+
+  public void unsetStateChangeList() {
+    this.stateChangeList = null;
+  }
+
+  /** Returns true if field stateChangeList is set (has been assigned a value) and false otherwise */
+  public boolean isSetStateChangeList() {
+    return this.stateChangeList != null;
+  }
+
+  public void setStateChangeListIsSet(boolean value) {
+    if (!value) {
+      this.stateChangeList = null;
+    }
+  }
+
+  public int getWorkflowNodeDetailsListSize() {
+    return (this.workflowNodeDetailsList == null) ? 0 : this.workflowNodeDetailsList.size();
+  }
+
+  public java.util.Iterator<WorkflowNodeDetails> getWorkflowNodeDetailsListIterator() {
+    return (this.workflowNodeDetailsList == null) ? null : this.workflowNodeDetailsList.iterator();
+  }
+
+  public void addToWorkflowNodeDetailsList(WorkflowNodeDetails elem) {
+    if (this.workflowNodeDetailsList == null) {
+      this.workflowNodeDetailsList = new ArrayList<WorkflowNodeDetails>();
+    }
+    this.workflowNodeDetailsList.add(elem);
+  }
+
+  public List<WorkflowNodeDetails> getWorkflowNodeDetailsList() {
+    return this.workflowNodeDetailsList;
+  }
+
+  public void setWorkflowNodeDetailsList(List<WorkflowNodeDetails> workflowNodeDetailsList) {
+    this.workflowNodeDetailsList = workflowNodeDetailsList;
+  }
+
+  public void unsetWorkflowNodeDetailsList() {
+    this.workflowNodeDetailsList = null;
+  }
+
+  /** Returns true if field workflowNodeDetailsList is set (has been assigned a value) and false otherwise */
+  public boolean isSetWorkflowNodeDetailsList() {
+    return this.workflowNodeDetailsList != null;
+  }
+
+  public void setWorkflowNodeDetailsListIsSet(boolean value) {
+    if (!value) {
+      this.workflowNodeDetailsList = 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 EXPERIMENT_ID:
+      if (value == null) {
+        unsetExperimentID();
+      } else {
+        setExperimentID((String)value);
+      }
+      break;
+
+    case PROJECT_ID:
+      if (value == null) {
+        unsetProjectID();
+      } else {
+        setProjectID((String)value);
+      }
+      break;
+
+    case CREATION_TIME:
+      if (value == null) {
+        unsetCreationTime();
+      } else {
+        setCreationTime((Long)value);
+      }
+      break;
+
+    case USER_NAME:
+      if (value == null) {
+        unsetUserName();
+      } else {
+        setUserName((String)value);
+      }
+      break;
+
+    case NAME:
+      if (value == null) {
+        unsetName();
+      } else {
+        setName((String)value);
+      }
+      break;
+
+    case DESCRIPTION:
+      if (value == null) {
+        unsetDescription();
+      } else {
+        setDescription((String)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 WORKFLOW_TEMPLATE_ID:
+      if (value == null) {
+        unsetWorkflowTemplateId();
+      } else {
+        setWorkflowTemplateId((String)value);
+      }
+      break;
+
+    case WORKFLOW_TEMPLATE_VERSION:
+      if (value == null) {
+        unsetWorkflowTemplateVersion();
+      } else {
+        setWorkflowTemplateVersion((String)value);
+      }
+      break;
+
+    case USER_CONFIGURATION_DATA:
+      if (value == null) {
+        unsetUserConfigurationData();
+      } else {
+        setUserConfigurationData((UserConfigurationData)value);
+      }
+      break;
+
+    case WORKFLOW_EXECUTION_INSTANCE_ID:
+      if (value == null) {
+        unsetWorkflowExecutionInstanceId();
+      } else {
+        setWorkflowExecutionInstanceId((String)value);
+      }
+      break;
+
+    case EXPERIMENT_INPUTS:
+      if (value == null) {
+        unsetExperimentInputs();
+      } else {
+        setExperimentInputs((List<DataObjectType>)value);
+      }
+      break;
+
+    case EXPERIMENT_OUTPUTS:
+      if (value == null) {
+        unsetExperimentOutputs();
+      } else {
+        setExperimentOutputs((List<DataObjectType>)value);
+      }
+      break;
+
+    case EXPERIMENT_STATUS:
+      if (value == null) {
+        unsetExperimentStatus();
+      } else {
+        setExperimentStatus((ExperimentStatus)value);
+      }
+      break;
+
+    case STATE_CHANGE_LIST:
+      if (value == null) {
+        unsetStateChangeList();
+      } else {
+        setStateChangeList((List<WorkflowNodeStatus>)value);
+      }
+      break;
+
+    case WORKFLOW_NODE_DETAILS_LIST:
+      if (value == null) {
+        unsetWorkflowNodeDetailsList();
+      } else {
+        setWorkflowNodeDetailsList((List<WorkflowNodeDetails>)value);
+      }
+      break;
+
+    case ERRORS:
+      if (value == null) {
+        unsetErrors();
+      } else {
+        setErrors((List<ErrorDetails>)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case EXPERIMENT_ID:
+      return getExperimentID();
+
+    case PROJECT_ID:
+      return getProjectID();
+
+    case CREATION_TIME:
+      return Long.valueOf(getCreationTime());
+
+    case USER_NAME:
+      return getUserName();
+
+    case NAME:
+      return getName();
+
+    case DESCRIPTION:
+      return getDescription();
+
+    case APPLICATION_ID:
+      return getApplicationId();
+
+    case APPLICATION_VERSION:
+      return getApplicationVersion();
+
+    case WORKFLOW_TEMPLATE_ID:
+      return getWorkflowTemplateId();
+
+    case WORKFLOW_TEMPLATE_VERSION:
+      return getWorkflowTemplateVersion();
+
+    case USER_CONFIGURATION_DATA:
+      return getUserConfigurationData();
+
+    case WORKFLOW_EXECUTION_INSTANCE_ID:
+      return getWorkflowExecutionInstanceId();
+
+    case EXPERIMENT_INPUTS:
+      return getExperimentInputs();
+
+    case EXPERIMENT_OUTPUTS:
+      return getExperimentOutputs();
+
+    case EXPERIMENT_STATUS:
+      return getExperimentStatus();
+
+    case STATE_CHANGE_LIST:
+      return getStateChangeList();
+
+    case WORKFLOW_NODE_DETAILS_LIST:
+      return getWorkflowNodeDetailsList();
+
+    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 EXPERIMENT_ID:
+      return isSetExperimentID();
+    case PROJECT_ID:
+      return isSetProjectID();
+    case CREATION_TIME:
+      return isSetCreationTime();
+    case USER_NAME:
+      return isSetUserName();
+    case NAME:
+      return isSetName();
+    case DESCRIPTION:
+      return isSetDescription();
+    case APPLICATION_ID:
+      return isSetApplicationId();
+    case APPLICATION_VERSION:
+      return isSetApplicationVersion();
+    case WORKFLOW_TEMPLATE_ID:
+      return isSetWorkflowTemplateId();
+    case WORKFLOW_TEMPLATE_VERSION:
+      return isSetWorkflowTemplateVersion();
+    case USER_CONFIGURATION_DATA:
+      return isSetUserConfigurationData();
+    case WORKFLOW_EXECUTION_INSTANCE_ID:
+      return isSetWorkflowExecutionInstanceId();
+    case EXPERIMENT_INPUTS:
+      return isSetExperimentInputs();
+    case EXPERIMENT_OUTPUTS:
+      return isSetExperimentOutputs();
+    case EXPERIMENT_STATUS:
+      return isSetExperimentStatus();
+    case STATE_CHANGE_LIST:
+      return isSetStateChangeList();
+    case WORKFLOW_NODE_DETAILS_LIST:
+      return isSetWorkflowNodeDetailsList();
+    case ERRORS:
+      return isSetErrors();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof Experiment)
+      return this.equals((Experiment)that);
+    return false;
+  }
+
+  public boolean equals(Experiment that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_experimentID = true && this.isSetExperimentID();
+    boolean that_present_experimentID = true && that.isSetExperimentID();
+    if (this_present_experimentID || that_present_experimentID) {
+      if (!(this_present_experimentID && that_present_experimentID))
+        return false;
+      if (!this.experimentID.equals(that.experimentID))
+        return false;
+    }
+
+    boolean this_present_projectID = true && this.isSetProjectID();
+    boolean that_present_projectID = true && that.isSetProjectID();
+    if (this_present_projectID || that_present_projectID) {
+      if (!(this_present_projectID && that_present_projectID))
+        return false;
+      if (!this.projectID.equals(that.projectID))
+        return false;
+    }
+
+    boolean this_present_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_userName = true && this.isSetUserName();
+    boolean that_present_userName = true && that.isSetUserName();
+    if (this_present_userName || that_present_userName) {
+      if (!(this_present_userName && that_present_userName))
+        return false;
+      if (!this.userName.equals(that.userName))
+        return false;
+    }
+
+    boolean this_present_name = true && this.isSetName();
+    boolean that_present_name = true && that.isSetName();
+    if (this_present_name || that_present_name) {
+      if (!(this_present_name && that_present_name))
+        return false;
+      if (!this.name.equals(that.name))
+        return false;
+    }
+
+    boolean this_present_description = true && this.isSetDescription();
+    boolean that_present_description = true && that.isSetDescription();
+    if (this_present_description || that_present_description) {
+      if (!(this_present_description && that_present_description))
+        return false;
+      if (!this.description.equals(that.description))
+        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_workflowTemplateId = true && this.isSetWorkflowTemplateId();
+    boolean that_present_workflowTemplateId = true && that.isSetWorkflowTemplateId();
+    if (this_present_workflowTemplateId || that_present_workflowTemplateId) {
+      if (!(this_present_workflowTemplateId && that_present_workflowTemplateId))
+        return false;
+      if (!this.workflowTemplateId.equals(that.workflowTemplateId))
+        return false;
+    }
+
+    boolean this_present_workflowTemplateVersion = true && this.isSetWorkflowTemplateVersion();
+    boolean that_present_workflowTemplateVersion = true && that.isSetWorkflowTemplateVersion();
+    if (this_present_workflowTemplateVersion || that_present_workflowTemplateVersion) {
+      if (!(this_present_workflowTemplateVersion && that_present_workflowTemplateVersion))
+        return false;
+      if (!this.workflowTemplateVersion.equals(that.workflowTemplateVersion))
+        return false;
+    }
+
+    boolean this_present_userConfigurationData = true && this.isSetUserConfigurationData();
+    boolean that_present_userConfigurationData = true && that.isSetUserConfigurationData();
+    if (this_present_userConfigurationData || that_present_userConfigurationData) {
+      if (!(this_present_userConfigurationData && that_present_userConfigurationData))
+        return false;
+      if (!this.userConfigurationData.equals(that.userConfigurationData))
+        return false;
+    }
+
+    boolean this_present_workflowExecutionInstanceId = true && this.isSetWorkflowExecutionInstanceId();
+    boolean that_present_workflowExecutionInstanceId = true && that.isSetWorkflowExecutionInstanceId();
+    if (this_present_workflowExecutionInstanceId || that_present_workflowExecutionInstanceId) {
+      if (!(this_present_workflowExecutionInstanceId && that_present_workflowExecutionInstanceId))
+        return false;
+      if (!this.workflowExecutionInstanceId.equals(that.workflowExecutionInstanceId))
+        return false;
+    }
+
+    boolean this_present_experimentInputs = true && this.isSetExperimentInputs();
+    boolean that_present_experimentInputs = true && that.isSetExperimentInputs();
+    if (this_present_experimentInputs || that_present_experimentInputs) {
+      if (!(this_present_experimentInputs && that_present_experimentInputs))
+        return false;
+      if (!this.experimentInputs.equals(that.experimentInputs))
+        return false;
+    }
+
+    boolean this_present_experimentOutputs = true && this.isSetExperimentOutputs();
+    boolean that_present_experimentOutputs = true && that.isSetExperimentOutputs();
+    if (this_present_experimentOutputs || that_present_experimentOutputs) {
+      if (!(this_present_experimentOutputs && that_present_experimentOutputs))
+        return false;
+      if (!this.experimentOutputs.equals(that.experimentOutputs))
+        return false;
+    }
+
+    boolean this_present_experimentStatus = true && this.isSetExperimentStatus();
+    boolean that_present_experimentStatus = true && that.isSetExperimentStatus();
+    if (this_present_experimentStatus || that_present_experimentStatus) {
+      if (!(this_present_experimentStatus && that_present_experimentStatus))
+        return false;
+      if (!this.experimentStatus.equals(that.experimentStatus))
+        return false;
+    }
+
+    boolean this_present_stateChangeList = true && this.isSetStateChangeList();
+    boolean that_present_stateChangeList = true && that.isSetStateChangeList();
+    if (this_present_stateChangeList || that_present_stateChangeList) {
+      if (!(this_present_stateChangeList && that_present_stateChangeList))
+        return false;
+      if (!this.stateChangeList.equals(that.stateChangeList))
+        return false;
+    }
+
+    boolean this_present_workflowNodeDetailsList = true && this.isSetWorkflowNodeDetailsList();
+    boolean that_present_workflowNodeDetailsList = true && that.isSetWorkflowNodeDetailsList();
+    if (this_present_workflowNodeDetailsList || that_present_workflowNodeDetailsList) {
+      if (!(this_present_workflowNodeDetailsList && that_present_workflowNodeDetailsList))
+        return false;
+      if (!this.workflowNodeDetailsList.equals(that.workflowNodeDetailsList))
+        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(Experiment other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetExperimentID()).compareTo(other.isSetExperimentID());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetExperimentID()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentID, other.experimentID);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetProjectID()).compareTo(other.isSetProjectID());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetProjectID()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.projectID, other.projectID);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(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(isSetUserName()).compareTo(other.isSetUserName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetUserName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userName, other.userName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDescription()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.description, other.description);
+      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(isSetWorkflowTemplateId()).compareTo(other.isSetWorkflowTemplateId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetWorkflowTemplateId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.workflowTemplateId, other.workflowTemplateId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetWorkflowTemplateVersion()).compareTo(other.isSetWorkflowTemplateVersion());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetWorkflowTemplateVersion()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.workflowTemplateVersion, other.workflowTemplateVersion);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetUserConfigurationData()).compareTo(other.isSetUserConfigurationData());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetUserConfigurationData()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userConfigurationData, other.userConfigurationData);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetWorkflowExecutionInstanceId()).compareTo(other.isSetWorkflowExecutionInstanceId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetWorkflowExecutionInstanceId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.workflowExecutionInstanceId, other.workflowExecutionInstanceId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetExperimentInputs()).compareTo(other.isSetExperimentInputs());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetExperimentInputs()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentInputs, other.experimentInputs);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetExperimentOutputs()).compareTo(other.isSetExperimentOutputs());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetExperimentOutputs()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentOutputs, other.experimentOutputs);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetExperimentStatus()).compareTo(other.isSetExperimentStatus());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetExperimentStatus()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentStatus, other.experimentStatus);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetStateChangeList()).compareTo(other.isSetStateChangeList());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetStateChangeList()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.stateChangeList, other.stateChangeList);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetWorkflowNodeDetailsList()).compareTo(other.isSetWorkflowNodeDetailsList());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetWorkflowNodeDetailsList()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.workflowNodeDetailsList, other.workflowNodeDetailsList);
+      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("Experiment(");
+    boolean first = true;
+
+    sb.append("experimentID:");
+    if (this.experimentID == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.experimentID);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("projectID:");
+    if (this.projectID == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.projectID);
+    }
+    first = false;
+    if (isSetCreationTime()) {
+      if (!first) sb.append(", ");
+      sb.append("creationTime:");
+      sb.append(this.creationTime);
+      first = false;
+    }
+    if (!first) sb.append(", ");
+    sb.append("userName:");
+    if (this.userName == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.userName);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("name:");
+    if (this.name == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.name);
+    }
+    first = false;
+    if (isSetDescription()) {
+      if (!first) sb.append(", ");
+      sb.append("description:");
+      if (this.description == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.description);
+      }
+      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 (isSetWorkflowTemplateId()) {
+      if (!first) sb.append(", ");
+      sb.append("workflowTemplateId:");
+      if (this.workflowTemplateId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.workflowTemplateId);
+      }
+      first = false;
+    }
+    if (isSetWorkflowTemplateVersion()) {
+      if (!first) sb.append(", ");
+      sb.append("workflowTemplateVersion:");
+      if (this.workflowTemplateVersion == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.workflowTemplateVersion);
+      }
+      first = false;
+    }
+    if (isSetUserConfigurationData()) {
+      if (!first) sb.append(", ");
+      sb.append("userConfigurationData:");
+      if (this.userConfigurationData == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.userConfigurationData);
+      }
+      first = false;
+    }
+    if (isSetWorkflowExecutionInstanceId()) {
+      if (!first) sb.append(", ");
+      sb.append("workflowExecutionInstanceId:");
+      if (this.workflowExecutionInstanceId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.workflowExecutionInstanceId);
+      }
+      first = false;
+    }
+    if (isSetExperimentInputs()) {
+      if (!first) sb.append(", ");
+      sb.append("experimentInputs:");
+      if (this.experimentInputs == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.experimentInputs);
+      }
+      first = false;
+    }
+    if (isSetExperimentOutputs()) {
+      if (!first) sb.append(", ");
+      sb.append("experimentOutputs:");
+      if (this.experimentOutputs == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.experimentOutputs);
+      }
+      first = false;
+    }
+    if (isSetExperimentStatus()) {
+      if (!first) sb.append(", ");
+      sb.append("experimentStatus:");
+      if (this.experimentStatus == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.experimentStatus);
+      }
+      first = false;
+    }
+    if (isSetStateChangeList()) {
+      if (!first) sb.append(", ");
+      sb.append("stateChangeList:");
+      if (this.stateChangeList == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.stateChangeList);
+      }
+      first = false;
+    }
+    if (isSetWorkflowNodeDetailsList()) {
+      if (!first) sb.append(", ");
+      sb.append("workflowNodeDetailsList:");
+      if (this.workflowNodeDetailsList == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.workflowNodeDetailsList);
+      }
+      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 (!isSetExperimentID()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'experimentID' is unset! Struct:" + toString());
+    }
+
+    if (!isSetProjectID()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'projectID' is unset! Struct:" + toString());
+    }
+
+    if (!isSetUserName()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'userName' is unset! Struct:" + toString());
+    }
+
+    if (!isSetName()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'name' is unset! Struct:" + toString());
+    }
+
+    // check for sub-struct validity
+    if (userConfigurationData != null) {
+      userConfigurationData.validate();
+    }
+    if (experimentStatus != null) {
+      experimentStatus.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 ExperimentStandardSchemeFactory implements SchemeFactory {
+    public ExperimentStandardScheme getScheme() {
+      return new ExperimentStandardScheme();
+    }
+  }
+
+  private static class ExperimentStandardScheme extends StandardScheme<Experiment> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, Experiment 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: // EXPERIMENT_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.experimentID = iprot.readString();
+              struct.setExperimentIDIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // PROJECT_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.projectID = iprot.readString();
+              struct.setProjectIDIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // 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 4: // USER_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.userName = iprot.readString();
+              struct.setUserNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.name = iprot.readString();
+              struct.setNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 6: // DESCRIPTION
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.description = iprot.readString();
+              struct.setDescriptionIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 7: // 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 8: // 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 9: // WORKFLOW_TEMPLATE_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.workflowTemplateId = iprot.readString();
+              struct.setWorkflowTemplateIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 10: // WORKFLOW_TEMPLATE_VERSION
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.workflowTemplateVersion = iprot.readString();
+              struct.setWorkflowTemplateVersionIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 11: // USER_CONFIGURATION_DATA
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.userConfigurationData = new UserConfigurationData();
+              struct.userConfigurationData.read(iprot);
+              struct.setUserConfigurationDataIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 12: // WORKFLOW_EXECUTION_INSTANCE_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.workflowExecutionInstanceId = iprot.readString();
+              struct.setWorkflowExecutionInstanceIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 13: // EXPERIMENT_INPUTS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list88 = iprot.readListBegin();
+                struct.experimentInputs = new ArrayList<DataObjectType>(_list88.size);
+                for (int _i89 = 0; _i89 < _list88.size; ++_i89)
+                {
+                  DataObjectType _elem90;
+                  _elem90 = new DataObjectType();
+                  _elem90.read(iprot);
+                  struct.experimentInputs.add(_elem90);
+                }
+                iprot.readListEnd();
+              }
+              struct.setExperimentInputsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 14: // EXPERIMENT_OUTPUTS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list91 = iprot.readListBegin();
+                struct.experimentOutputs = new ArrayList<DataObjectType>(_list91.size);
+                for (int _i92 = 0; _i92 < _list91.size; ++_i92)
+                {
+                  DataObjectType _elem93;
+                  _elem93 = new DataObjectType();
+                  _elem93.read(iprot);
+                  struct.experimentOutputs.add(_elem93);
+                }
+                iprot.readListEnd();
+              }
+              struct.setExperimentOutputsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 15: // EXPERIMENT_STATUS
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.experimentStatus = new ExperimentStatus();
+              struct.experimentStatus.read(iprot);
+              struct.setExperimentStatusIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 16: // STATE_CHANGE_LIST
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list94 = iprot.readListBegin();
+                struct.stateChangeList = new ArrayList<WorkflowNodeStatus>(_list94.size);
+                for (int _i95 = 0; _i95 < _list94.size; ++_i95)
+                {
+                  WorkflowNodeStatus _elem96;
+                  _elem96 = new WorkflowNodeStatus();
+                  _elem96.read(iprot);
+                  struct.stateChangeList.add(_elem96);
+                }
+                iprot.readListEnd();
+              }
+              struct.setStateChangeListIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 17: // WORKFLOW_NODE_DETAILS_LIST
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list97 = iprot.readListBegin();
+                struct.workflowNodeDetailsList = new ArrayList<WorkflowNodeDetails>(_list97.size);
+                for (int _i98 = 0; _i98 < _list97.size; ++_i98)
+                {
+                  WorkflowNodeDetails _elem99;
+                  _elem99 = new WorkflowNodeDetails();
+                  _elem99.read(iprot);
+                  struct.workflowNodeDetailsList.add(_elem99);
+                }
+                iprot.readListEnd();
+              }
+              struct.setWorkflowNodeDetailsListIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 18: // ERRORS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list100 = iprot.readListBegin();
+                struct.errors = new ArrayList<ErrorDetails>(_list100.size);
+                for (int _i101 = 0; _i101 < _list100.size; ++_i101)
+                {
+                  ErrorDetails _elem102;
+                  _elem102 = new ErrorDetails();
+                  _elem102.read(iprot);
+                  struct.errors.add(_elem102);
+                }
+                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, Experiment struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.experimentID != null) {
+        oprot.writeFieldBegin(EXPERIMENT_ID_FIELD_DESC);
+        oprot.writeString(struct.experimentID);
+        oprot.writeFieldEnd();
+      }
+      if (struct.projectID != null) {
+        oprot.writeFieldBegin(PROJECT_ID_FIELD_DESC);
+        oprot.writeString(struct.projectID);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetCreationTime()) {
+        oprot.writeFieldBegin(CREATION_TIME_FIELD_DESC);
+        oprot.writeI64(struct.creationTime);
+        oprot.writeFieldEnd();
+      }
+      if (struct.userName != null) {
+        oprot.writeFieldBegin(USER_NAME_FIELD_DESC);
+        oprot.writeString(struct.userName);
+        oprot.writeFieldEnd();
+      }
+      if (struct.name != null) {
+        oprot.writeFieldBegin(NAME_FIELD_DESC);
+        oprot.writeString(struct.name);
+        oprot.writeFieldEnd();
+      }
+      if (struct.description != null) {
+        if (struct.isSetDescription()) {
+          oprot.writeFieldBegin(DESCRIPTION_FIELD_DESC);
+          oprot.writeString(struct.description);
+          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.workflowTemplateId != null) {
+        if (struct.isSetWorkflowTemplateId()) {
+          oprot.writeFieldBegin(WORKFLOW_TEMPLATE_ID_FIELD_DESC);
+          oprot.writeString(struct.workflowTemplateId);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.workflowTemplateVersion != null) {
+        if (struct.isSetWorkflowTemplateVersion()) {
+          oprot.writeFieldBegin(WORKFLOW_TEMPLATE_VERSION_FIELD_DESC);
+          oprot.writeString(struct.workflowTemplateVersion);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.userConfigurationData != null) {
+        if (struct.isSetUserConfigurationData()) {
+          oprot.writeFieldBegin(USER_CONFIGURATION_DATA_FIELD_DESC);
+          struct.userConfigurationData.write(oprot);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.workflowExecutionInstanceId != null) {
+        if (struct.isSetWorkflowExecutionInstanceId()) {
+          oprot.writeFieldBegin(WORKFLOW_EXECUTION_INSTANCE_ID_FIELD_DESC);
+          oprot.writeString(struct.workflowExecutionInstanceId);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.experimentInputs != null) {
+        if (struct.isSetExperimentInputs()) {
+          oprot.writeFieldBegin(EXPERIMENT_INPUTS_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.experimentInputs.size()));
+            for (DataObjectType _iter103 : struct.experimentInputs)
+            {
+              _iter103.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.experimentOutputs != null) {
+        if (struct.isSetExperimentOutputs()) {
+          oprot.writeFieldBegin(EXPERIMENT_OUTPUTS_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.experimentOutputs.size()));
+            for (DataObjectType _iter104 : struct.experimentOutputs)
+            {
+              _iter104.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.experimentStatus != null) {
+        if (struct.isSetExperimentStatus()) {
+          oprot.writeFieldBegin(EXPERIMENT_STATUS_FIELD_DESC);
+          struct.experimentStatus.write(oprot);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.stateChangeList != null) {
+        if (struct.isSetStateChangeList()) {
+          oprot.writeFieldBegin(STATE_CHANGE_LIST_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.stateChangeList.size()));
+            for (WorkflowNodeStatus _iter105 : struct.stateChangeList)
+            {
+              _iter105.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.workflowNodeDetailsList != null) {
+        if (struct.isSetWorkflowNodeDetailsList()) {
+          oprot.writeFieldBegin(WORKFLOW_NODE_DETAILS_LIST_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.workflowNodeDetailsList.size()));
+            for (WorkflowNodeDetails _iter106 : struct.workflowNodeDetailsList)
+            {
+              _iter106.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 _iter107 : struct.errors)
+            {
+              _iter107.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class ExperimentTupleSchemeFactory implements SchemeFactory {
+    public ExperimentTupleScheme getScheme() {
+      return new ExperimentTupleScheme();
+    }
+  }
+
+  private static class ExperimentTupleScheme extends TupleScheme<Experiment> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, Experiment struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeString(struct.experimentID);
+      oprot.writeString(struct.projectID);
+      oprot.writeString(struct.userName);
+      oprot.writeString(struct.name);
+      BitSet optionals = new BitSet();
+      if (struct.isSetCreationTime()) {
+        optionals.set(0);
+      }
+      if (struct.isSetDescription()) {
+        optionals.set(1);
+      }
+      if (struct.isSetApplicationId()) {
+        optionals.set(2);
+      }
+      if (struct.isSetApplicationVersion()) {
+        optionals.set(3);
+      }
+      if (struct.isSetWorkflowTemplateId()) {
+        optionals.set(4);
+      }
+      if (struct.isSetWorkflowTemplateVersion()) {
+        optionals.set(5);
+      }
+      if (struct.isSetUserConfigurationData()) {
+        optionals.set(6);
+      }
+      if (struct.isSetWorkflowExecutionInstanceId()) {
+        optionals.set(7);
+      }
+      if (struct.isSetExperimentInputs()) {
+        optionals.set(8);
+      }
+      if (struct.isSetExperimentOutputs()) {
+        optionals.set(9);
+      }
+      if (struct.isSetExperimentStatus()) {
+        optionals.set(10);
+      }
+      if (struct.isSetStateChangeList()) {
+        optionals.set(11);
+      }
+      if (struct.isSetWorkflowNodeDetailsList()) {
+        optionals.set(12);
+      }
+      if (struct.isSetErrors()) {
+        optionals.set(13);
+      }
+      oprot.writeBitSet(optionals, 14);
+      if (struct.isSetCreationTime()) {
+        oprot.writeI64(struct.creationTime);
+      }
+      if (struct.isSetDescription()) {
+        oprot.writeString(struct.description);
+      }
+      if (struct.isSetApplicationId()) {
+        oprot.writeString(struct.applicationId);
+      }
+      if (struct.isSetApplicationVersion()) {
+        oprot.writeString(struct.applicationVersion);
+      }
+      if (struct.isSetWorkflowTemplateId()) {
+        oprot.writeString(struct.workflowTemplateId);
+      }
+      if (struct.isSetWorkflowTemplateVersion()) {
+        oprot.writeString(struct.workflowTemplateVersion);
+      }
+      if (struct.isSetUserConfigurationData()) {
+        struct.userConfigurationData.write(oprot);
+      }
+      if (struct.isSetWorkflowExecutionInstanceId()) {
+        oprot.writeString(struct.workflowExecutionInstanceId);
+      }
+      if (struct.isSetExperimentInputs()) {
+        {
+          oprot.writeI32(struct.experimentInputs.size());
+          for (DataObjectType _iter108 : struct.experimentInputs)
+          {
+            _iter108.write(oprot);
+          }
+        }
+      }
+      if (struct.isSetExperimentOutputs()) {
+        {
+          oprot.writeI32(struct.experimentOutputs.size());
+          for (DataObjectType _iter109 : struct.experimentOutputs)
+          {
+            _iter109.write(oprot);
+          }
+        }
+      }
+      if (struct.isSetExperimentStatus()) {
+        struct.experimentStatus.write(oprot);
+      }
+      if (struct.isSetStateChangeList()) {
+        {
+          oprot.writeI32(struct.stateChangeList.size());
+          for (WorkflowNodeStatus _iter110 : struct.stateChangeList)
+          {
+            _iter110.write(oprot);
+          }
+        }
+      }
+      if (struct.isSetWorkflowNodeDetailsList()) {
+        {
+          oprot.writeI32(struct.workflowNodeDetailsList.size());
+          for (WorkflowNodeDetails _iter111 : struct.workflowNodeDetailsList)
+          {
+            _iter111.write(oprot);
+          }
+        }
+      }
+      if (struct.isSetErrors()) {
+        {
+          oprot.writeI32(struct.errors.size());
+          for (ErrorDetails _iter112 : struct.errors)
+          {
+            _iter112.write(oprot);
+          }
+        }
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, Experiment struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.experimentID = iprot.readString();
+      struct.setExperimentIDIsSet(true);
+      struct.projectID = iprot.readString();
+      struct.setProjectIDIsSet(true);
+      struct.userName = iprot.readString();
+      struct.setUserNameIsSet(true);
+      struct.name = iprot.readString();
+      struct.setNameIsSet(true);
+      BitSet incoming = iprot.readBitSet(14);
+      if (incoming.get(0)) {
+        struct.creationTime = iprot.readI64();
+        struct.setCreationTimeIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.description = iprot.readString();
+        struct.setDescriptionIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.applicationId = iprot.readString();
+        struct.setApplicationIdIsSet(true);
+      }
+      if (incoming.get(3)) {
+        struct.applicationVersion = iprot.readString();
+        struct.setApplicationVersionIsSet(true);
+      }
+      if (incoming.get(4)) {
+        struct.workflowTemplateId = iprot.readString();
+        struct.setWorkflowTemplateIdIsSet(true);
+      }
+      if (incoming.get(5)) {
+        struct.workflowTemplateVersion = iprot.readString();
+        struct.setWorkflowTemplateVersionIsSet(true);
+      }
+      if (incoming.get(6)) {
+        struct.userConfigurationData = new UserConfigurationData();
+        struct.userConfigurationData.read(iprot);
+        struct.setUserConfigurationDataIsSet(true);
+      }
+      if (incoming.get(7)) {
+        struct.workflowExecutionInstanceId = iprot.readString();
+        struct.setWorkflowExecutionInstanceIdIsSet(true);
+      }
+      if (incoming.get(8)) {
+        {
+          org.apache.thrift.protocol.TList _list113 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.experimentInputs = new ArrayList<DataObjectType>(_list113.size);
+          for (int _i114 = 0; _i114 < _list113.size; ++_i114)
+          {
+            DataObjectType _elem115;
+            _elem115 = new DataObjectType();
+            _elem115.read(iprot);
+            struct.experimentInputs.add(_elem115);
+          }
+        }
+        struct.setExperimentInputsIsSet(true);
+      }
+      if (incoming.get(9)) {
+        {
+          org.apache.thrift.protocol.TList _list116 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.experimentOutputs = new ArrayList<DataObjectType>(_list116.size);
+          for (int _i117 = 0; _i117 < _list116.size; ++_i117)
+          {
+            DataObjectType _elem118;
+            _elem118 = new DataObjectType();
+            _elem118.read(iprot);
+            struct.experimentOutputs.add(_elem118);
+          }
+        }
+        struct.setExperimentOutputsIsSet(true);
+      }
+      if (incoming.get(10)) {
+        struct.experimentStatus = new ExperimentStatus();
+        struct.experimentStatus.read(iprot);
+        struct.setExperimentStatusIsSet(true);
+      }
+      if (incoming.get(11)) {
+        {
+          org.apache.thrift.protocol.TList _list119 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.

<TRUNCATED>

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

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/WorkflowNodeDetails.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/WorkflowNodeDetails.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/WorkflowNodeDetails.java
deleted file mode 100644
index 8dda0a3..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/WorkflowNodeDetails.java
+++ /dev/null
@@ -1,1329 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A structure holding the node data.
- * nodeInstanceId - unique node identifier for each run
- */
-@SuppressWarnings("all") public class WorkflowNodeDetails implements org.apache.thrift.TBase<WorkflowNodeDetails, WorkflowNodeDetails._Fields>, java.io.Serializable, Cloneable, Comparable<WorkflowNodeDetails> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("WorkflowNodeDetails");
-
-  private static final org.apache.thrift.protocol.TField NODE_INSTANCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("nodeInstanceId", 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 NODE_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("nodeName", org.apache.thrift.protocol.TType.STRING, (short)3);
-  private static final org.apache.thrift.protocol.TField NODE_INPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("nodeInputs", org.apache.thrift.protocol.TType.LIST, (short)4);
-  private static final org.apache.thrift.protocol.TField NODE_OUTPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("nodeOutputs", org.apache.thrift.protocol.TType.LIST, (short)5);
-  private static final org.apache.thrift.protocol.TField WORKFLOW_NODE_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("workflowNodeStatus", org.apache.thrift.protocol.TType.STRUCT, (short)6);
-  private static final org.apache.thrift.protocol.TField TASK_DETAILS_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("taskDetailsList", org.apache.thrift.protocol.TType.LIST, (short)7);
-  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)8);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new WorkflowNodeDetailsStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new WorkflowNodeDetailsTupleSchemeFactory());
-  }
-
-  private String nodeInstanceId; // required
-  private long creationTime; // optional
-  private String nodeName; // required
-  private List<DataObjectType> nodeInputs; // optional
-  private List<DataObjectType> nodeOutputs; // optional
-  private WorkflowNodeStatus workflowNodeStatus; // optional
-  private List<TaskDetails> taskDetailsList; // 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 {
-    NODE_INSTANCE_ID((short)1, "nodeInstanceId"),
-    CREATION_TIME((short)2, "creationTime"),
-    NODE_NAME((short)3, "nodeName"),
-    NODE_INPUTS((short)4, "nodeInputs"),
-    NODE_OUTPUTS((short)5, "nodeOutputs"),
-    WORKFLOW_NODE_STATUS((short)6, "workflowNodeStatus"),
-    TASK_DETAILS_LIST((short)7, "taskDetailsList"),
-    ERRORS((short)8, "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: // NODE_INSTANCE_ID
-          return NODE_INSTANCE_ID;
-        case 2: // CREATION_TIME
-          return CREATION_TIME;
-        case 3: // NODE_NAME
-          return NODE_NAME;
-        case 4: // NODE_INPUTS
-          return NODE_INPUTS;
-        case 5: // NODE_OUTPUTS
-          return NODE_OUTPUTS;
-        case 6: // WORKFLOW_NODE_STATUS
-          return WORKFLOW_NODE_STATUS;
-        case 7: // TASK_DETAILS_LIST
-          return TASK_DETAILS_LIST;
-        case 8: // 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.NODE_INPUTS,_Fields.NODE_OUTPUTS,_Fields.WORKFLOW_NODE_STATUS,_Fields.TASK_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.NODE_INSTANCE_ID, new org.apache.thrift.meta_data.FieldMetaData("nodeInstanceId", 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.NODE_NAME, new org.apache.thrift.meta_data.FieldMetaData("nodeName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.NODE_INPUTS, new org.apache.thrift.meta_data.FieldMetaData("nodeInputs", 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.NODE_OUTPUTS, new org.apache.thrift.meta_data.FieldMetaData("nodeOutputs", 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.WORKFLOW_NODE_STATUS, new org.apache.thrift.meta_data.FieldMetaData("workflowNodeStatus", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, WorkflowNodeStatus.class)));
-    tmpMap.put(_Fields.TASK_DETAILS_LIST, new org.apache.thrift.meta_data.FieldMetaData("taskDetailsList", 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, TaskDetails.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(WorkflowNodeDetails.class, metaDataMap);
-  }
-
-  public WorkflowNodeDetails() {
-    this.nodeInstanceId = "DO_NO_SET_BY_CLIENT";
-
-    this.nodeName = "SIMPLE_APP_NODE";
-
-  }
-
-  public WorkflowNodeDetails(
-    String nodeInstanceId,
-    String nodeName)
-  {
-    this();
-    this.nodeInstanceId = nodeInstanceId;
-    this.nodeName = nodeName;
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public WorkflowNodeDetails(WorkflowNodeDetails other) {
-    __isset_bitfield = other.__isset_bitfield;
-    if (other.isSetNodeInstanceId()) {
-      this.nodeInstanceId = other.nodeInstanceId;
-    }
-    this.creationTime = other.creationTime;
-    if (other.isSetNodeName()) {
-      this.nodeName = other.nodeName;
-    }
-    if (other.isSetNodeInputs()) {
-      List<DataObjectType> __this__nodeInputs = new ArrayList<DataObjectType>(other.nodeInputs.size());
-      for (DataObjectType other_element : other.nodeInputs) {
-        __this__nodeInputs.add(new DataObjectType(other_element));
-      }
-      this.nodeInputs = __this__nodeInputs;
-    }
-    if (other.isSetNodeOutputs()) {
-      List<DataObjectType> __this__nodeOutputs = new ArrayList<DataObjectType>(other.nodeOutputs.size());
-      for (DataObjectType other_element : other.nodeOutputs) {
-        __this__nodeOutputs.add(new DataObjectType(other_element));
-      }
-      this.nodeOutputs = __this__nodeOutputs;
-    }
-    if (other.isSetWorkflowNodeStatus()) {
-      this.workflowNodeStatus = new WorkflowNodeStatus(other.workflowNodeStatus);
-    }
-    if (other.isSetTaskDetailsList()) {
-      List<TaskDetails> __this__taskDetailsList = new ArrayList<TaskDetails>(other.taskDetailsList.size());
-      for (TaskDetails other_element : other.taskDetailsList) {
-        __this__taskDetailsList.add(new TaskDetails(other_element));
-      }
-      this.taskDetailsList = __this__taskDetailsList;
-    }
-    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 WorkflowNodeDetails deepCopy() {
-    return new WorkflowNodeDetails(this);
-  }
-
-  @Override
-  public void clear() {
-    this.nodeInstanceId = "DO_NO_SET_BY_CLIENT";
-
-    setCreationTimeIsSet(false);
-    this.creationTime = 0;
-    this.nodeName = "SIMPLE_APP_NODE";
-
-    this.nodeInputs = null;
-    this.nodeOutputs = null;
-    this.workflowNodeStatus = null;
-    this.taskDetailsList = null;
-    this.errors = null;
-  }
-
-  public String getNodeInstanceId() {
-    return this.nodeInstanceId;
-  }
-
-  public void setNodeInstanceId(String nodeInstanceId) {
-    this.nodeInstanceId = nodeInstanceId;
-  }
-
-  public void unsetNodeInstanceId() {
-    this.nodeInstanceId = null;
-  }
-
-  /** Returns true if field nodeInstanceId is set (has been assigned a value) and false otherwise */
-  public boolean isSetNodeInstanceId() {
-    return this.nodeInstanceId != null;
-  }
-
-  public void setNodeInstanceIdIsSet(boolean value) {
-    if (!value) {
-      this.nodeInstanceId = 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 getNodeName() {
-    return this.nodeName;
-  }
-
-  public void setNodeName(String nodeName) {
-    this.nodeName = nodeName;
-  }
-
-  public void unsetNodeName() {
-    this.nodeName = null;
-  }
-
-  /** Returns true if field nodeName is set (has been assigned a value) and false otherwise */
-  public boolean isSetNodeName() {
-    return this.nodeName != null;
-  }
-
-  public void setNodeNameIsSet(boolean value) {
-    if (!value) {
-      this.nodeName = null;
-    }
-  }
-
-  public int getNodeInputsSize() {
-    return (this.nodeInputs == null) ? 0 : this.nodeInputs.size();
-  }
-
-  public java.util.Iterator<DataObjectType> getNodeInputsIterator() {
-    return (this.nodeInputs == null) ? null : this.nodeInputs.iterator();
-  }
-
-  public void addToNodeInputs(DataObjectType elem) {
-    if (this.nodeInputs == null) {
-      this.nodeInputs = new ArrayList<DataObjectType>();
-    }
-    this.nodeInputs.add(elem);
-  }
-
-  public List<DataObjectType> getNodeInputs() {
-    return this.nodeInputs;
-  }
-
-  public void setNodeInputs(List<DataObjectType> nodeInputs) {
-    this.nodeInputs = nodeInputs;
-  }
-
-  public void unsetNodeInputs() {
-    this.nodeInputs = null;
-  }
-
-  /** Returns true if field nodeInputs is set (has been assigned a value) and false otherwise */
-  public boolean isSetNodeInputs() {
-    return this.nodeInputs != null;
-  }
-
-  public void setNodeInputsIsSet(boolean value) {
-    if (!value) {
-      this.nodeInputs = null;
-    }
-  }
-
-  public int getNodeOutputsSize() {
-    return (this.nodeOutputs == null) ? 0 : this.nodeOutputs.size();
-  }
-
-  public java.util.Iterator<DataObjectType> getNodeOutputsIterator() {
-    return (this.nodeOutputs == null) ? null : this.nodeOutputs.iterator();
-  }
-
-  public void addToNodeOutputs(DataObjectType elem) {
-    if (this.nodeOutputs == null) {
-      this.nodeOutputs = new ArrayList<DataObjectType>();
-    }
-    this.nodeOutputs.add(elem);
-  }
-
-  public List<DataObjectType> getNodeOutputs() {
-    return this.nodeOutputs;
-  }
-
-  public void setNodeOutputs(List<DataObjectType> nodeOutputs) {
-    this.nodeOutputs = nodeOutputs;
-  }
-
-  public void unsetNodeOutputs() {
-    this.nodeOutputs = null;
-  }
-
-  /** Returns true if field nodeOutputs is set (has been assigned a value) and false otherwise */
-  public boolean isSetNodeOutputs() {
-    return this.nodeOutputs != null;
-  }
-
-  public void setNodeOutputsIsSet(boolean value) {
-    if (!value) {
-      this.nodeOutputs = null;
-    }
-  }
-
-  public WorkflowNodeStatus getWorkflowNodeStatus() {
-    return this.workflowNodeStatus;
-  }
-
-  public void setWorkflowNodeStatus(WorkflowNodeStatus workflowNodeStatus) {
-    this.workflowNodeStatus = workflowNodeStatus;
-  }
-
-  public void unsetWorkflowNodeStatus() {
-    this.workflowNodeStatus = null;
-  }
-
-  /** Returns true if field workflowNodeStatus is set (has been assigned a value) and false otherwise */
-  public boolean isSetWorkflowNodeStatus() {
-    return this.workflowNodeStatus != null;
-  }
-
-  public void setWorkflowNodeStatusIsSet(boolean value) {
-    if (!value) {
-      this.workflowNodeStatus = null;
-    }
-  }
-
-  public int getTaskDetailsListSize() {
-    return (this.taskDetailsList == null) ? 0 : this.taskDetailsList.size();
-  }
-
-  public java.util.Iterator<TaskDetails> getTaskDetailsListIterator() {
-    return (this.taskDetailsList == null) ? null : this.taskDetailsList.iterator();
-  }
-
-  public void addToTaskDetailsList(TaskDetails elem) {
-    if (this.taskDetailsList == null) {
-      this.taskDetailsList = new ArrayList<TaskDetails>();
-    }
-    this.taskDetailsList.add(elem);
-  }
-
-  public List<TaskDetails> getTaskDetailsList() {
-    return this.taskDetailsList;
-  }
-
-  public void setTaskDetailsList(List<TaskDetails> taskDetailsList) {
-    this.taskDetailsList = taskDetailsList;
-  }
-
-  public void unsetTaskDetailsList() {
-    this.taskDetailsList = null;
-  }
-
-  /** Returns true if field taskDetailsList is set (has been assigned a value) and false otherwise */
-  public boolean isSetTaskDetailsList() {
-    return this.taskDetailsList != null;
-  }
-
-  public void setTaskDetailsListIsSet(boolean value) {
-    if (!value) {
-      this.taskDetailsList = 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 NODE_INSTANCE_ID:
-      if (value == null) {
-        unsetNodeInstanceId();
-      } else {
-        setNodeInstanceId((String)value);
-      }
-      break;
-
-    case CREATION_TIME:
-      if (value == null) {
-        unsetCreationTime();
-      } else {
-        setCreationTime((Long)value);
-      }
-      break;
-
-    case NODE_NAME:
-      if (value == null) {
-        unsetNodeName();
-      } else {
-        setNodeName((String)value);
-      }
-      break;
-
-    case NODE_INPUTS:
-      if (value == null) {
-        unsetNodeInputs();
-      } else {
-        setNodeInputs((List<DataObjectType>)value);
-      }
-      break;
-
-    case NODE_OUTPUTS:
-      if (value == null) {
-        unsetNodeOutputs();
-      } else {
-        setNodeOutputs((List<DataObjectType>)value);
-      }
-      break;
-
-    case WORKFLOW_NODE_STATUS:
-      if (value == null) {
-        unsetWorkflowNodeStatus();
-      } else {
-        setWorkflowNodeStatus((WorkflowNodeStatus)value);
-      }
-      break;
-
-    case TASK_DETAILS_LIST:
-      if (value == null) {
-        unsetTaskDetailsList();
-      } else {
-        setTaskDetailsList((List<TaskDetails>)value);
-      }
-      break;
-
-    case ERRORS:
-      if (value == null) {
-        unsetErrors();
-      } else {
-        setErrors((List<ErrorDetails>)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case NODE_INSTANCE_ID:
-      return getNodeInstanceId();
-
-    case CREATION_TIME:
-      return Long.valueOf(getCreationTime());
-
-    case NODE_NAME:
-      return getNodeName();
-
-    case NODE_INPUTS:
-      return getNodeInputs();
-
-    case NODE_OUTPUTS:
-      return getNodeOutputs();
-
-    case WORKFLOW_NODE_STATUS:
-      return getWorkflowNodeStatus();
-
-    case TASK_DETAILS_LIST:
-      return getTaskDetailsList();
-
-    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 NODE_INSTANCE_ID:
-      return isSetNodeInstanceId();
-    case CREATION_TIME:
-      return isSetCreationTime();
-    case NODE_NAME:
-      return isSetNodeName();
-    case NODE_INPUTS:
-      return isSetNodeInputs();
-    case NODE_OUTPUTS:
-      return isSetNodeOutputs();
-    case WORKFLOW_NODE_STATUS:
-      return isSetWorkflowNodeStatus();
-    case TASK_DETAILS_LIST:
-      return isSetTaskDetailsList();
-    case ERRORS:
-      return isSetErrors();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof WorkflowNodeDetails)
-      return this.equals((WorkflowNodeDetails)that);
-    return false;
-  }
-
-  public boolean equals(WorkflowNodeDetails that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_nodeInstanceId = true && this.isSetNodeInstanceId();
-    boolean that_present_nodeInstanceId = true && that.isSetNodeInstanceId();
-    if (this_present_nodeInstanceId || that_present_nodeInstanceId) {
-      if (!(this_present_nodeInstanceId && that_present_nodeInstanceId))
-        return false;
-      if (!this.nodeInstanceId.equals(that.nodeInstanceId))
-        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_nodeName = true && this.isSetNodeName();
-    boolean that_present_nodeName = true && that.isSetNodeName();
-    if (this_present_nodeName || that_present_nodeName) {
-      if (!(this_present_nodeName && that_present_nodeName))
-        return false;
-      if (!this.nodeName.equals(that.nodeName))
-        return false;
-    }
-
-    boolean this_present_nodeInputs = true && this.isSetNodeInputs();
-    boolean that_present_nodeInputs = true && that.isSetNodeInputs();
-    if (this_present_nodeInputs || that_present_nodeInputs) {
-      if (!(this_present_nodeInputs && that_present_nodeInputs))
-        return false;
-      if (!this.nodeInputs.equals(that.nodeInputs))
-        return false;
-    }
-
-    boolean this_present_nodeOutputs = true && this.isSetNodeOutputs();
-    boolean that_present_nodeOutputs = true && that.isSetNodeOutputs();
-    if (this_present_nodeOutputs || that_present_nodeOutputs) {
-      if (!(this_present_nodeOutputs && that_present_nodeOutputs))
-        return false;
-      if (!this.nodeOutputs.equals(that.nodeOutputs))
-        return false;
-    }
-
-    boolean this_present_workflowNodeStatus = true && this.isSetWorkflowNodeStatus();
-    boolean that_present_workflowNodeStatus = true && that.isSetWorkflowNodeStatus();
-    if (this_present_workflowNodeStatus || that_present_workflowNodeStatus) {
-      if (!(this_present_workflowNodeStatus && that_present_workflowNodeStatus))
-        return false;
-      if (!this.workflowNodeStatus.equals(that.workflowNodeStatus))
-        return false;
-    }
-
-    boolean this_present_taskDetailsList = true && this.isSetTaskDetailsList();
-    boolean that_present_taskDetailsList = true && that.isSetTaskDetailsList();
-    if (this_present_taskDetailsList || that_present_taskDetailsList) {
-      if (!(this_present_taskDetailsList && that_present_taskDetailsList))
-        return false;
-      if (!this.taskDetailsList.equals(that.taskDetailsList))
-        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(WorkflowNodeDetails other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = Boolean.valueOf(isSetNodeInstanceId()).compareTo(other.isSetNodeInstanceId());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetNodeInstanceId()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.nodeInstanceId, other.nodeInstanceId);
-      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(isSetNodeName()).compareTo(other.isSetNodeName());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetNodeName()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.nodeName, other.nodeName);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetNodeInputs()).compareTo(other.isSetNodeInputs());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetNodeInputs()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.nodeInputs, other.nodeInputs);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetNodeOutputs()).compareTo(other.isSetNodeOutputs());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetNodeOutputs()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.nodeOutputs, other.nodeOutputs);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetWorkflowNodeStatus()).compareTo(other.isSetWorkflowNodeStatus());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetWorkflowNodeStatus()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.workflowNodeStatus, other.workflowNodeStatus);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetTaskDetailsList()).compareTo(other.isSetTaskDetailsList());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetTaskDetailsList()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.taskDetailsList, other.taskDetailsList);
-      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("WorkflowNodeDetails(");
-    boolean first = true;
-
-    sb.append("nodeInstanceId:");
-    if (this.nodeInstanceId == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.nodeInstanceId);
-    }
-    first = false;
-    if (isSetCreationTime()) {
-      if (!first) sb.append(", ");
-      sb.append("creationTime:");
-      sb.append(this.creationTime);
-      first = false;
-    }
-    if (!first) sb.append(", ");
-    sb.append("nodeName:");
-    if (this.nodeName == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.nodeName);
-    }
-    first = false;
-    if (isSetNodeInputs()) {
-      if (!first) sb.append(", ");
-      sb.append("nodeInputs:");
-      if (this.nodeInputs == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.nodeInputs);
-      }
-      first = false;
-    }
-    if (isSetNodeOutputs()) {
-      if (!first) sb.append(", ");
-      sb.append("nodeOutputs:");
-      if (this.nodeOutputs == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.nodeOutputs);
-      }
-      first = false;
-    }
-    if (isSetWorkflowNodeStatus()) {
-      if (!first) sb.append(", ");
-      sb.append("workflowNodeStatus:");
-      if (this.workflowNodeStatus == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.workflowNodeStatus);
-      }
-      first = false;
-    }
-    if (isSetTaskDetailsList()) {
-      if (!first) sb.append(", ");
-      sb.append("taskDetailsList:");
-      if (this.taskDetailsList == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.taskDetailsList);
-      }
-      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 (!isSetNodeInstanceId()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'nodeInstanceId' is unset! Struct:" + toString());
-    }
-
-    if (!isSetNodeName()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'nodeName' is unset! Struct:" + toString());
-    }
-
-    // check for sub-struct validity
-    if (workflowNodeStatus != null) {
-      workflowNodeStatus.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 WorkflowNodeDetailsStandardSchemeFactory implements SchemeFactory {
-    public WorkflowNodeDetailsStandardScheme getScheme() {
-      return new WorkflowNodeDetailsStandardScheme();
-    }
-  }
-
-  private static class WorkflowNodeDetailsStandardScheme extends StandardScheme<WorkflowNodeDetails> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, WorkflowNodeDetails 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: // NODE_INSTANCE_ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.nodeInstanceId = iprot.readString();
-              struct.setNodeInstanceIdIsSet(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: // NODE_NAME
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.nodeName = iprot.readString();
-              struct.setNodeNameIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 4: // NODE_INPUTS
-            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-              {
-                org.apache.thrift.protocol.TList _list56 = iprot.readListBegin();
-                struct.nodeInputs = new ArrayList<DataObjectType>(_list56.size);
-                for (int _i57 = 0; _i57 < _list56.size; ++_i57)
-                {
-                  DataObjectType _elem58;
-                  _elem58 = new DataObjectType();
-                  _elem58.read(iprot);
-                  struct.nodeInputs.add(_elem58);
-                }
-                iprot.readListEnd();
-              }
-              struct.setNodeInputsIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 5: // NODE_OUTPUTS
-            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-              {
-                org.apache.thrift.protocol.TList _list59 = iprot.readListBegin();
-                struct.nodeOutputs = new ArrayList<DataObjectType>(_list59.size);
-                for (int _i60 = 0; _i60 < _list59.size; ++_i60)
-                {
-                  DataObjectType _elem61;
-                  _elem61 = new DataObjectType();
-                  _elem61.read(iprot);
-                  struct.nodeOutputs.add(_elem61);
-                }
-                iprot.readListEnd();
-              }
-              struct.setNodeOutputsIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 6: // WORKFLOW_NODE_STATUS
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-              struct.workflowNodeStatus = new WorkflowNodeStatus();
-              struct.workflowNodeStatus.read(iprot);
-              struct.setWorkflowNodeStatusIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 7: // TASK_DETAILS_LIST
-            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-              {
-                org.apache.thrift.protocol.TList _list62 = iprot.readListBegin();
-                struct.taskDetailsList = new ArrayList<TaskDetails>(_list62.size);
-                for (int _i63 = 0; _i63 < _list62.size; ++_i63)
-                {
-                  TaskDetails _elem64;
-                  _elem64 = new TaskDetails();
-                  _elem64.read(iprot);
-                  struct.taskDetailsList.add(_elem64);
-                }
-                iprot.readListEnd();
-              }
-              struct.setTaskDetailsListIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 8: // ERRORS
-            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-              {
-                org.apache.thrift.protocol.TList _list65 = iprot.readListBegin();
-                struct.errors = new ArrayList<ErrorDetails>(_list65.size);
-                for (int _i66 = 0; _i66 < _list65.size; ++_i66)
-                {
-                  ErrorDetails _elem67;
-                  _elem67 = new ErrorDetails();
-                  _elem67.read(iprot);
-                  struct.errors.add(_elem67);
-                }
-                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, WorkflowNodeDetails struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.nodeInstanceId != null) {
-        oprot.writeFieldBegin(NODE_INSTANCE_ID_FIELD_DESC);
-        oprot.writeString(struct.nodeInstanceId);
-        oprot.writeFieldEnd();
-      }
-      if (struct.isSetCreationTime()) {
-        oprot.writeFieldBegin(CREATION_TIME_FIELD_DESC);
-        oprot.writeI64(struct.creationTime);
-        oprot.writeFieldEnd();
-      }
-      if (struct.nodeName != null) {
-        oprot.writeFieldBegin(NODE_NAME_FIELD_DESC);
-        oprot.writeString(struct.nodeName);
-        oprot.writeFieldEnd();
-      }
-      if (struct.nodeInputs != null) {
-        if (struct.isSetNodeInputs()) {
-          oprot.writeFieldBegin(NODE_INPUTS_FIELD_DESC);
-          {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.nodeInputs.size()));
-            for (DataObjectType _iter68 : struct.nodeInputs)
-            {
-              _iter68.write(oprot);
-            }
-            oprot.writeListEnd();
-          }
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.nodeOutputs != null) {
-        if (struct.isSetNodeOutputs()) {
-          oprot.writeFieldBegin(NODE_OUTPUTS_FIELD_DESC);
-          {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.nodeOutputs.size()));
-            for (DataObjectType _iter69 : struct.nodeOutputs)
-            {
-              _iter69.write(oprot);
-            }
-            oprot.writeListEnd();
-          }
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.workflowNodeStatus != null) {
-        if (struct.isSetWorkflowNodeStatus()) {
-          oprot.writeFieldBegin(WORKFLOW_NODE_STATUS_FIELD_DESC);
-          struct.workflowNodeStatus.write(oprot);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.taskDetailsList != null) {
-        if (struct.isSetTaskDetailsList()) {
-          oprot.writeFieldBegin(TASK_DETAILS_LIST_FIELD_DESC);
-          {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.taskDetailsList.size()));
-            for (TaskDetails _iter70 : struct.taskDetailsList)
-            {
-              _iter70.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 _iter71 : struct.errors)
-            {
-              _iter71.write(oprot);
-            }
-            oprot.writeListEnd();
-          }
-          oprot.writeFieldEnd();
-        }
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class WorkflowNodeDetailsTupleSchemeFactory implements SchemeFactory {
-    public WorkflowNodeDetailsTupleScheme getScheme() {
-      return new WorkflowNodeDetailsTupleScheme();
-    }
-  }
-
-  private static class WorkflowNodeDetailsTupleScheme extends TupleScheme<WorkflowNodeDetails> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, WorkflowNodeDetails struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      oprot.writeString(struct.nodeInstanceId);
-      oprot.writeString(struct.nodeName);
-      BitSet optionals = new BitSet();
-      if (struct.isSetCreationTime()) {
-        optionals.set(0);
-      }
-      if (struct.isSetNodeInputs()) {
-        optionals.set(1);
-      }
-      if (struct.isSetNodeOutputs()) {
-        optionals.set(2);
-      }
-      if (struct.isSetWorkflowNodeStatus()) {
-        optionals.set(3);
-      }
-      if (struct.isSetTaskDetailsList()) {
-        optionals.set(4);
-      }
-      if (struct.isSetErrors()) {
-        optionals.set(5);
-      }
-      oprot.writeBitSet(optionals, 6);
-      if (struct.isSetCreationTime()) {
-        oprot.writeI64(struct.creationTime);
-      }
-      if (struct.isSetNodeInputs()) {
-        {
-          oprot.writeI32(struct.nodeInputs.size());
-          for (DataObjectType _iter72 : struct.nodeInputs)
-          {
-            _iter72.write(oprot);
-          }
-        }
-      }
-      if (struct.isSetNodeOutputs()) {
-        {
-          oprot.writeI32(struct.nodeOutputs.size());
-          for (DataObjectType _iter73 : struct.nodeOutputs)
-          {
-            _iter73.write(oprot);
-          }
-        }
-      }
-      if (struct.isSetWorkflowNodeStatus()) {
-        struct.workflowNodeStatus.write(oprot);
-      }
-      if (struct.isSetTaskDetailsList()) {
-        {
-          oprot.writeI32(struct.taskDetailsList.size());
-          for (TaskDetails _iter74 : struct.taskDetailsList)
-          {
-            _iter74.write(oprot);
-          }
-        }
-      }
-      if (struct.isSetErrors()) {
-        {
-          oprot.writeI32(struct.errors.size());
-          for (ErrorDetails _iter75 : struct.errors)
-          {
-            _iter75.write(oprot);
-          }
-        }
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, WorkflowNodeDetails struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      struct.nodeInstanceId = iprot.readString();
-      struct.setNodeInstanceIdIsSet(true);
-      struct.nodeName = iprot.readString();
-      struct.setNodeNameIsSet(true);
-      BitSet incoming = iprot.readBitSet(6);
-      if (incoming.get(0)) {
-        struct.creationTime = iprot.readI64();
-        struct.setCreationTimeIsSet(true);
-      }
-      if (incoming.get(1)) {
-        {
-          org.apache.thrift.protocol.TList _list76 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.nodeInputs = new ArrayList<DataObjectType>(_list76.size);
-          for (int _i77 = 0; _i77 < _list76.size; ++_i77)
-          {
-            DataObjectType _elem78;
-            _elem78 = new DataObjectType();
-            _elem78.read(iprot);
-            struct.nodeInputs.add(_elem78);
-          }
-        }
-        struct.setNodeInputsIsSet(true);
-      }
-      if (incoming.get(2)) {
-        {
-          org.apache.thrift.protocol.TList _list79 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.nodeOutputs = new ArrayList<DataObjectType>(_list79.size);
-          for (int _i80 = 0; _i80 < _list79.size; ++_i80)
-          {
-            DataObjectType _elem81;
-            _elem81 = new DataObjectType();
-            _elem81.read(iprot);
-            struct.nodeOutputs.add(_elem81);
-          }
-        }
-        struct.setNodeOutputsIsSet(true);
-      }
-      if (incoming.get(3)) {
-        struct.workflowNodeStatus = new WorkflowNodeStatus();
-        struct.workflowNodeStatus.read(iprot);
-        struct.setWorkflowNodeStatusIsSet(true);
-      }
-      if (incoming.get(4)) {
-        {
-          org.apache.thrift.protocol.TList _list82 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.taskDetailsList = new ArrayList<TaskDetails>(_list82.size);
-          for (int _i83 = 0; _i83 < _list82.size; ++_i83)
-          {
-            TaskDetails _elem84;
-            _elem84 = new TaskDetails();
-            _elem84.read(iprot);
-            struct.taskDetailsList.add(_elem84);
-          }
-        }
-        struct.setTaskDetailsListIsSet(true);
-      }
-      if (incoming.get(5)) {
-        {
-          org.apache.thrift.protocol.TList _list85 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.errors = new ArrayList<ErrorDetails>(_list85.size);
-          for (int _i86 = 0; _i86 < _list85.size; ++_i86)
-          {
-            ErrorDetails _elem87;
-            _elem87 = new ErrorDetails();
-            _elem87.read(iprot);
-            struct.errors.add(_elem87);
-          }
-        }
-        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/experiment/WorkflowNodeState.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/WorkflowNodeState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/WorkflowNodeState.java
deleted file mode 100644
index eb461cb..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/WorkflowNodeState.java
+++ /dev/null
@@ -1,73 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
-@SuppressWarnings("all") public enum WorkflowNodeState implements org.apache.thrift.TEnum {
-  INVOKED(0),
-  EXECUTING(1),
-  CANCELED(2),
-  COMPLETED(3),
-  FAILED(4),
-  UNKNOWN(5);
-
-  private final int value;
-
-  private WorkflowNodeState(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 WorkflowNodeState findByValue(int value) { 
-    switch (value) {
-      case 0:
-        return INVOKED;
-      case 1:
-        return EXECUTING;
-      case 2:
-        return CANCELED;
-      case 3:
-        return COMPLETED;
-      case 4:
-        return FAILED;
-      case 5:
-        return UNKNOWN;
-      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/experiment/WorkflowNodeStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/WorkflowNodeStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/WorkflowNodeStatus.java
deleted file mode 100644
index 4cb9338..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/WorkflowNodeStatus.java
+++ /dev/null
@@ -1,509 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@SuppressWarnings("all") public class WorkflowNodeStatus implements org.apache.thrift.TBase<WorkflowNodeStatus, WorkflowNodeStatus._Fields>, java.io.Serializable, Cloneable, Comparable<WorkflowNodeStatus> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("WorkflowNodeStatus");
-
-  private static final org.apache.thrift.protocol.TField WORKFLOW_NODE_STATE_FIELD_DESC = new org.apache.thrift.protocol.TField("workflowNodeState", org.apache.thrift.protocol.TType.I32, (short)1);
-  private static final org.apache.thrift.protocol.TField TIME_OF_STATE_CHANGE_FIELD_DESC = new org.apache.thrift.protocol.TField("timeOfStateChange", org.apache.thrift.protocol.TType.I64, (short)2);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new WorkflowNodeStatusStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new WorkflowNodeStatusTupleSchemeFactory());
-  }
-
-  private WorkflowNodeState workflowNodeState; // required
-  private long timeOfStateChange; // 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 {
-    /**
-     * 
-     * @see WorkflowNodeState
-     */
-    WORKFLOW_NODE_STATE((short)1, "workflowNodeState"),
-    TIME_OF_STATE_CHANGE((short)2, "timeOfStateChange");
-
-    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: // WORKFLOW_NODE_STATE
-          return WORKFLOW_NODE_STATE;
-        case 2: // TIME_OF_STATE_CHANGE
-          return TIME_OF_STATE_CHANGE;
-        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 __TIMEOFSTATECHANGE_ISSET_ID = 0;
-  private byte __isset_bitfield = 0;
-  private _Fields optionals[] = {_Fields.TIME_OF_STATE_CHANGE};
-  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.WORKFLOW_NODE_STATE, new org.apache.thrift.meta_data.FieldMetaData("workflowNodeState", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, WorkflowNodeState.class)));
-    tmpMap.put(_Fields.TIME_OF_STATE_CHANGE, new org.apache.thrift.meta_data.FieldMetaData("timeOfStateChange", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
-    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(WorkflowNodeStatus.class, metaDataMap);
-  }
-
-  public WorkflowNodeStatus() {
-  }
-
-  public WorkflowNodeStatus(
-    WorkflowNodeState workflowNodeState)
-  {
-    this();
-    this.workflowNodeState = workflowNodeState;
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public WorkflowNodeStatus(WorkflowNodeStatus other) {
-    __isset_bitfield = other.__isset_bitfield;
-    if (other.isSetWorkflowNodeState()) {
-      this.workflowNodeState = other.workflowNodeState;
-    }
-    this.timeOfStateChange = other.timeOfStateChange;
-  }
-
-  public WorkflowNodeStatus deepCopy() {
-    return new WorkflowNodeStatus(this);
-  }
-
-  @Override
-  public void clear() {
-    this.workflowNodeState = null;
-    setTimeOfStateChangeIsSet(false);
-    this.timeOfStateChange = 0;
-  }
-
-  /**
-   * 
-   * @see WorkflowNodeState
-   */
-  public WorkflowNodeState getWorkflowNodeState() {
-    return this.workflowNodeState;
-  }
-
-  /**
-   * 
-   * @see WorkflowNodeState
-   */
-  public void setWorkflowNodeState(WorkflowNodeState workflowNodeState) {
-    this.workflowNodeState = workflowNodeState;
-  }
-
-  public void unsetWorkflowNodeState() {
-    this.workflowNodeState = null;
-  }
-
-  /** Returns true if field workflowNodeState is set (has been assigned a value) and false otherwise */
-  public boolean isSetWorkflowNodeState() {
-    return this.workflowNodeState != null;
-  }
-
-  public void setWorkflowNodeStateIsSet(boolean value) {
-    if (!value) {
-      this.workflowNodeState = null;
-    }
-  }
-
-  public long getTimeOfStateChange() {
-    return this.timeOfStateChange;
-  }
-
-  public void setTimeOfStateChange(long timeOfStateChange) {
-    this.timeOfStateChange = timeOfStateChange;
-    setTimeOfStateChangeIsSet(true);
-  }
-
-  public void unsetTimeOfStateChange() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
-  }
-
-  /** Returns true if field timeOfStateChange is set (has been assigned a value) and false otherwise */
-  public boolean isSetTimeOfStateChange() {
-    return EncodingUtils.testBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
-  }
-
-  public void setTimeOfStateChangeIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID, value);
-  }
-
-  public void setFieldValue(_Fields field, Object value) {
-    switch (field) {
-    case WORKFLOW_NODE_STATE:
-      if (value == null) {
-        unsetWorkflowNodeState();
-      } else {
-        setWorkflowNodeState((WorkflowNodeState)value);
-      }
-      break;
-
-    case TIME_OF_STATE_CHANGE:
-      if (value == null) {
-        unsetTimeOfStateChange();
-      } else {
-        setTimeOfStateChange((Long)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case WORKFLOW_NODE_STATE:
-      return getWorkflowNodeState();
-
-    case TIME_OF_STATE_CHANGE:
-      return Long.valueOf(getTimeOfStateChange());
-
-    }
-    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 WORKFLOW_NODE_STATE:
-      return isSetWorkflowNodeState();
-    case TIME_OF_STATE_CHANGE:
-      return isSetTimeOfStateChange();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof WorkflowNodeStatus)
-      return this.equals((WorkflowNodeStatus)that);
-    return false;
-  }
-
-  public boolean equals(WorkflowNodeStatus that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_workflowNodeState = true && this.isSetWorkflowNodeState();
-    boolean that_present_workflowNodeState = true && that.isSetWorkflowNodeState();
-    if (this_present_workflowNodeState || that_present_workflowNodeState) {
-      if (!(this_present_workflowNodeState && that_present_workflowNodeState))
-        return false;
-      if (!this.workflowNodeState.equals(that.workflowNodeState))
-        return false;
-    }
-
-    boolean this_present_timeOfStateChange = true && this.isSetTimeOfStateChange();
-    boolean that_present_timeOfStateChange = true && that.isSetTimeOfStateChange();
-    if (this_present_timeOfStateChange || that_present_timeOfStateChange) {
-      if (!(this_present_timeOfStateChange && that_present_timeOfStateChange))
-        return false;
-      if (this.timeOfStateChange != that.timeOfStateChange)
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    return 0;
-  }
-
-  @Override
-  public int compareTo(WorkflowNodeStatus other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = Boolean.valueOf(isSetWorkflowNodeState()).compareTo(other.isSetWorkflowNodeState());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetWorkflowNodeState()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.workflowNodeState, other.workflowNodeState);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetTimeOfStateChange()).compareTo(other.isSetTimeOfStateChange());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetTimeOfStateChange()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.timeOfStateChange, other.timeOfStateChange);
-      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("WorkflowNodeStatus(");
-    boolean first = true;
-
-    sb.append("workflowNodeState:");
-    if (this.workflowNodeState == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.workflowNodeState);
-    }
-    first = false;
-    if (isSetTimeOfStateChange()) {
-      if (!first) sb.append(", ");
-      sb.append("timeOfStateChange:");
-      sb.append(this.timeOfStateChange);
-      first = false;
-    }
-    sb.append(")");
-    return sb.toString();
-  }
-
-  public void validate() throws org.apache.thrift.TException {
-    // check for required fields
-    if (!isSetWorkflowNodeState()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'workflowNodeState' 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 {
-      // 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 WorkflowNodeStatusStandardSchemeFactory implements SchemeFactory {
-    public WorkflowNodeStatusStandardScheme getScheme() {
-      return new WorkflowNodeStatusStandardScheme();
-    }
-  }
-
-  private static class WorkflowNodeStatusStandardScheme extends StandardScheme<WorkflowNodeStatus> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, WorkflowNodeStatus 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: // WORKFLOW_NODE_STATE
-            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              struct.workflowNodeState = WorkflowNodeState.findByValue(iprot.readI32());
-              struct.setWorkflowNodeStateIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 2: // TIME_OF_STATE_CHANGE
-            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
-              struct.timeOfStateChange = iprot.readI64();
-              struct.setTimeOfStateChangeIsSet(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, WorkflowNodeStatus struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.workflowNodeState != null) {
-        oprot.writeFieldBegin(WORKFLOW_NODE_STATE_FIELD_DESC);
-        oprot.writeI32(struct.workflowNodeState.getValue());
-        oprot.writeFieldEnd();
-      }
-      if (struct.isSetTimeOfStateChange()) {
-        oprot.writeFieldBegin(TIME_OF_STATE_CHANGE_FIELD_DESC);
-        oprot.writeI64(struct.timeOfStateChange);
-        oprot.writeFieldEnd();
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class WorkflowNodeStatusTupleSchemeFactory implements SchemeFactory {
-    public WorkflowNodeStatusTupleScheme getScheme() {
-      return new WorkflowNodeStatusTupleScheme();
-    }
-  }
-
-  private static class WorkflowNodeStatusTupleScheme extends TupleScheme<WorkflowNodeStatus> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, WorkflowNodeStatus struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      oprot.writeI32(struct.workflowNodeState.getValue());
-      BitSet optionals = new BitSet();
-      if (struct.isSetTimeOfStateChange()) {
-        optionals.set(0);
-      }
-      oprot.writeBitSet(optionals, 1);
-      if (struct.isSetTimeOfStateChange()) {
-        oprot.writeI64(struct.timeOfStateChange);
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, WorkflowNodeStatus struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      struct.workflowNodeState = WorkflowNodeState.findByValue(iprot.readI32());
-      struct.setWorkflowNodeStateIsSet(true);
-      BitSet incoming = iprot.readBitSet(1);
-      if (incoming.get(0)) {
-        struct.timeOfStateChange = iprot.readI64();
-        struct.setTimeOfStateChangeIsSet(true);
-      }
-    }
-  }
-
-}
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/util/ExperimentModelUtil.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/util/ExperimentModelUtil.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/util/ExperimentModelUtil.java
deleted file mode 100644
index 6c68253..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/util/ExperimentModelUtil.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- *
- * 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.
- *
- */
-
-package org.apache.airavata.model.util;
-
-import org.apache.airavata.model.experiment.*;
-
-import java.util.Map;
-
-
-public class ExperimentModelUtil {
-    public static BasicMetadata createExperimentBasicMetadata (String experimentName,
-                                                               String expDescription,
-                                                               String userName,
-                                                               String projectID,
-                                                               boolean shareExp){
-        BasicMetadata basicMetadata = new BasicMetadata();
-        basicMetadata.setUserName(userName);
-        basicMetadata.setExperimentDescription(expDescription);
-        basicMetadata.setExperimentName(experimentName);
-        basicMetadata.setProjectID(projectID);
-        basicMetadata.setShareExperimentPublicly(shareExp);
-        return basicMetadata;
-    }
-
-    public static  ConfigurationData createConfigData (String applicationId,
-                                                       String applicationVersion,
-                                                       String workflowId,
-                                                       String workflowVersion,
-                                                       BasicMetadata basicMetadata,
-                                                       Map<String, String> experimentInputs,
-                                                       ComputationalResourceScheduling resourceScheduling,
-                                                       AdvancedInputDataHandling inputDataHandling,
-                                                       AdvancedOutputDataHandling outputDataHandling,
-                                                       QualityOfServiceParams qosParms){
-        ConfigurationData configData = new ConfigurationData();
-        configData.setApplicationId(applicationId);
-        configData.setApplicationVersion(applicationVersion);
-        configData.setWorkflowTemplateId(workflowId);
-        configData.setWorklfowTemplateVersion(workflowVersion);
-        configData.setBasicMetadata(basicMetadata);
-        configData.setExperimentInputs(experimentInputs);
-        configData.setComputationalResourceScheduling(resourceScheduling);
-        configData.setAdvanceInputDataHandling(inputDataHandling);
-        configData.setAdvanceOutputDataHandling(outputDataHandling);
-        configData.setQosParams(qosParms);
-        return configData;
-    }
-
-    public static ComputationalResourceScheduling createComputationResourceScheduling (boolean airavataAutoSchedule,
-                                                       boolean overrideManualSchedulingParams,
-                                                       String resourceHostId,
-                                                       int cpuCount,
-                                                       int nodeCount,
-                                                       int numberOfThreads,
-                                                       String queueName,
-                                                       int wallTimeLimit,
-                                                       long jobstartTime,
-                                                       int totalPhysicalMemory,
-                                                       String projectAccount){
-
-        ComputationalResourceScheduling cmRS = new ComputationalResourceScheduling();
-//        cmRS.setAiravataAutoSchedule(airavataAutoSchedule);
-//        cmRS.setOverrideManualScheduledParams(overrideManualSchedulingParams);
-        cmRS.setResourceHostId(resourceHostId);
-        cmRS.setTotalCPUCount(cpuCount);
-        cmRS.setNodeCount(nodeCount);
-        cmRS.setNumberOfThreads(numberOfThreads);
-        cmRS.setQueueName(queueName);
-        cmRS.setWallTimeLimit(wallTimeLimit);
-        cmRS.setJobStartTime((int)jobstartTime);
-        cmRS.setTotalPhysicalMemory(totalPhysicalMemory);
-        cmRS.setComputationalProjectAccount(projectAccount);
-        return cmRS;
-    }
-
-    public static AdvancedInputDataHandling createAdvancedInputHandling (boolean stageInputFilesToWorkingDir,
-                                                                         String workingDirParent,
-                                                                         String uniqueWorkingDir,
-                                                                         boolean cleanupAfterJob){
-        AdvancedInputDataHandling inputDataHandling = new AdvancedInputDataHandling();
-        inputDataHandling.setStageInputFilesToWorkingDir(stageInputFilesToWorkingDir);
-//        inputDataHandling.setWorkingDirectoryParent(workingDirParent);
-        inputDataHandling.setUniqueWorkingDirectory(uniqueWorkingDir);
-        inputDataHandling.setCleanUpWorkingDirAfterJob(cleanupAfterJob);
-        return inputDataHandling;
-    }
-
-    public static AdvancedOutputDataHandling createOutputDataHandling (String outputDatadir,
-                                                                       String dataRegUrl,
-                                                                       boolean persistOutput){
-        AdvancedOutputDataHandling outputDataHandling = new AdvancedOutputDataHandling();
-//        outputDataHandling.setOutputdataDir(outputDatadir);
-        outputDataHandling.setDataRegistryURL(dataRegUrl);
-        outputDataHandling.setPersistOutputData(persistOutput);
-        return outputDataHandling;
-    }
-
-    public static QualityOfServiceParams createQOSParams (String startExecutionAt,
-                                                          String executeBefore,
-                                                          int numberOfRetires){
-        QualityOfServiceParams qosParams = new QualityOfServiceParams();
-        qosParams.setStartExecutionAt(startExecutionAt);
-        qosParams.setExecuteBefore(executeBefore);
-        qosParams.setNumberofRetries(numberOfRetires);
-        return qosParams;
-    }
-}


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

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/DataTransferDetails.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/DataTransferDetails.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/DataTransferDetails.java
deleted file mode 100644
index 178ab19..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/DataTransferDetails.java
+++ /dev/null
@@ -1,699 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@SuppressWarnings("all") public class DataTransferDetails implements org.apache.thrift.TBase<DataTransferDetails, DataTransferDetails._Fields>, java.io.Serializable, Cloneable, Comparable<DataTransferDetails> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataTransferDetails");
-
-  private static final org.apache.thrift.protocol.TField TRANSFER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("transferID", 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 TRANSFER_DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("transferDescription", org.apache.thrift.protocol.TType.STRING, (short)3);
-  private static final org.apache.thrift.protocol.TField TRANSFER_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("transferStatus", org.apache.thrift.protocol.TType.STRUCT, (short)4);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new DataTransferDetailsStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new DataTransferDetailsTupleSchemeFactory());
-  }
-
-  private String transferID; // required
-  private long creationTime; // optional
-  private String transferDescription; // required
-  private TransferStatus transferStatus; // 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 {
-    TRANSFER_ID((short)1, "transferID"),
-    CREATION_TIME((short)2, "creationTime"),
-    TRANSFER_DESCRIPTION((short)3, "transferDescription"),
-    TRANSFER_STATUS((short)4, "transferStatus");
-
-    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: // TRANSFER_ID
-          return TRANSFER_ID;
-        case 2: // CREATION_TIME
-          return CREATION_TIME;
-        case 3: // TRANSFER_DESCRIPTION
-          return TRANSFER_DESCRIPTION;
-        case 4: // TRANSFER_STATUS
-          return TRANSFER_STATUS;
-        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.TRANSFER_STATUS};
-  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.TRANSFER_ID, new org.apache.thrift.meta_data.FieldMetaData("transferID", 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.TRANSFER_DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("transferDescription", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.TRANSFER_STATUS, new org.apache.thrift.meta_data.FieldMetaData("transferStatus", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TransferStatus.class)));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
-    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(DataTransferDetails.class, metaDataMap);
-  }
-
-  public DataTransferDetails() {
-  }
-
-  public DataTransferDetails(
-    String transferID,
-    String transferDescription)
-  {
-    this();
-    this.transferID = transferID;
-    this.transferDescription = transferDescription;
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public DataTransferDetails(DataTransferDetails other) {
-    __isset_bitfield = other.__isset_bitfield;
-    if (other.isSetTransferID()) {
-      this.transferID = other.transferID;
-    }
-    this.creationTime = other.creationTime;
-    if (other.isSetTransferDescription()) {
-      this.transferDescription = other.transferDescription;
-    }
-    if (other.isSetTransferStatus()) {
-      this.transferStatus = new TransferStatus(other.transferStatus);
-    }
-  }
-
-  public DataTransferDetails deepCopy() {
-    return new DataTransferDetails(this);
-  }
-
-  @Override
-  public void clear() {
-    this.transferID = null;
-    setCreationTimeIsSet(false);
-    this.creationTime = 0;
-    this.transferDescription = null;
-    this.transferStatus = null;
-  }
-
-  public String getTransferID() {
-    return this.transferID;
-  }
-
-  public void setTransferID(String transferID) {
-    this.transferID = transferID;
-  }
-
-  public void unsetTransferID() {
-    this.transferID = null;
-  }
-
-  /** Returns true if field transferID is set (has been assigned a value) and false otherwise */
-  public boolean isSetTransferID() {
-    return this.transferID != null;
-  }
-
-  public void setTransferIDIsSet(boolean value) {
-    if (!value) {
-      this.transferID = 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 getTransferDescription() {
-    return this.transferDescription;
-  }
-
-  public void setTransferDescription(String transferDescription) {
-    this.transferDescription = transferDescription;
-  }
-
-  public void unsetTransferDescription() {
-    this.transferDescription = null;
-  }
-
-  /** Returns true if field transferDescription is set (has been assigned a value) and false otherwise */
-  public boolean isSetTransferDescription() {
-    return this.transferDescription != null;
-  }
-
-  public void setTransferDescriptionIsSet(boolean value) {
-    if (!value) {
-      this.transferDescription = null;
-    }
-  }
-
-  public TransferStatus getTransferStatus() {
-    return this.transferStatus;
-  }
-
-  public void setTransferStatus(TransferStatus transferStatus) {
-    this.transferStatus = transferStatus;
-  }
-
-  public void unsetTransferStatus() {
-    this.transferStatus = null;
-  }
-
-  /** Returns true if field transferStatus is set (has been assigned a value) and false otherwise */
-  public boolean isSetTransferStatus() {
-    return this.transferStatus != null;
-  }
-
-  public void setTransferStatusIsSet(boolean value) {
-    if (!value) {
-      this.transferStatus = null;
-    }
-  }
-
-  public void setFieldValue(_Fields field, Object value) {
-    switch (field) {
-    case TRANSFER_ID:
-      if (value == null) {
-        unsetTransferID();
-      } else {
-        setTransferID((String)value);
-      }
-      break;
-
-    case CREATION_TIME:
-      if (value == null) {
-        unsetCreationTime();
-      } else {
-        setCreationTime((Long)value);
-      }
-      break;
-
-    case TRANSFER_DESCRIPTION:
-      if (value == null) {
-        unsetTransferDescription();
-      } else {
-        setTransferDescription((String)value);
-      }
-      break;
-
-    case TRANSFER_STATUS:
-      if (value == null) {
-        unsetTransferStatus();
-      } else {
-        setTransferStatus((TransferStatus)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case TRANSFER_ID:
-      return getTransferID();
-
-    case CREATION_TIME:
-      return Long.valueOf(getCreationTime());
-
-    case TRANSFER_DESCRIPTION:
-      return getTransferDescription();
-
-    case TRANSFER_STATUS:
-      return getTransferStatus();
-
-    }
-    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 TRANSFER_ID:
-      return isSetTransferID();
-    case CREATION_TIME:
-      return isSetCreationTime();
-    case TRANSFER_DESCRIPTION:
-      return isSetTransferDescription();
-    case TRANSFER_STATUS:
-      return isSetTransferStatus();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof DataTransferDetails)
-      return this.equals((DataTransferDetails)that);
-    return false;
-  }
-
-  public boolean equals(DataTransferDetails that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_transferID = true && this.isSetTransferID();
-    boolean that_present_transferID = true && that.isSetTransferID();
-    if (this_present_transferID || that_present_transferID) {
-      if (!(this_present_transferID && that_present_transferID))
-        return false;
-      if (!this.transferID.equals(that.transferID))
-        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_transferDescription = true && this.isSetTransferDescription();
-    boolean that_present_transferDescription = true && that.isSetTransferDescription();
-    if (this_present_transferDescription || that_present_transferDescription) {
-      if (!(this_present_transferDescription && that_present_transferDescription))
-        return false;
-      if (!this.transferDescription.equals(that.transferDescription))
-        return false;
-    }
-
-    boolean this_present_transferStatus = true && this.isSetTransferStatus();
-    boolean that_present_transferStatus = true && that.isSetTransferStatus();
-    if (this_present_transferStatus || that_present_transferStatus) {
-      if (!(this_present_transferStatus && that_present_transferStatus))
-        return false;
-      if (!this.transferStatus.equals(that.transferStatus))
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    return 0;
-  }
-
-  @Override
-  public int compareTo(DataTransferDetails other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = Boolean.valueOf(isSetTransferID()).compareTo(other.isSetTransferID());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetTransferID()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transferID, other.transferID);
-      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(isSetTransferDescription()).compareTo(other.isSetTransferDescription());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetTransferDescription()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transferDescription, other.transferDescription);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetTransferStatus()).compareTo(other.isSetTransferStatus());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetTransferStatus()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transferStatus, other.transferStatus);
-      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("DataTransferDetails(");
-    boolean first = true;
-
-    sb.append("transferID:");
-    if (this.transferID == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.transferID);
-    }
-    first = false;
-    if (isSetCreationTime()) {
-      if (!first) sb.append(", ");
-      sb.append("creationTime:");
-      sb.append(this.creationTime);
-      first = false;
-    }
-    if (!first) sb.append(", ");
-    sb.append("transferDescription:");
-    if (this.transferDescription == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.transferDescription);
-    }
-    first = false;
-    if (isSetTransferStatus()) {
-      if (!first) sb.append(", ");
-      sb.append("transferStatus:");
-      if (this.transferStatus == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.transferStatus);
-      }
-      first = false;
-    }
-    sb.append(")");
-    return sb.toString();
-  }
-
-  public void validate() throws org.apache.thrift.TException {
-    // check for required fields
-    if (!isSetTransferID()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'transferID' is unset! Struct:" + toString());
-    }
-
-    if (!isSetTransferDescription()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'transferDescription' is unset! Struct:" + toString());
-    }
-
-    // check for sub-struct validity
-    if (transferStatus != null) {
-      transferStatus.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 DataTransferDetailsStandardSchemeFactory implements SchemeFactory {
-    public DataTransferDetailsStandardScheme getScheme() {
-      return new DataTransferDetailsStandardScheme();
-    }
-  }
-
-  private static class DataTransferDetailsStandardScheme extends StandardScheme<DataTransferDetails> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, DataTransferDetails 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: // TRANSFER_ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.transferID = iprot.readString();
-              struct.setTransferIDIsSet(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: // TRANSFER_DESCRIPTION
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.transferDescription = iprot.readString();
-              struct.setTransferDescriptionIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 4: // TRANSFER_STATUS
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-              struct.transferStatus = new TransferStatus();
-              struct.transferStatus.read(iprot);
-              struct.setTransferStatusIsSet(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, DataTransferDetails struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.transferID != null) {
-        oprot.writeFieldBegin(TRANSFER_ID_FIELD_DESC);
-        oprot.writeString(struct.transferID);
-        oprot.writeFieldEnd();
-      }
-      if (struct.isSetCreationTime()) {
-        oprot.writeFieldBegin(CREATION_TIME_FIELD_DESC);
-        oprot.writeI64(struct.creationTime);
-        oprot.writeFieldEnd();
-      }
-      if (struct.transferDescription != null) {
-        oprot.writeFieldBegin(TRANSFER_DESCRIPTION_FIELD_DESC);
-        oprot.writeString(struct.transferDescription);
-        oprot.writeFieldEnd();
-      }
-      if (struct.transferStatus != null) {
-        if (struct.isSetTransferStatus()) {
-          oprot.writeFieldBegin(TRANSFER_STATUS_FIELD_DESC);
-          struct.transferStatus.write(oprot);
-          oprot.writeFieldEnd();
-        }
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class DataTransferDetailsTupleSchemeFactory implements SchemeFactory {
-    public DataTransferDetailsTupleScheme getScheme() {
-      return new DataTransferDetailsTupleScheme();
-    }
-  }
-
-  private static class DataTransferDetailsTupleScheme extends TupleScheme<DataTransferDetails> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, DataTransferDetails struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      oprot.writeString(struct.transferID);
-      oprot.writeString(struct.transferDescription);
-      BitSet optionals = new BitSet();
-      if (struct.isSetCreationTime()) {
-        optionals.set(0);
-      }
-      if (struct.isSetTransferStatus()) {
-        optionals.set(1);
-      }
-      oprot.writeBitSet(optionals, 2);
-      if (struct.isSetCreationTime()) {
-        oprot.writeI64(struct.creationTime);
-      }
-      if (struct.isSetTransferStatus()) {
-        struct.transferStatus.write(oprot);
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, DataTransferDetails struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      struct.transferID = iprot.readString();
-      struct.setTransferIDIsSet(true);
-      struct.transferDescription = iprot.readString();
-      struct.setTransferDescriptionIsSet(true);
-      BitSet incoming = iprot.readBitSet(2);
-      if (incoming.get(0)) {
-        struct.creationTime = iprot.readI64();
-        struct.setCreationTimeIsSet(true);
-      }
-      if (incoming.get(1)) {
-        struct.transferStatus = new TransferStatus();
-        struct.transferStatus.read(iprot);
-        struct.setTransferStatusIsSet(true);
-      }
-    }
-  }
-
-}
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ErrorCategory.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ErrorCategory.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ErrorCategory.java
deleted file mode 100644
index 800926e..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ErrorCategory.java
+++ /dev/null
@@ -1,79 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
-@SuppressWarnings("all") public enum ErrorCategory implements org.apache.thrift.TEnum {
-  FILE_SYSTEM_FAILURE(0),
-  APPLICATION_FAILURE(1),
-  RESOURCE_NODE_FAILURE(2),
-  DISK_FULL(3),
-  INSUFFICIENT_ALLOCATION(4),
-  SYSTEM_MAINTENANCE(5),
-  AIRAVATA_INTERNAL_ERROR(6),
-  CANNOT_BE_DETERMINED(7);
-
-  private final int value;
-
-  private ErrorCategory(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 ErrorCategory findByValue(int value) { 
-    switch (value) {
-      case 0:
-        return FILE_SYSTEM_FAILURE;
-      case 1:
-        return APPLICATION_FAILURE;
-      case 2:
-        return RESOURCE_NODE_FAILURE;
-      case 3:
-        return DISK_FULL;
-      case 4:
-        return INSUFFICIENT_ALLOCATION;
-      case 5:
-        return SYSTEM_MAINTENANCE;
-      case 6:
-        return AIRAVATA_INTERNAL_ERROR;
-      case 7:
-        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/experiment/ErrorDetails.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ErrorDetails.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ErrorDetails.java
deleted file mode 100644
index c8e0081..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ErrorDetails.java
+++ /dev/null
@@ -1,1287 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@SuppressWarnings("all") public class ErrorDetails implements org.apache.thrift.TBase<ErrorDetails, ErrorDetails._Fields>, java.io.Serializable, Cloneable, Comparable<ErrorDetails> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ErrorDetails");
-
-  private static final org.apache.thrift.protocol.TField ERROR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("errorID", 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 ACTUAL_ERROR_MESSAGE_FIELD_DESC = new org.apache.thrift.protocol.TField("actualErrorMessage", org.apache.thrift.protocol.TType.STRING, (short)3);
-  private static final org.apache.thrift.protocol.TField USER_FRIENDLY_MESSAGE_FIELD_DESC = new org.apache.thrift.protocol.TField("userFriendlyMessage", org.apache.thrift.protocol.TType.STRING, (short)4);
-  private static final org.apache.thrift.protocol.TField ERROR_CATEGORY_FIELD_DESC = new org.apache.thrift.protocol.TField("errorCategory", org.apache.thrift.protocol.TType.I32, (short)5);
-  private static final org.apache.thrift.protocol.TField TRANSIENT_OR_PERSISTENT_FIELD_DESC = new org.apache.thrift.protocol.TField("transientOrPersistent", org.apache.thrift.protocol.TType.BOOL, (short)6);
-  private static final org.apache.thrift.protocol.TField CORRECTIVE_ACTION_FIELD_DESC = new org.apache.thrift.protocol.TField("correctiveAction", org.apache.thrift.protocol.TType.I32, (short)7);
-  private static final org.apache.thrift.protocol.TField ACTIONABLE_GROUP_FIELD_DESC = new org.apache.thrift.protocol.TField("actionableGroup", org.apache.thrift.protocol.TType.I32, (short)8);
-  private static final org.apache.thrift.protocol.TField ROOT_CAUSE_ERROR_ID_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("rootCauseErrorIdList", org.apache.thrift.protocol.TType.LIST, (short)9);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new ErrorDetailsStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new ErrorDetailsTupleSchemeFactory());
-  }
-
-  private String errorID; // required
-  private long creationTime; // optional
-  private String actualErrorMessage; // optional
-  private String userFriendlyMessage; // optional
-  private ErrorCategory errorCategory; // optional
-  private boolean transientOrPersistent; // optional
-  private CorrectiveAction correctiveAction; // optional
-  private ActionableGroup actionableGroup; // optional
-  private List<String> rootCauseErrorIdList; // 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 {
-    ERROR_ID((short)1, "errorID"),
-    CREATION_TIME((short)2, "creationTime"),
-    ACTUAL_ERROR_MESSAGE((short)3, "actualErrorMessage"),
-    USER_FRIENDLY_MESSAGE((short)4, "userFriendlyMessage"),
-    /**
-     * 
-     * @see ErrorCategory
-     */
-    ERROR_CATEGORY((short)5, "errorCategory"),
-    TRANSIENT_OR_PERSISTENT((short)6, "transientOrPersistent"),
-    /**
-     * 
-     * @see CorrectiveAction
-     */
-    CORRECTIVE_ACTION((short)7, "correctiveAction"),
-    /**
-     * 
-     * @see ActionableGroup
-     */
-    ACTIONABLE_GROUP((short)8, "actionableGroup"),
-    ROOT_CAUSE_ERROR_ID_LIST((short)9, "rootCauseErrorIdList");
-
-    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: // ERROR_ID
-          return ERROR_ID;
-        case 2: // CREATION_TIME
-          return CREATION_TIME;
-        case 3: // ACTUAL_ERROR_MESSAGE
-          return ACTUAL_ERROR_MESSAGE;
-        case 4: // USER_FRIENDLY_MESSAGE
-          return USER_FRIENDLY_MESSAGE;
-        case 5: // ERROR_CATEGORY
-          return ERROR_CATEGORY;
-        case 6: // TRANSIENT_OR_PERSISTENT
-          return TRANSIENT_OR_PERSISTENT;
-        case 7: // CORRECTIVE_ACTION
-          return CORRECTIVE_ACTION;
-        case 8: // ACTIONABLE_GROUP
-          return ACTIONABLE_GROUP;
-        case 9: // ROOT_CAUSE_ERROR_ID_LIST
-          return ROOT_CAUSE_ERROR_ID_LIST;
-        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 static final int __TRANSIENTORPERSISTENT_ISSET_ID = 1;
-  private byte __isset_bitfield = 0;
-  private _Fields optionals[] = {_Fields.CREATION_TIME,_Fields.ACTUAL_ERROR_MESSAGE,_Fields.USER_FRIENDLY_MESSAGE,_Fields.ERROR_CATEGORY,_Fields.TRANSIENT_OR_PERSISTENT,_Fields.CORRECTIVE_ACTION,_Fields.ACTIONABLE_GROUP,_Fields.ROOT_CAUSE_ERROR_ID_LIST};
-  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.ERROR_ID, new org.apache.thrift.meta_data.FieldMetaData("errorID", 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.ACTUAL_ERROR_MESSAGE, new org.apache.thrift.meta_data.FieldMetaData("actualErrorMessage", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.USER_FRIENDLY_MESSAGE, new org.apache.thrift.meta_data.FieldMetaData("userFriendlyMessage", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.ERROR_CATEGORY, new org.apache.thrift.meta_data.FieldMetaData("errorCategory", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, ErrorCategory.class)));
-    tmpMap.put(_Fields.TRANSIENT_OR_PERSISTENT, new org.apache.thrift.meta_data.FieldMetaData("transientOrPersistent", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
-    tmpMap.put(_Fields.CORRECTIVE_ACTION, new org.apache.thrift.meta_data.FieldMetaData("correctiveAction", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, CorrectiveAction.class)));
-    tmpMap.put(_Fields.ACTIONABLE_GROUP, new org.apache.thrift.meta_data.FieldMetaData("actionableGroup", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, ActionableGroup.class)));
-    tmpMap.put(_Fields.ROOT_CAUSE_ERROR_ID_LIST, new org.apache.thrift.meta_data.FieldMetaData("rootCauseErrorIdList", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
-            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
-    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ErrorDetails.class, metaDataMap);
-  }
-
-  public ErrorDetails() {
-    this.errorID = "DO_NO_SET_BY_CLIENT";
-
-    this.transientOrPersistent = false;
-
-  }
-
-  public ErrorDetails(
-    String errorID)
-  {
-    this();
-    this.errorID = errorID;
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public ErrorDetails(ErrorDetails other) {
-    __isset_bitfield = other.__isset_bitfield;
-    if (other.isSetErrorID()) {
-      this.errorID = other.errorID;
-    }
-    this.creationTime = other.creationTime;
-    if (other.isSetActualErrorMessage()) {
-      this.actualErrorMessage = other.actualErrorMessage;
-    }
-    if (other.isSetUserFriendlyMessage()) {
-      this.userFriendlyMessage = other.userFriendlyMessage;
-    }
-    if (other.isSetErrorCategory()) {
-      this.errorCategory = other.errorCategory;
-    }
-    this.transientOrPersistent = other.transientOrPersistent;
-    if (other.isSetCorrectiveAction()) {
-      this.correctiveAction = other.correctiveAction;
-    }
-    if (other.isSetActionableGroup()) {
-      this.actionableGroup = other.actionableGroup;
-    }
-    if (other.isSetRootCauseErrorIdList()) {
-      List<String> __this__rootCauseErrorIdList = new ArrayList<String>(other.rootCauseErrorIdList);
-      this.rootCauseErrorIdList = __this__rootCauseErrorIdList;
-    }
-  }
-
-  public ErrorDetails deepCopy() {
-    return new ErrorDetails(this);
-  }
-
-  @Override
-  public void clear() {
-    this.errorID = "DO_NO_SET_BY_CLIENT";
-
-    setCreationTimeIsSet(false);
-    this.creationTime = 0;
-    this.actualErrorMessage = null;
-    this.userFriendlyMessage = null;
-    this.errorCategory = null;
-    this.transientOrPersistent = false;
-
-    this.correctiveAction = null;
-    this.actionableGroup = null;
-    this.rootCauseErrorIdList = null;
-  }
-
-  public String getErrorID() {
-    return this.errorID;
-  }
-
-  public void setErrorID(String errorID) {
-    this.errorID = errorID;
-  }
-
-  public void unsetErrorID() {
-    this.errorID = null;
-  }
-
-  /** Returns true if field errorID is set (has been assigned a value) and false otherwise */
-  public boolean isSetErrorID() {
-    return this.errorID != null;
-  }
-
-  public void setErrorIDIsSet(boolean value) {
-    if (!value) {
-      this.errorID = 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 getActualErrorMessage() {
-    return this.actualErrorMessage;
-  }
-
-  public void setActualErrorMessage(String actualErrorMessage) {
-    this.actualErrorMessage = actualErrorMessage;
-  }
-
-  public void unsetActualErrorMessage() {
-    this.actualErrorMessage = null;
-  }
-
-  /** Returns true if field actualErrorMessage is set (has been assigned a value) and false otherwise */
-  public boolean isSetActualErrorMessage() {
-    return this.actualErrorMessage != null;
-  }
-
-  public void setActualErrorMessageIsSet(boolean value) {
-    if (!value) {
-      this.actualErrorMessage = null;
-    }
-  }
-
-  public String getUserFriendlyMessage() {
-    return this.userFriendlyMessage;
-  }
-
-  public void setUserFriendlyMessage(String userFriendlyMessage) {
-    this.userFriendlyMessage = userFriendlyMessage;
-  }
-
-  public void unsetUserFriendlyMessage() {
-    this.userFriendlyMessage = null;
-  }
-
-  /** Returns true if field userFriendlyMessage is set (has been assigned a value) and false otherwise */
-  public boolean isSetUserFriendlyMessage() {
-    return this.userFriendlyMessage != null;
-  }
-
-  public void setUserFriendlyMessageIsSet(boolean value) {
-    if (!value) {
-      this.userFriendlyMessage = null;
-    }
-  }
-
-  /**
-   * 
-   * @see ErrorCategory
-   */
-  public ErrorCategory getErrorCategory() {
-    return this.errorCategory;
-  }
-
-  /**
-   * 
-   * @see ErrorCategory
-   */
-  public void setErrorCategory(ErrorCategory errorCategory) {
-    this.errorCategory = errorCategory;
-  }
-
-  public void unsetErrorCategory() {
-    this.errorCategory = null;
-  }
-
-  /** Returns true if field errorCategory is set (has been assigned a value) and false otherwise */
-  public boolean isSetErrorCategory() {
-    return this.errorCategory != null;
-  }
-
-  public void setErrorCategoryIsSet(boolean value) {
-    if (!value) {
-      this.errorCategory = null;
-    }
-  }
-
-  public boolean isTransientOrPersistent() {
-    return this.transientOrPersistent;
-  }
-
-  public void setTransientOrPersistent(boolean transientOrPersistent) {
-    this.transientOrPersistent = transientOrPersistent;
-    setTransientOrPersistentIsSet(true);
-  }
-
-  public void unsetTransientOrPersistent() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TRANSIENTORPERSISTENT_ISSET_ID);
-  }
-
-  /** Returns true if field transientOrPersistent is set (has been assigned a value) and false otherwise */
-  public boolean isSetTransientOrPersistent() {
-    return EncodingUtils.testBit(__isset_bitfield, __TRANSIENTORPERSISTENT_ISSET_ID);
-  }
-
-  public void setTransientOrPersistentIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TRANSIENTORPERSISTENT_ISSET_ID, value);
-  }
-
-  /**
-   * 
-   * @see CorrectiveAction
-   */
-  public CorrectiveAction getCorrectiveAction() {
-    return this.correctiveAction;
-  }
-
-  /**
-   * 
-   * @see CorrectiveAction
-   */
-  public void setCorrectiveAction(CorrectiveAction correctiveAction) {
-    this.correctiveAction = correctiveAction;
-  }
-
-  public void unsetCorrectiveAction() {
-    this.correctiveAction = null;
-  }
-
-  /** Returns true if field correctiveAction is set (has been assigned a value) and false otherwise */
-  public boolean isSetCorrectiveAction() {
-    return this.correctiveAction != null;
-  }
-
-  public void setCorrectiveActionIsSet(boolean value) {
-    if (!value) {
-      this.correctiveAction = null;
-    }
-  }
-
-  /**
-   * 
-   * @see ActionableGroup
-   */
-  public ActionableGroup getActionableGroup() {
-    return this.actionableGroup;
-  }
-
-  /**
-   * 
-   * @see ActionableGroup
-   */
-  public void setActionableGroup(ActionableGroup actionableGroup) {
-    this.actionableGroup = actionableGroup;
-  }
-
-  public void unsetActionableGroup() {
-    this.actionableGroup = null;
-  }
-
-  /** Returns true if field actionableGroup is set (has been assigned a value) and false otherwise */
-  public boolean isSetActionableGroup() {
-    return this.actionableGroup != null;
-  }
-
-  public void setActionableGroupIsSet(boolean value) {
-    if (!value) {
-      this.actionableGroup = null;
-    }
-  }
-
-  public int getRootCauseErrorIdListSize() {
-    return (this.rootCauseErrorIdList == null) ? 0 : this.rootCauseErrorIdList.size();
-  }
-
-  public java.util.Iterator<String> getRootCauseErrorIdListIterator() {
-    return (this.rootCauseErrorIdList == null) ? null : this.rootCauseErrorIdList.iterator();
-  }
-
-  public void addToRootCauseErrorIdList(String elem) {
-    if (this.rootCauseErrorIdList == null) {
-      this.rootCauseErrorIdList = new ArrayList<String>();
-    }
-    this.rootCauseErrorIdList.add(elem);
-  }
-
-  public List<String> getRootCauseErrorIdList() {
-    return this.rootCauseErrorIdList;
-  }
-
-  public void setRootCauseErrorIdList(List<String> rootCauseErrorIdList) {
-    this.rootCauseErrorIdList = rootCauseErrorIdList;
-  }
-
-  public void unsetRootCauseErrorIdList() {
-    this.rootCauseErrorIdList = null;
-  }
-
-  /** Returns true if field rootCauseErrorIdList is set (has been assigned a value) and false otherwise */
-  public boolean isSetRootCauseErrorIdList() {
-    return this.rootCauseErrorIdList != null;
-  }
-
-  public void setRootCauseErrorIdListIsSet(boolean value) {
-    if (!value) {
-      this.rootCauseErrorIdList = null;
-    }
-  }
-
-  public void setFieldValue(_Fields field, Object value) {
-    switch (field) {
-    case ERROR_ID:
-      if (value == null) {
-        unsetErrorID();
-      } else {
-        setErrorID((String)value);
-      }
-      break;
-
-    case CREATION_TIME:
-      if (value == null) {
-        unsetCreationTime();
-      } else {
-        setCreationTime((Long)value);
-      }
-      break;
-
-    case ACTUAL_ERROR_MESSAGE:
-      if (value == null) {
-        unsetActualErrorMessage();
-      } else {
-        setActualErrorMessage((String)value);
-      }
-      break;
-
-    case USER_FRIENDLY_MESSAGE:
-      if (value == null) {
-        unsetUserFriendlyMessage();
-      } else {
-        setUserFriendlyMessage((String)value);
-      }
-      break;
-
-    case ERROR_CATEGORY:
-      if (value == null) {
-        unsetErrorCategory();
-      } else {
-        setErrorCategory((ErrorCategory)value);
-      }
-      break;
-
-    case TRANSIENT_OR_PERSISTENT:
-      if (value == null) {
-        unsetTransientOrPersistent();
-      } else {
-        setTransientOrPersistent((Boolean)value);
-      }
-      break;
-
-    case CORRECTIVE_ACTION:
-      if (value == null) {
-        unsetCorrectiveAction();
-      } else {
-        setCorrectiveAction((CorrectiveAction)value);
-      }
-      break;
-
-    case ACTIONABLE_GROUP:
-      if (value == null) {
-        unsetActionableGroup();
-      } else {
-        setActionableGroup((ActionableGroup)value);
-      }
-      break;
-
-    case ROOT_CAUSE_ERROR_ID_LIST:
-      if (value == null) {
-        unsetRootCauseErrorIdList();
-      } else {
-        setRootCauseErrorIdList((List<String>)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case ERROR_ID:
-      return getErrorID();
-
-    case CREATION_TIME:
-      return Long.valueOf(getCreationTime());
-
-    case ACTUAL_ERROR_MESSAGE:
-      return getActualErrorMessage();
-
-    case USER_FRIENDLY_MESSAGE:
-      return getUserFriendlyMessage();
-
-    case ERROR_CATEGORY:
-      return getErrorCategory();
-
-    case TRANSIENT_OR_PERSISTENT:
-      return Boolean.valueOf(isTransientOrPersistent());
-
-    case CORRECTIVE_ACTION:
-      return getCorrectiveAction();
-
-    case ACTIONABLE_GROUP:
-      return getActionableGroup();
-
-    case ROOT_CAUSE_ERROR_ID_LIST:
-      return getRootCauseErrorIdList();
-
-    }
-    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 ERROR_ID:
-      return isSetErrorID();
-    case CREATION_TIME:
-      return isSetCreationTime();
-    case ACTUAL_ERROR_MESSAGE:
-      return isSetActualErrorMessage();
-    case USER_FRIENDLY_MESSAGE:
-      return isSetUserFriendlyMessage();
-    case ERROR_CATEGORY:
-      return isSetErrorCategory();
-    case TRANSIENT_OR_PERSISTENT:
-      return isSetTransientOrPersistent();
-    case CORRECTIVE_ACTION:
-      return isSetCorrectiveAction();
-    case ACTIONABLE_GROUP:
-      return isSetActionableGroup();
-    case ROOT_CAUSE_ERROR_ID_LIST:
-      return isSetRootCauseErrorIdList();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof ErrorDetails)
-      return this.equals((ErrorDetails)that);
-    return false;
-  }
-
-  public boolean equals(ErrorDetails that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_errorID = true && this.isSetErrorID();
-    boolean that_present_errorID = true && that.isSetErrorID();
-    if (this_present_errorID || that_present_errorID) {
-      if (!(this_present_errorID && that_present_errorID))
-        return false;
-      if (!this.errorID.equals(that.errorID))
-        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_actualErrorMessage = true && this.isSetActualErrorMessage();
-    boolean that_present_actualErrorMessage = true && that.isSetActualErrorMessage();
-    if (this_present_actualErrorMessage || that_present_actualErrorMessage) {
-      if (!(this_present_actualErrorMessage && that_present_actualErrorMessage))
-        return false;
-      if (!this.actualErrorMessage.equals(that.actualErrorMessage))
-        return false;
-    }
-
-    boolean this_present_userFriendlyMessage = true && this.isSetUserFriendlyMessage();
-    boolean that_present_userFriendlyMessage = true && that.isSetUserFriendlyMessage();
-    if (this_present_userFriendlyMessage || that_present_userFriendlyMessage) {
-      if (!(this_present_userFriendlyMessage && that_present_userFriendlyMessage))
-        return false;
-      if (!this.userFriendlyMessage.equals(that.userFriendlyMessage))
-        return false;
-    }
-
-    boolean this_present_errorCategory = true && this.isSetErrorCategory();
-    boolean that_present_errorCategory = true && that.isSetErrorCategory();
-    if (this_present_errorCategory || that_present_errorCategory) {
-      if (!(this_present_errorCategory && that_present_errorCategory))
-        return false;
-      if (!this.errorCategory.equals(that.errorCategory))
-        return false;
-    }
-
-    boolean this_present_transientOrPersistent = true && this.isSetTransientOrPersistent();
-    boolean that_present_transientOrPersistent = true && that.isSetTransientOrPersistent();
-    if (this_present_transientOrPersistent || that_present_transientOrPersistent) {
-      if (!(this_present_transientOrPersistent && that_present_transientOrPersistent))
-        return false;
-      if (this.transientOrPersistent != that.transientOrPersistent)
-        return false;
-    }
-
-    boolean this_present_correctiveAction = true && this.isSetCorrectiveAction();
-    boolean that_present_correctiveAction = true && that.isSetCorrectiveAction();
-    if (this_present_correctiveAction || that_present_correctiveAction) {
-      if (!(this_present_correctiveAction && that_present_correctiveAction))
-        return false;
-      if (!this.correctiveAction.equals(that.correctiveAction))
-        return false;
-    }
-
-    boolean this_present_actionableGroup = true && this.isSetActionableGroup();
-    boolean that_present_actionableGroup = true && that.isSetActionableGroup();
-    if (this_present_actionableGroup || that_present_actionableGroup) {
-      if (!(this_present_actionableGroup && that_present_actionableGroup))
-        return false;
-      if (!this.actionableGroup.equals(that.actionableGroup))
-        return false;
-    }
-
-    boolean this_present_rootCauseErrorIdList = true && this.isSetRootCauseErrorIdList();
-    boolean that_present_rootCauseErrorIdList = true && that.isSetRootCauseErrorIdList();
-    if (this_present_rootCauseErrorIdList || that_present_rootCauseErrorIdList) {
-      if (!(this_present_rootCauseErrorIdList && that_present_rootCauseErrorIdList))
-        return false;
-      if (!this.rootCauseErrorIdList.equals(that.rootCauseErrorIdList))
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    return 0;
-  }
-
-  @Override
-  public int compareTo(ErrorDetails other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = Boolean.valueOf(isSetErrorID()).compareTo(other.isSetErrorID());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetErrorID()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.errorID, other.errorID);
-      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(isSetActualErrorMessage()).compareTo(other.isSetActualErrorMessage());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetActualErrorMessage()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.actualErrorMessage, other.actualErrorMessage);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetUserFriendlyMessage()).compareTo(other.isSetUserFriendlyMessage());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetUserFriendlyMessage()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userFriendlyMessage, other.userFriendlyMessage);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetErrorCategory()).compareTo(other.isSetErrorCategory());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetErrorCategory()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.errorCategory, other.errorCategory);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetTransientOrPersistent()).compareTo(other.isSetTransientOrPersistent());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetTransientOrPersistent()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transientOrPersistent, other.transientOrPersistent);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetCorrectiveAction()).compareTo(other.isSetCorrectiveAction());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetCorrectiveAction()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.correctiveAction, other.correctiveAction);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetActionableGroup()).compareTo(other.isSetActionableGroup());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetActionableGroup()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.actionableGroup, other.actionableGroup);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetRootCauseErrorIdList()).compareTo(other.isSetRootCauseErrorIdList());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetRootCauseErrorIdList()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rootCauseErrorIdList, other.rootCauseErrorIdList);
-      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("ErrorDetails(");
-    boolean first = true;
-
-    sb.append("errorID:");
-    if (this.errorID == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.errorID);
-    }
-    first = false;
-    if (isSetCreationTime()) {
-      if (!first) sb.append(", ");
-      sb.append("creationTime:");
-      sb.append(this.creationTime);
-      first = false;
-    }
-    if (isSetActualErrorMessage()) {
-      if (!first) sb.append(", ");
-      sb.append("actualErrorMessage:");
-      if (this.actualErrorMessage == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.actualErrorMessage);
-      }
-      first = false;
-    }
-    if (isSetUserFriendlyMessage()) {
-      if (!first) sb.append(", ");
-      sb.append("userFriendlyMessage:");
-      if (this.userFriendlyMessage == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.userFriendlyMessage);
-      }
-      first = false;
-    }
-    if (isSetErrorCategory()) {
-      if (!first) sb.append(", ");
-      sb.append("errorCategory:");
-      if (this.errorCategory == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.errorCategory);
-      }
-      first = false;
-    }
-    if (isSetTransientOrPersistent()) {
-      if (!first) sb.append(", ");
-      sb.append("transientOrPersistent:");
-      sb.append(this.transientOrPersistent);
-      first = false;
-    }
-    if (isSetCorrectiveAction()) {
-      if (!first) sb.append(", ");
-      sb.append("correctiveAction:");
-      if (this.correctiveAction == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.correctiveAction);
-      }
-      first = false;
-    }
-    if (isSetActionableGroup()) {
-      if (!first) sb.append(", ");
-      sb.append("actionableGroup:");
-      if (this.actionableGroup == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.actionableGroup);
-      }
-      first = false;
-    }
-    if (isSetRootCauseErrorIdList()) {
-      if (!first) sb.append(", ");
-      sb.append("rootCauseErrorIdList:");
-      if (this.rootCauseErrorIdList == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.rootCauseErrorIdList);
-      }
-      first = false;
-    }
-    sb.append(")");
-    return sb.toString();
-  }
-
-  public void validate() throws org.apache.thrift.TException {
-    // check for required fields
-    if (!isSetErrorID()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'errorID' 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 {
-      // 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 ErrorDetailsStandardSchemeFactory implements SchemeFactory {
-    public ErrorDetailsStandardScheme getScheme() {
-      return new ErrorDetailsStandardScheme();
-    }
-  }
-
-  private static class ErrorDetailsStandardScheme extends StandardScheme<ErrorDetails> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, ErrorDetails 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: // ERROR_ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.errorID = iprot.readString();
-              struct.setErrorIDIsSet(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: // ACTUAL_ERROR_MESSAGE
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.actualErrorMessage = iprot.readString();
-              struct.setActualErrorMessageIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 4: // USER_FRIENDLY_MESSAGE
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.userFriendlyMessage = iprot.readString();
-              struct.setUserFriendlyMessageIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 5: // ERROR_CATEGORY
-            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              struct.errorCategory = ErrorCategory.findByValue(iprot.readI32());
-              struct.setErrorCategoryIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 6: // TRANSIENT_OR_PERSISTENT
-            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
-              struct.transientOrPersistent = iprot.readBool();
-              struct.setTransientOrPersistentIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 7: // CORRECTIVE_ACTION
-            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              struct.correctiveAction = CorrectiveAction.findByValue(iprot.readI32());
-              struct.setCorrectiveActionIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 8: // ACTIONABLE_GROUP
-            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              struct.actionableGroup = ActionableGroup.findByValue(iprot.readI32());
-              struct.setActionableGroupIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 9: // ROOT_CAUSE_ERROR_ID_LIST
-            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-              {
-                org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
-                struct.rootCauseErrorIdList = new ArrayList<String>(_list0.size);
-                for (int _i1 = 0; _i1 < _list0.size; ++_i1)
-                {
-                  String _elem2;
-                  _elem2 = iprot.readString();
-                  struct.rootCauseErrorIdList.add(_elem2);
-                }
-                iprot.readListEnd();
-              }
-              struct.setRootCauseErrorIdListIsSet(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, ErrorDetails struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.errorID != null) {
-        oprot.writeFieldBegin(ERROR_ID_FIELD_DESC);
-        oprot.writeString(struct.errorID);
-        oprot.writeFieldEnd();
-      }
-      if (struct.isSetCreationTime()) {
-        oprot.writeFieldBegin(CREATION_TIME_FIELD_DESC);
-        oprot.writeI64(struct.creationTime);
-        oprot.writeFieldEnd();
-      }
-      if (struct.actualErrorMessage != null) {
-        if (struct.isSetActualErrorMessage()) {
-          oprot.writeFieldBegin(ACTUAL_ERROR_MESSAGE_FIELD_DESC);
-          oprot.writeString(struct.actualErrorMessage);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.userFriendlyMessage != null) {
-        if (struct.isSetUserFriendlyMessage()) {
-          oprot.writeFieldBegin(USER_FRIENDLY_MESSAGE_FIELD_DESC);
-          oprot.writeString(struct.userFriendlyMessage);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.errorCategory != null) {
-        if (struct.isSetErrorCategory()) {
-          oprot.writeFieldBegin(ERROR_CATEGORY_FIELD_DESC);
-          oprot.writeI32(struct.errorCategory.getValue());
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.isSetTransientOrPersistent()) {
-        oprot.writeFieldBegin(TRANSIENT_OR_PERSISTENT_FIELD_DESC);
-        oprot.writeBool(struct.transientOrPersistent);
-        oprot.writeFieldEnd();
-      }
-      if (struct.correctiveAction != null) {
-        if (struct.isSetCorrectiveAction()) {
-          oprot.writeFieldBegin(CORRECTIVE_ACTION_FIELD_DESC);
-          oprot.writeI32(struct.correctiveAction.getValue());
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.actionableGroup != null) {
-        if (struct.isSetActionableGroup()) {
-          oprot.writeFieldBegin(ACTIONABLE_GROUP_FIELD_DESC);
-          oprot.writeI32(struct.actionableGroup.getValue());
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.rootCauseErrorIdList != null) {
-        if (struct.isSetRootCauseErrorIdList()) {
-          oprot.writeFieldBegin(ROOT_CAUSE_ERROR_ID_LIST_FIELD_DESC);
-          {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.rootCauseErrorIdList.size()));
-            for (String _iter3 : struct.rootCauseErrorIdList)
-            {
-              oprot.writeString(_iter3);
-            }
-            oprot.writeListEnd();
-          }
-          oprot.writeFieldEnd();
-        }
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class ErrorDetailsTupleSchemeFactory implements SchemeFactory {
-    public ErrorDetailsTupleScheme getScheme() {
-      return new ErrorDetailsTupleScheme();
-    }
-  }
-
-  private static class ErrorDetailsTupleScheme extends TupleScheme<ErrorDetails> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, ErrorDetails struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      oprot.writeString(struct.errorID);
-      BitSet optionals = new BitSet();
-      if (struct.isSetCreationTime()) {
-        optionals.set(0);
-      }
-      if (struct.isSetActualErrorMessage()) {
-        optionals.set(1);
-      }
-      if (struct.isSetUserFriendlyMessage()) {
-        optionals.set(2);
-      }
-      if (struct.isSetErrorCategory()) {
-        optionals.set(3);
-      }
-      if (struct.isSetTransientOrPersistent()) {
-        optionals.set(4);
-      }
-      if (struct.isSetCorrectiveAction()) {
-        optionals.set(5);
-      }
-      if (struct.isSetActionableGroup()) {
-        optionals.set(6);
-      }
-      if (struct.isSetRootCauseErrorIdList()) {
-        optionals.set(7);
-      }
-      oprot.writeBitSet(optionals, 8);
-      if (struct.isSetCreationTime()) {
-        oprot.writeI64(struct.creationTime);
-      }
-      if (struct.isSetActualErrorMessage()) {
-        oprot.writeString(struct.actualErrorMessage);
-      }
-      if (struct.isSetUserFriendlyMessage()) {
-        oprot.writeString(struct.userFriendlyMessage);
-      }
-      if (struct.isSetErrorCategory()) {
-        oprot.writeI32(struct.errorCategory.getValue());
-      }
-      if (struct.isSetTransientOrPersistent()) {
-        oprot.writeBool(struct.transientOrPersistent);
-      }
-      if (struct.isSetCorrectiveAction()) {
-        oprot.writeI32(struct.correctiveAction.getValue());
-      }
-      if (struct.isSetActionableGroup()) {
-        oprot.writeI32(struct.actionableGroup.getValue());
-      }
-      if (struct.isSetRootCauseErrorIdList()) {
-        {
-          oprot.writeI32(struct.rootCauseErrorIdList.size());
-          for (String _iter4 : struct.rootCauseErrorIdList)
-          {
-            oprot.writeString(_iter4);
-          }
-        }
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, ErrorDetails struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      struct.errorID = iprot.readString();
-      struct.setErrorIDIsSet(true);
-      BitSet incoming = iprot.readBitSet(8);
-      if (incoming.get(0)) {
-        struct.creationTime = iprot.readI64();
-        struct.setCreationTimeIsSet(true);
-      }
-      if (incoming.get(1)) {
-        struct.actualErrorMessage = iprot.readString();
-        struct.setActualErrorMessageIsSet(true);
-      }
-      if (incoming.get(2)) {
-        struct.userFriendlyMessage = iprot.readString();
-        struct.setUserFriendlyMessageIsSet(true);
-      }
-      if (incoming.get(3)) {
-        struct.errorCategory = ErrorCategory.findByValue(iprot.readI32());
-        struct.setErrorCategoryIsSet(true);
-      }
-      if (incoming.get(4)) {
-        struct.transientOrPersistent = iprot.readBool();
-        struct.setTransientOrPersistentIsSet(true);
-      }
-      if (incoming.get(5)) {
-        struct.correctiveAction = CorrectiveAction.findByValue(iprot.readI32());
-        struct.setCorrectiveActionIsSet(true);
-      }
-      if (incoming.get(6)) {
-        struct.actionableGroup = ActionableGroup.findByValue(iprot.readI32());
-        struct.setActionableGroupIsSet(true);
-      }
-      if (incoming.get(7)) {
-        {
-          org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.rootCauseErrorIdList = new ArrayList<String>(_list5.size);
-          for (int _i6 = 0; _i6 < _list5.size; ++_i6)
-          {
-            String _elem7;
-            _elem7 = iprot.readString();
-            struct.rootCauseErrorIdList.add(_elem7);
-          }
-        }
-        struct.setRootCauseErrorIdListIsSet(true);
-      }
-    }
-  }
-
-}
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExecutionState.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExecutionState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExecutionState.java
deleted file mode 100644
index 87add97..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExecutionState.java
+++ /dev/null
@@ -1,85 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
-@SuppressWarnings("all") public enum ExecutionState implements org.apache.thrift.TEnum {
-  AUTHENTICATED(0),
-  PRE_PROCESSING(1),
-  CONFIGURING_WORKSPACE(2),
-  INPUT_DATA_STAGING(3),
-  OUTPUT_DATA_STAGING(4),
-  POST_PROCESSING(5),
-  CANCELED(6),
-  COMPLETED(7),
-  FAILED(8),
-  UNKNOWN(9);
-
-  private final int value;
-
-  private ExecutionState(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 ExecutionState findByValue(int value) { 
-    switch (value) {
-      case 0:
-        return AUTHENTICATED;
-      case 1:
-        return PRE_PROCESSING;
-      case 2:
-        return CONFIGURING_WORKSPACE;
-      case 3:
-        return INPUT_DATA_STAGING;
-      case 4:
-        return OUTPUT_DATA_STAGING;
-      case 5:
-        return POST_PROCESSING;
-      case 6:
-        return CANCELED;
-      case 7:
-        return COMPLETED;
-      case 8:
-        return FAILED;
-      case 9:
-        return UNKNOWN;
-      default:
-        return null;
-    }
-  }
-}


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

Posted by sm...@apache.org.
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/ActionableGroup.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ActionableGroup.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ActionableGroup.java
new file mode 100644
index 0000000..c14934d
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ActionableGroup.java
@@ -0,0 +1,70 @@
+    /*
+     * 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 ActionableGroup implements org.apache.thrift.TEnum {
+  RESOURCE_ADMINS(0),
+  AIRAVATA_ADMINS(1),
+  GATEWAYS_ADMINS(2),
+  USER(3),
+  CANNOT_BE_DETERMINED(4);
+
+  private final int value;
+
+  private ActionableGroup(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 ActionableGroup findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return RESOURCE_ADMINS;
+      case 1:
+        return AIRAVATA_ADMINS;
+      case 2:
+        return GATEWAYS_ADMINS;
+      case 3:
+        return USER;
+      case 4:
+        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/AdvancedInputDataHandling.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/AdvancedInputDataHandling.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/AdvancedInputDataHandling.java
new file mode 100644
index 0000000..0c17a7a
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/AdvancedInputDataHandling.java
@@ -0,0 +1,700 @@
+    /*
+     * 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 specified input data handling.
+ * 
+ */
+@SuppressWarnings("all") public class AdvancedInputDataHandling implements org.apache.thrift.TBase<AdvancedInputDataHandling, AdvancedInputDataHandling._Fields>, java.io.Serializable, Cloneable, Comparable<AdvancedInputDataHandling> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AdvancedInputDataHandling");
+
+  private static final org.apache.thrift.protocol.TField STAGE_INPUT_FILES_TO_WORKING_DIR_FIELD_DESC = new org.apache.thrift.protocol.TField("stageInputFilesToWorkingDir", org.apache.thrift.protocol.TType.BOOL, (short)1);
+  private static final org.apache.thrift.protocol.TField PARENT_WORKING_DIRECTORY_FIELD_DESC = new org.apache.thrift.protocol.TField("parentWorkingDirectory", org.apache.thrift.protocol.TType.STRING, (short)2);
+  private static final org.apache.thrift.protocol.TField UNIQUE_WORKING_DIRECTORY_FIELD_DESC = new org.apache.thrift.protocol.TField("uniqueWorkingDirectory", org.apache.thrift.protocol.TType.STRING, (short)3);
+  private static final org.apache.thrift.protocol.TField CLEAN_UP_WORKING_DIR_AFTER_JOB_FIELD_DESC = new org.apache.thrift.protocol.TField("cleanUpWorkingDirAfterJob", org.apache.thrift.protocol.TType.BOOL, (short)4);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new AdvancedInputDataHandlingStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new AdvancedInputDataHandlingTupleSchemeFactory());
+  }
+
+  private boolean stageInputFilesToWorkingDir; // optional
+  private String parentWorkingDirectory; // optional
+  private String uniqueWorkingDirectory; // optional
+  private boolean cleanUpWorkingDirAfterJob; // 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 {
+    STAGE_INPUT_FILES_TO_WORKING_DIR((short)1, "stageInputFilesToWorkingDir"),
+    PARENT_WORKING_DIRECTORY((short)2, "parentWorkingDirectory"),
+    UNIQUE_WORKING_DIRECTORY((short)3, "uniqueWorkingDirectory"),
+    CLEAN_UP_WORKING_DIR_AFTER_JOB((short)4, "cleanUpWorkingDirAfterJob");
+
+    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: // STAGE_INPUT_FILES_TO_WORKING_DIR
+          return STAGE_INPUT_FILES_TO_WORKING_DIR;
+        case 2: // PARENT_WORKING_DIRECTORY
+          return PARENT_WORKING_DIRECTORY;
+        case 3: // UNIQUE_WORKING_DIRECTORY
+          return UNIQUE_WORKING_DIRECTORY;
+        case 4: // CLEAN_UP_WORKING_DIR_AFTER_JOB
+          return CLEAN_UP_WORKING_DIR_AFTER_JOB;
+        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 __STAGEINPUTFILESTOWORKINGDIR_ISSET_ID = 0;
+  private static final int __CLEANUPWORKINGDIRAFTERJOB_ISSET_ID = 1;
+  private byte __isset_bitfield = 0;
+  private _Fields optionals[] = {_Fields.STAGE_INPUT_FILES_TO_WORKING_DIR,_Fields.PARENT_WORKING_DIRECTORY,_Fields.UNIQUE_WORKING_DIRECTORY,_Fields.CLEAN_UP_WORKING_DIR_AFTER_JOB};
+  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.STAGE_INPUT_FILES_TO_WORKING_DIR, new org.apache.thrift.meta_data.FieldMetaData("stageInputFilesToWorkingDir", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.PARENT_WORKING_DIRECTORY, new org.apache.thrift.meta_data.FieldMetaData("parentWorkingDirectory", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.UNIQUE_WORKING_DIRECTORY, new org.apache.thrift.meta_data.FieldMetaData("uniqueWorkingDirectory", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.CLEAN_UP_WORKING_DIR_AFTER_JOB, new org.apache.thrift.meta_data.FieldMetaData("cleanUpWorkingDirAfterJob", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(AdvancedInputDataHandling.class, metaDataMap);
+  }
+
+  public AdvancedInputDataHandling() {
+    this.stageInputFilesToWorkingDir = false;
+
+    this.cleanUpWorkingDirAfterJob = false;
+
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public AdvancedInputDataHandling(AdvancedInputDataHandling other) {
+    __isset_bitfield = other.__isset_bitfield;
+    this.stageInputFilesToWorkingDir = other.stageInputFilesToWorkingDir;
+    if (other.isSetParentWorkingDirectory()) {
+      this.parentWorkingDirectory = other.parentWorkingDirectory;
+    }
+    if (other.isSetUniqueWorkingDirectory()) {
+      this.uniqueWorkingDirectory = other.uniqueWorkingDirectory;
+    }
+    this.cleanUpWorkingDirAfterJob = other.cleanUpWorkingDirAfterJob;
+  }
+
+  public AdvancedInputDataHandling deepCopy() {
+    return new AdvancedInputDataHandling(this);
+  }
+
+  @Override
+  public void clear() {
+    this.stageInputFilesToWorkingDir = false;
+
+    this.parentWorkingDirectory = null;
+    this.uniqueWorkingDirectory = null;
+    this.cleanUpWorkingDirAfterJob = false;
+
+  }
+
+  public boolean isStageInputFilesToWorkingDir() {
+    return this.stageInputFilesToWorkingDir;
+  }
+
+  public void setStageInputFilesToWorkingDir(boolean stageInputFilesToWorkingDir) {
+    this.stageInputFilesToWorkingDir = stageInputFilesToWorkingDir;
+    setStageInputFilesToWorkingDirIsSet(true);
+  }
+
+  public void unsetStageInputFilesToWorkingDir() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __STAGEINPUTFILESTOWORKINGDIR_ISSET_ID);
+  }
+
+  /** Returns true if field stageInputFilesToWorkingDir is set (has been assigned a value) and false otherwise */
+  public boolean isSetStageInputFilesToWorkingDir() {
+    return EncodingUtils.testBit(__isset_bitfield, __STAGEINPUTFILESTOWORKINGDIR_ISSET_ID);
+  }
+
+  public void setStageInputFilesToWorkingDirIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __STAGEINPUTFILESTOWORKINGDIR_ISSET_ID, value);
+  }
+
+  public String getParentWorkingDirectory() {
+    return this.parentWorkingDirectory;
+  }
+
+  public void setParentWorkingDirectory(String parentWorkingDirectory) {
+    this.parentWorkingDirectory = parentWorkingDirectory;
+  }
+
+  public void unsetParentWorkingDirectory() {
+    this.parentWorkingDirectory = null;
+  }
+
+  /** Returns true if field parentWorkingDirectory is set (has been assigned a value) and false otherwise */
+  public boolean isSetParentWorkingDirectory() {
+    return this.parentWorkingDirectory != null;
+  }
+
+  public void setParentWorkingDirectoryIsSet(boolean value) {
+    if (!value) {
+      this.parentWorkingDirectory = null;
+    }
+  }
+
+  public String getUniqueWorkingDirectory() {
+    return this.uniqueWorkingDirectory;
+  }
+
+  public void setUniqueWorkingDirectory(String uniqueWorkingDirectory) {
+    this.uniqueWorkingDirectory = uniqueWorkingDirectory;
+  }
+
+  public void unsetUniqueWorkingDirectory() {
+    this.uniqueWorkingDirectory = null;
+  }
+
+  /** Returns true if field uniqueWorkingDirectory is set (has been assigned a value) and false otherwise */
+  public boolean isSetUniqueWorkingDirectory() {
+    return this.uniqueWorkingDirectory != null;
+  }
+
+  public void setUniqueWorkingDirectoryIsSet(boolean value) {
+    if (!value) {
+      this.uniqueWorkingDirectory = null;
+    }
+  }
+
+  public boolean isCleanUpWorkingDirAfterJob() {
+    return this.cleanUpWorkingDirAfterJob;
+  }
+
+  public void setCleanUpWorkingDirAfterJob(boolean cleanUpWorkingDirAfterJob) {
+    this.cleanUpWorkingDirAfterJob = cleanUpWorkingDirAfterJob;
+    setCleanUpWorkingDirAfterJobIsSet(true);
+  }
+
+  public void unsetCleanUpWorkingDirAfterJob() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CLEANUPWORKINGDIRAFTERJOB_ISSET_ID);
+  }
+
+  /** Returns true if field cleanUpWorkingDirAfterJob is set (has been assigned a value) and false otherwise */
+  public boolean isSetCleanUpWorkingDirAfterJob() {
+    return EncodingUtils.testBit(__isset_bitfield, __CLEANUPWORKINGDIRAFTERJOB_ISSET_ID);
+  }
+
+  public void setCleanUpWorkingDirAfterJobIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CLEANUPWORKINGDIRAFTERJOB_ISSET_ID, value);
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case STAGE_INPUT_FILES_TO_WORKING_DIR:
+      if (value == null) {
+        unsetStageInputFilesToWorkingDir();
+      } else {
+        setStageInputFilesToWorkingDir((Boolean)value);
+      }
+      break;
+
+    case PARENT_WORKING_DIRECTORY:
+      if (value == null) {
+        unsetParentWorkingDirectory();
+      } else {
+        setParentWorkingDirectory((String)value);
+      }
+      break;
+
+    case UNIQUE_WORKING_DIRECTORY:
+      if (value == null) {
+        unsetUniqueWorkingDirectory();
+      } else {
+        setUniqueWorkingDirectory((String)value);
+      }
+      break;
+
+    case CLEAN_UP_WORKING_DIR_AFTER_JOB:
+      if (value == null) {
+        unsetCleanUpWorkingDirAfterJob();
+      } else {
+        setCleanUpWorkingDirAfterJob((Boolean)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case STAGE_INPUT_FILES_TO_WORKING_DIR:
+      return Boolean.valueOf(isStageInputFilesToWorkingDir());
+
+    case PARENT_WORKING_DIRECTORY:
+      return getParentWorkingDirectory();
+
+    case UNIQUE_WORKING_DIRECTORY:
+      return getUniqueWorkingDirectory();
+
+    case CLEAN_UP_WORKING_DIR_AFTER_JOB:
+      return Boolean.valueOf(isCleanUpWorkingDirAfterJob());
+
+    }
+    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 STAGE_INPUT_FILES_TO_WORKING_DIR:
+      return isSetStageInputFilesToWorkingDir();
+    case PARENT_WORKING_DIRECTORY:
+      return isSetParentWorkingDirectory();
+    case UNIQUE_WORKING_DIRECTORY:
+      return isSetUniqueWorkingDirectory();
+    case CLEAN_UP_WORKING_DIR_AFTER_JOB:
+      return isSetCleanUpWorkingDirAfterJob();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof AdvancedInputDataHandling)
+      return this.equals((AdvancedInputDataHandling)that);
+    return false;
+  }
+
+  public boolean equals(AdvancedInputDataHandling that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_stageInputFilesToWorkingDir = true && this.isSetStageInputFilesToWorkingDir();
+    boolean that_present_stageInputFilesToWorkingDir = true && that.isSetStageInputFilesToWorkingDir();
+    if (this_present_stageInputFilesToWorkingDir || that_present_stageInputFilesToWorkingDir) {
+      if (!(this_present_stageInputFilesToWorkingDir && that_present_stageInputFilesToWorkingDir))
+        return false;
+      if (this.stageInputFilesToWorkingDir != that.stageInputFilesToWorkingDir)
+        return false;
+    }
+
+    boolean this_present_parentWorkingDirectory = true && this.isSetParentWorkingDirectory();
+    boolean that_present_parentWorkingDirectory = true && that.isSetParentWorkingDirectory();
+    if (this_present_parentWorkingDirectory || that_present_parentWorkingDirectory) {
+      if (!(this_present_parentWorkingDirectory && that_present_parentWorkingDirectory))
+        return false;
+      if (!this.parentWorkingDirectory.equals(that.parentWorkingDirectory))
+        return false;
+    }
+
+    boolean this_present_uniqueWorkingDirectory = true && this.isSetUniqueWorkingDirectory();
+    boolean that_present_uniqueWorkingDirectory = true && that.isSetUniqueWorkingDirectory();
+    if (this_present_uniqueWorkingDirectory || that_present_uniqueWorkingDirectory) {
+      if (!(this_present_uniqueWorkingDirectory && that_present_uniqueWorkingDirectory))
+        return false;
+      if (!this.uniqueWorkingDirectory.equals(that.uniqueWorkingDirectory))
+        return false;
+    }
+
+    boolean this_present_cleanUpWorkingDirAfterJob = true && this.isSetCleanUpWorkingDirAfterJob();
+    boolean that_present_cleanUpWorkingDirAfterJob = true && that.isSetCleanUpWorkingDirAfterJob();
+    if (this_present_cleanUpWorkingDirAfterJob || that_present_cleanUpWorkingDirAfterJob) {
+      if (!(this_present_cleanUpWorkingDirAfterJob && that_present_cleanUpWorkingDirAfterJob))
+        return false;
+      if (this.cleanUpWorkingDirAfterJob != that.cleanUpWorkingDirAfterJob)
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  @Override
+  public int compareTo(AdvancedInputDataHandling other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetStageInputFilesToWorkingDir()).compareTo(other.isSetStageInputFilesToWorkingDir());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetStageInputFilesToWorkingDir()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.stageInputFilesToWorkingDir, other.stageInputFilesToWorkingDir);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetParentWorkingDirectory()).compareTo(other.isSetParentWorkingDirectory());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetParentWorkingDirectory()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.parentWorkingDirectory, other.parentWorkingDirectory);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetUniqueWorkingDirectory()).compareTo(other.isSetUniqueWorkingDirectory());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetUniqueWorkingDirectory()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.uniqueWorkingDirectory, other.uniqueWorkingDirectory);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetCleanUpWorkingDirAfterJob()).compareTo(other.isSetCleanUpWorkingDirAfterJob());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetCleanUpWorkingDirAfterJob()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.cleanUpWorkingDirAfterJob, other.cleanUpWorkingDirAfterJob);
+      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("AdvancedInputDataHandling(");
+    boolean first = true;
+
+    if (isSetStageInputFilesToWorkingDir()) {
+      sb.append("stageInputFilesToWorkingDir:");
+      sb.append(this.stageInputFilesToWorkingDir);
+      first = false;
+    }
+    if (isSetParentWorkingDirectory()) {
+      if (!first) sb.append(", ");
+      sb.append("parentWorkingDirectory:");
+      if (this.parentWorkingDirectory == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.parentWorkingDirectory);
+      }
+      first = false;
+    }
+    if (isSetUniqueWorkingDirectory()) {
+      if (!first) sb.append(", ");
+      sb.append("uniqueWorkingDirectory:");
+      if (this.uniqueWorkingDirectory == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.uniqueWorkingDirectory);
+      }
+      first = false;
+    }
+    if (isSetCleanUpWorkingDirAfterJob()) {
+      if (!first) sb.append(", ");
+      sb.append("cleanUpWorkingDirAfterJob:");
+      sb.append(this.cleanUpWorkingDirAfterJob);
+      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 AdvancedInputDataHandlingStandardSchemeFactory implements SchemeFactory {
+    public AdvancedInputDataHandlingStandardScheme getScheme() {
+      return new AdvancedInputDataHandlingStandardScheme();
+    }
+  }
+
+  private static class AdvancedInputDataHandlingStandardScheme extends StandardScheme<AdvancedInputDataHandling> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, AdvancedInputDataHandling 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: // STAGE_INPUT_FILES_TO_WORKING_DIR
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.stageInputFilesToWorkingDir = iprot.readBool();
+              struct.setStageInputFilesToWorkingDirIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // PARENT_WORKING_DIRECTORY
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.parentWorkingDirectory = iprot.readString();
+              struct.setParentWorkingDirectoryIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // UNIQUE_WORKING_DIRECTORY
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.uniqueWorkingDirectory = iprot.readString();
+              struct.setUniqueWorkingDirectoryIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // CLEAN_UP_WORKING_DIR_AFTER_JOB
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.cleanUpWorkingDirAfterJob = iprot.readBool();
+              struct.setCleanUpWorkingDirAfterJobIsSet(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, AdvancedInputDataHandling struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.isSetStageInputFilesToWorkingDir()) {
+        oprot.writeFieldBegin(STAGE_INPUT_FILES_TO_WORKING_DIR_FIELD_DESC);
+        oprot.writeBool(struct.stageInputFilesToWorkingDir);
+        oprot.writeFieldEnd();
+      }
+      if (struct.parentWorkingDirectory != null) {
+        if (struct.isSetParentWorkingDirectory()) {
+          oprot.writeFieldBegin(PARENT_WORKING_DIRECTORY_FIELD_DESC);
+          oprot.writeString(struct.parentWorkingDirectory);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.uniqueWorkingDirectory != null) {
+        if (struct.isSetUniqueWorkingDirectory()) {
+          oprot.writeFieldBegin(UNIQUE_WORKING_DIRECTORY_FIELD_DESC);
+          oprot.writeString(struct.uniqueWorkingDirectory);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetCleanUpWorkingDirAfterJob()) {
+        oprot.writeFieldBegin(CLEAN_UP_WORKING_DIR_AFTER_JOB_FIELD_DESC);
+        oprot.writeBool(struct.cleanUpWorkingDirAfterJob);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class AdvancedInputDataHandlingTupleSchemeFactory implements SchemeFactory {
+    public AdvancedInputDataHandlingTupleScheme getScheme() {
+      return new AdvancedInputDataHandlingTupleScheme();
+    }
+  }
+
+  private static class AdvancedInputDataHandlingTupleScheme extends TupleScheme<AdvancedInputDataHandling> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, AdvancedInputDataHandling struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetStageInputFilesToWorkingDir()) {
+        optionals.set(0);
+      }
+      if (struct.isSetParentWorkingDirectory()) {
+        optionals.set(1);
+      }
+      if (struct.isSetUniqueWorkingDirectory()) {
+        optionals.set(2);
+      }
+      if (struct.isSetCleanUpWorkingDirAfterJob()) {
+        optionals.set(3);
+      }
+      oprot.writeBitSet(optionals, 4);
+      if (struct.isSetStageInputFilesToWorkingDir()) {
+        oprot.writeBool(struct.stageInputFilesToWorkingDir);
+      }
+      if (struct.isSetParentWorkingDirectory()) {
+        oprot.writeString(struct.parentWorkingDirectory);
+      }
+      if (struct.isSetUniqueWorkingDirectory()) {
+        oprot.writeString(struct.uniqueWorkingDirectory);
+      }
+      if (struct.isSetCleanUpWorkingDirAfterJob()) {
+        oprot.writeBool(struct.cleanUpWorkingDirAfterJob);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, AdvancedInputDataHandling struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(4);
+      if (incoming.get(0)) {
+        struct.stageInputFilesToWorkingDir = iprot.readBool();
+        struct.setStageInputFilesToWorkingDirIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.parentWorkingDirectory = iprot.readString();
+        struct.setParentWorkingDirectoryIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.uniqueWorkingDirectory = iprot.readString();
+        struct.setUniqueWorkingDirectoryIsSet(true);
+      }
+      if (incoming.get(3)) {
+        struct.cleanUpWorkingDirAfterJob = iprot.readBool();
+        struct.setCleanUpWorkingDirAfterJobIsSet(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/AdvancedOutputDataHandling.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/AdvancedOutputDataHandling.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/AdvancedOutputDataHandling.java
new file mode 100644
index 0000000..b4579d8
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/AdvancedOutputDataHandling.java
@@ -0,0 +1,604 @@
+    /*
+     * 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 specified output data handling.
+ * 
+ */
+@SuppressWarnings("all") public class AdvancedOutputDataHandling implements org.apache.thrift.TBase<AdvancedOutputDataHandling, AdvancedOutputDataHandling._Fields>, java.io.Serializable, Cloneable, Comparable<AdvancedOutputDataHandling> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AdvancedOutputDataHandling");
+
+  private static final org.apache.thrift.protocol.TField OUTPUT_DATA_DIR_FIELD_DESC = new org.apache.thrift.protocol.TField("outputDataDir", org.apache.thrift.protocol.TType.STRING, (short)2);
+  private static final org.apache.thrift.protocol.TField DATA_REGISTRY_URL_FIELD_DESC = new org.apache.thrift.protocol.TField("dataRegistryURL", org.apache.thrift.protocol.TType.STRING, (short)3);
+  private static final org.apache.thrift.protocol.TField PERSIST_OUTPUT_DATA_FIELD_DESC = new org.apache.thrift.protocol.TField("persistOutputData", org.apache.thrift.protocol.TType.BOOL, (short)4);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new AdvancedOutputDataHandlingStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new AdvancedOutputDataHandlingTupleSchemeFactory());
+  }
+
+  private String outputDataDir; // optional
+  private String dataRegistryURL; // optional
+  private boolean persistOutputData; // optional
+
+  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+  @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+    OUTPUT_DATA_DIR((short)2, "outputDataDir"),
+    DATA_REGISTRY_URL((short)3, "dataRegistryURL"),
+    PERSIST_OUTPUT_DATA((short)4, "persistOutputData");
+
+    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+    static {
+      for (_Fields field : EnumSet.allOf(_Fields.class)) {
+        byName.put(field.getFieldName(), field);
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, or null if its not found.
+     */
+    public static _Fields findByThriftId(int fieldId) {
+      switch(fieldId) {
+        case 2: // OUTPUT_DATA_DIR
+          return OUTPUT_DATA_DIR;
+        case 3: // DATA_REGISTRY_URL
+          return DATA_REGISTRY_URL;
+        case 4: // PERSIST_OUTPUT_DATA
+          return PERSIST_OUTPUT_DATA;
+        default:
+          return null;
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, throwing an exception
+     * if it is not found.
+     */
+    public static _Fields findByThriftIdOrThrow(int fieldId) {
+      _Fields fields = findByThriftId(fieldId);
+      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+      return fields;
+    }
+
+    /**
+     * Find the _Fields constant that matches name, or null if its not found.
+     */
+    public static _Fields findByName(String name) {
+      return byName.get(name);
+    }
+
+    private final short _thriftId;
+    private final String _fieldName;
+
+    _Fields(short thriftId, String fieldName) {
+      _thriftId = thriftId;
+      _fieldName = fieldName;
+    }
+
+    public short getThriftFieldId() {
+      return _thriftId;
+    }
+
+    public String getFieldName() {
+      return _fieldName;
+    }
+  }
+
+  // isset id assignments
+  private static final int __PERSISTOUTPUTDATA_ISSET_ID = 0;
+  private byte __isset_bitfield = 0;
+  private _Fields optionals[] = {_Fields.OUTPUT_DATA_DIR,_Fields.DATA_REGISTRY_URL,_Fields.PERSIST_OUTPUT_DATA};
+  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+  static {
+    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    tmpMap.put(_Fields.OUTPUT_DATA_DIR, new org.apache.thrift.meta_data.FieldMetaData("outputDataDir", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.DATA_REGISTRY_URL, new org.apache.thrift.meta_data.FieldMetaData("dataRegistryURL", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.PERSIST_OUTPUT_DATA, new org.apache.thrift.meta_data.FieldMetaData("persistOutputData", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(AdvancedOutputDataHandling.class, metaDataMap);
+  }
+
+  public AdvancedOutputDataHandling() {
+    this.persistOutputData = true;
+
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public AdvancedOutputDataHandling(AdvancedOutputDataHandling other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.isSetOutputDataDir()) {
+      this.outputDataDir = other.outputDataDir;
+    }
+    if (other.isSetDataRegistryURL()) {
+      this.dataRegistryURL = other.dataRegistryURL;
+    }
+    this.persistOutputData = other.persistOutputData;
+  }
+
+  public AdvancedOutputDataHandling deepCopy() {
+    return new AdvancedOutputDataHandling(this);
+  }
+
+  @Override
+  public void clear() {
+    this.outputDataDir = null;
+    this.dataRegistryURL = null;
+    this.persistOutputData = true;
+
+  }
+
+  public String getOutputDataDir() {
+    return this.outputDataDir;
+  }
+
+  public void setOutputDataDir(String outputDataDir) {
+    this.outputDataDir = outputDataDir;
+  }
+
+  public void unsetOutputDataDir() {
+    this.outputDataDir = null;
+  }
+
+  /** Returns true if field outputDataDir is set (has been assigned a value) and false otherwise */
+  public boolean isSetOutputDataDir() {
+    return this.outputDataDir != null;
+  }
+
+  public void setOutputDataDirIsSet(boolean value) {
+    if (!value) {
+      this.outputDataDir = null;
+    }
+  }
+
+  public String getDataRegistryURL() {
+    return this.dataRegistryURL;
+  }
+
+  public void setDataRegistryURL(String dataRegistryURL) {
+    this.dataRegistryURL = dataRegistryURL;
+  }
+
+  public void unsetDataRegistryURL() {
+    this.dataRegistryURL = null;
+  }
+
+  /** Returns true if field dataRegistryURL is set (has been assigned a value) and false otherwise */
+  public boolean isSetDataRegistryURL() {
+    return this.dataRegistryURL != null;
+  }
+
+  public void setDataRegistryURLIsSet(boolean value) {
+    if (!value) {
+      this.dataRegistryURL = null;
+    }
+  }
+
+  public boolean isPersistOutputData() {
+    return this.persistOutputData;
+  }
+
+  public void setPersistOutputData(boolean persistOutputData) {
+    this.persistOutputData = persistOutputData;
+    setPersistOutputDataIsSet(true);
+  }
+
+  public void unsetPersistOutputData() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __PERSISTOUTPUTDATA_ISSET_ID);
+  }
+
+  /** Returns true if field persistOutputData is set (has been assigned a value) and false otherwise */
+  public boolean isSetPersistOutputData() {
+    return EncodingUtils.testBit(__isset_bitfield, __PERSISTOUTPUTDATA_ISSET_ID);
+  }
+
+  public void setPersistOutputDataIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __PERSISTOUTPUTDATA_ISSET_ID, value);
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case OUTPUT_DATA_DIR:
+      if (value == null) {
+        unsetOutputDataDir();
+      } else {
+        setOutputDataDir((String)value);
+      }
+      break;
+
+    case DATA_REGISTRY_URL:
+      if (value == null) {
+        unsetDataRegistryURL();
+      } else {
+        setDataRegistryURL((String)value);
+      }
+      break;
+
+    case PERSIST_OUTPUT_DATA:
+      if (value == null) {
+        unsetPersistOutputData();
+      } else {
+        setPersistOutputData((Boolean)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case OUTPUT_DATA_DIR:
+      return getOutputDataDir();
+
+    case DATA_REGISTRY_URL:
+      return getDataRegistryURL();
+
+    case PERSIST_OUTPUT_DATA:
+      return Boolean.valueOf(isPersistOutputData());
+
+    }
+    throw new IllegalStateException();
+  }
+
+  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  public boolean isSet(_Fields field) {
+    if (field == null) {
+      throw new IllegalArgumentException();
+    }
+
+    switch (field) {
+    case OUTPUT_DATA_DIR:
+      return isSetOutputDataDir();
+    case DATA_REGISTRY_URL:
+      return isSetDataRegistryURL();
+    case PERSIST_OUTPUT_DATA:
+      return isSetPersistOutputData();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof AdvancedOutputDataHandling)
+      return this.equals((AdvancedOutputDataHandling)that);
+    return false;
+  }
+
+  public boolean equals(AdvancedOutputDataHandling that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_outputDataDir = true && this.isSetOutputDataDir();
+    boolean that_present_outputDataDir = true && that.isSetOutputDataDir();
+    if (this_present_outputDataDir || that_present_outputDataDir) {
+      if (!(this_present_outputDataDir && that_present_outputDataDir))
+        return false;
+      if (!this.outputDataDir.equals(that.outputDataDir))
+        return false;
+    }
+
+    boolean this_present_dataRegistryURL = true && this.isSetDataRegistryURL();
+    boolean that_present_dataRegistryURL = true && that.isSetDataRegistryURL();
+    if (this_present_dataRegistryURL || that_present_dataRegistryURL) {
+      if (!(this_present_dataRegistryURL && that_present_dataRegistryURL))
+        return false;
+      if (!this.dataRegistryURL.equals(that.dataRegistryURL))
+        return false;
+    }
+
+    boolean this_present_persistOutputData = true && this.isSetPersistOutputData();
+    boolean that_present_persistOutputData = true && that.isSetPersistOutputData();
+    if (this_present_persistOutputData || that_present_persistOutputData) {
+      if (!(this_present_persistOutputData && that_present_persistOutputData))
+        return false;
+      if (this.persistOutputData != that.persistOutputData)
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  @Override
+  public int compareTo(AdvancedOutputDataHandling other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetOutputDataDir()).compareTo(other.isSetOutputDataDir());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetOutputDataDir()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.outputDataDir, other.outputDataDir);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetDataRegistryURL()).compareTo(other.isSetDataRegistryURL());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDataRegistryURL()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dataRegistryURL, other.dataRegistryURL);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetPersistOutputData()).compareTo(other.isSetPersistOutputData());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetPersistOutputData()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.persistOutputData, other.persistOutputData);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    return 0;
+  }
+
+  public _Fields fieldForId(int fieldId) {
+    return _Fields.findByThriftId(fieldId);
+  }
+
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("AdvancedOutputDataHandling(");
+    boolean first = true;
+
+    if (isSetOutputDataDir()) {
+      sb.append("outputDataDir:");
+      if (this.outputDataDir == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.outputDataDir);
+      }
+      first = false;
+    }
+    if (isSetDataRegistryURL()) {
+      if (!first) sb.append(", ");
+      sb.append("dataRegistryURL:");
+      if (this.dataRegistryURL == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.dataRegistryURL);
+      }
+      first = false;
+    }
+    if (isSetPersistOutputData()) {
+      if (!first) sb.append(", ");
+      sb.append("persistOutputData:");
+      sb.append(this.persistOutputData);
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    // check for sub-struct validity
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+      __isset_bitfield = 0;
+      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class AdvancedOutputDataHandlingStandardSchemeFactory implements SchemeFactory {
+    public AdvancedOutputDataHandlingStandardScheme getScheme() {
+      return new AdvancedOutputDataHandlingStandardScheme();
+    }
+  }
+
+  private static class AdvancedOutputDataHandlingStandardScheme extends StandardScheme<AdvancedOutputDataHandling> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, AdvancedOutputDataHandling struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 2: // OUTPUT_DATA_DIR
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.outputDataDir = iprot.readString();
+              struct.setOutputDataDirIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // DATA_REGISTRY_URL
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.dataRegistryURL = iprot.readString();
+              struct.setDataRegistryURLIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // PERSIST_OUTPUT_DATA
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.persistOutputData = iprot.readBool();
+              struct.setPersistOutputDataIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, AdvancedOutputDataHandling struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.outputDataDir != null) {
+        if (struct.isSetOutputDataDir()) {
+          oprot.writeFieldBegin(OUTPUT_DATA_DIR_FIELD_DESC);
+          oprot.writeString(struct.outputDataDir);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.dataRegistryURL != null) {
+        if (struct.isSetDataRegistryURL()) {
+          oprot.writeFieldBegin(DATA_REGISTRY_URL_FIELD_DESC);
+          oprot.writeString(struct.dataRegistryURL);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetPersistOutputData()) {
+        oprot.writeFieldBegin(PERSIST_OUTPUT_DATA_FIELD_DESC);
+        oprot.writeBool(struct.persistOutputData);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class AdvancedOutputDataHandlingTupleSchemeFactory implements SchemeFactory {
+    public AdvancedOutputDataHandlingTupleScheme getScheme() {
+      return new AdvancedOutputDataHandlingTupleScheme();
+    }
+  }
+
+  private static class AdvancedOutputDataHandlingTupleScheme extends TupleScheme<AdvancedOutputDataHandling> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, AdvancedOutputDataHandling struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetOutputDataDir()) {
+        optionals.set(0);
+      }
+      if (struct.isSetDataRegistryURL()) {
+        optionals.set(1);
+      }
+      if (struct.isSetPersistOutputData()) {
+        optionals.set(2);
+      }
+      oprot.writeBitSet(optionals, 3);
+      if (struct.isSetOutputDataDir()) {
+        oprot.writeString(struct.outputDataDir);
+      }
+      if (struct.isSetDataRegistryURL()) {
+        oprot.writeString(struct.dataRegistryURL);
+      }
+      if (struct.isSetPersistOutputData()) {
+        oprot.writeBool(struct.persistOutputData);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, AdvancedOutputDataHandling struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(3);
+      if (incoming.get(0)) {
+        struct.outputDataDir = iprot.readString();
+        struct.setOutputDataDirIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.dataRegistryURL = iprot.readString();
+        struct.setDataRegistryURLIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.persistOutputData = iprot.readBool();
+        struct.setPersistOutputDataIsSet(true);
+      }
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ApplicationStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ApplicationStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ApplicationStatus.java
new file mode 100644
index 0000000..f5f5921
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ApplicationStatus.java
@@ -0,0 +1,497 @@
+    /*
+     * 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;
+
+@SuppressWarnings("all") public class ApplicationStatus implements org.apache.thrift.TBase<ApplicationStatus, ApplicationStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationStatus> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationStatus");
+
+  private static final org.apache.thrift.protocol.TField APPLICATION_STATE_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationState", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField TIME_OF_STATE_CHANGE_FIELD_DESC = new org.apache.thrift.protocol.TField("timeOfStateChange", org.apache.thrift.protocol.TType.I64, (short)2);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new ApplicationStatusStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new ApplicationStatusTupleSchemeFactory());
+  }
+
+  private String applicationState; // required
+  private long timeOfStateChange; // 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 {
+    APPLICATION_STATE((short)1, "applicationState"),
+    TIME_OF_STATE_CHANGE((short)2, "timeOfStateChange");
+
+    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: // APPLICATION_STATE
+          return APPLICATION_STATE;
+        case 2: // TIME_OF_STATE_CHANGE
+          return TIME_OF_STATE_CHANGE;
+        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 __TIMEOFSTATECHANGE_ISSET_ID = 0;
+  private byte __isset_bitfield = 0;
+  private _Fields optionals[] = {_Fields.TIME_OF_STATE_CHANGE};
+  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.APPLICATION_STATE, new org.apache.thrift.meta_data.FieldMetaData("applicationState", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.TIME_OF_STATE_CHANGE, new org.apache.thrift.meta_data.FieldMetaData("timeOfStateChange", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ApplicationStatus.class, metaDataMap);
+  }
+
+  public ApplicationStatus() {
+  }
+
+  public ApplicationStatus(
+    String applicationState)
+  {
+    this();
+    this.applicationState = applicationState;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public ApplicationStatus(ApplicationStatus other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.isSetApplicationState()) {
+      this.applicationState = other.applicationState;
+    }
+    this.timeOfStateChange = other.timeOfStateChange;
+  }
+
+  public ApplicationStatus deepCopy() {
+    return new ApplicationStatus(this);
+  }
+
+  @Override
+  public void clear() {
+    this.applicationState = null;
+    setTimeOfStateChangeIsSet(false);
+    this.timeOfStateChange = 0;
+  }
+
+  public String getApplicationState() {
+    return this.applicationState;
+  }
+
+  public void setApplicationState(String applicationState) {
+    this.applicationState = applicationState;
+  }
+
+  public void unsetApplicationState() {
+    this.applicationState = null;
+  }
+
+  /** Returns true if field applicationState is set (has been assigned a value) and false otherwise */
+  public boolean isSetApplicationState() {
+    return this.applicationState != null;
+  }
+
+  public void setApplicationStateIsSet(boolean value) {
+    if (!value) {
+      this.applicationState = null;
+    }
+  }
+
+  public long getTimeOfStateChange() {
+    return this.timeOfStateChange;
+  }
+
+  public void setTimeOfStateChange(long timeOfStateChange) {
+    this.timeOfStateChange = timeOfStateChange;
+    setTimeOfStateChangeIsSet(true);
+  }
+
+  public void unsetTimeOfStateChange() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
+  }
+
+  /** Returns true if field timeOfStateChange is set (has been assigned a value) and false otherwise */
+  public boolean isSetTimeOfStateChange() {
+    return EncodingUtils.testBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
+  }
+
+  public void setTimeOfStateChangeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID, value);
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case APPLICATION_STATE:
+      if (value == null) {
+        unsetApplicationState();
+      } else {
+        setApplicationState((String)value);
+      }
+      break;
+
+    case TIME_OF_STATE_CHANGE:
+      if (value == null) {
+        unsetTimeOfStateChange();
+      } else {
+        setTimeOfStateChange((Long)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case APPLICATION_STATE:
+      return getApplicationState();
+
+    case TIME_OF_STATE_CHANGE:
+      return Long.valueOf(getTimeOfStateChange());
+
+    }
+    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 APPLICATION_STATE:
+      return isSetApplicationState();
+    case TIME_OF_STATE_CHANGE:
+      return isSetTimeOfStateChange();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof ApplicationStatus)
+      return this.equals((ApplicationStatus)that);
+    return false;
+  }
+
+  public boolean equals(ApplicationStatus that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_applicationState = true && this.isSetApplicationState();
+    boolean that_present_applicationState = true && that.isSetApplicationState();
+    if (this_present_applicationState || that_present_applicationState) {
+      if (!(this_present_applicationState && that_present_applicationState))
+        return false;
+      if (!this.applicationState.equals(that.applicationState))
+        return false;
+    }
+
+    boolean this_present_timeOfStateChange = true && this.isSetTimeOfStateChange();
+    boolean that_present_timeOfStateChange = true && that.isSetTimeOfStateChange();
+    if (this_present_timeOfStateChange || that_present_timeOfStateChange) {
+      if (!(this_present_timeOfStateChange && that_present_timeOfStateChange))
+        return false;
+      if (this.timeOfStateChange != that.timeOfStateChange)
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  @Override
+  public int compareTo(ApplicationStatus other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetApplicationState()).compareTo(other.isSetApplicationState());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetApplicationState()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.applicationState, other.applicationState);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTimeOfStateChange()).compareTo(other.isSetTimeOfStateChange());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTimeOfStateChange()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.timeOfStateChange, other.timeOfStateChange);
+      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("ApplicationStatus(");
+    boolean first = true;
+
+    sb.append("applicationState:");
+    if (this.applicationState == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.applicationState);
+    }
+    first = false;
+    if (isSetTimeOfStateChange()) {
+      if (!first) sb.append(", ");
+      sb.append("timeOfStateChange:");
+      sb.append(this.timeOfStateChange);
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!isSetApplicationState()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'applicationState' 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 {
+      // 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 ApplicationStatusStandardSchemeFactory implements SchemeFactory {
+    public ApplicationStatusStandardScheme getScheme() {
+      return new ApplicationStatusStandardScheme();
+    }
+  }
+
+  private static class ApplicationStatusStandardScheme extends StandardScheme<ApplicationStatus> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, ApplicationStatus 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: // APPLICATION_STATE
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.applicationState = iprot.readString();
+              struct.setApplicationStateIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // TIME_OF_STATE_CHANGE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.timeOfStateChange = iprot.readI64();
+              struct.setTimeOfStateChangeIsSet(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, ApplicationStatus struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.applicationState != null) {
+        oprot.writeFieldBegin(APPLICATION_STATE_FIELD_DESC);
+        oprot.writeString(struct.applicationState);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetTimeOfStateChange()) {
+        oprot.writeFieldBegin(TIME_OF_STATE_CHANGE_FIELD_DESC);
+        oprot.writeI64(struct.timeOfStateChange);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class ApplicationStatusTupleSchemeFactory implements SchemeFactory {
+    public ApplicationStatusTupleScheme getScheme() {
+      return new ApplicationStatusTupleScheme();
+    }
+  }
+
+  private static class ApplicationStatusTupleScheme extends TupleScheme<ApplicationStatus> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, ApplicationStatus struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeString(struct.applicationState);
+      BitSet optionals = new BitSet();
+      if (struct.isSetTimeOfStateChange()) {
+        optionals.set(0);
+      }
+      oprot.writeBitSet(optionals, 1);
+      if (struct.isSetTimeOfStateChange()) {
+        oprot.writeI64(struct.timeOfStateChange);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, ApplicationStatus struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.applicationState = iprot.readString();
+      struct.setApplicationStateIsSet(true);
+      BitSet incoming = iprot.readBitSet(1);
+      if (incoming.get(0)) {
+        struct.timeOfStateChange = iprot.readI64();
+        struct.setTimeOfStateChangeIsSet(true);
+      }
+    }
+  }
+
+}
+


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

Posted by sm...@apache.org.
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);
+      }
+    }
+  }
+
+}
+


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

Posted by sm...@apache.org.
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/QualityOfServiceParams.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/QualityOfServiceParams.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/QualityOfServiceParams.java
new file mode 100644
index 0000000..29e88d5
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/QualityOfServiceParams.java
@@ -0,0 +1,602 @@
+    /*
+     * 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 Quality of Service Parameters.
+ * 
+ */
+@SuppressWarnings("all") public class QualityOfServiceParams implements org.apache.thrift.TBase<QualityOfServiceParams, QualityOfServiceParams._Fields>, java.io.Serializable, Cloneable, Comparable<QualityOfServiceParams> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("QualityOfServiceParams");
+
+  private static final org.apache.thrift.protocol.TField START_EXECUTION_AT_FIELD_DESC = new org.apache.thrift.protocol.TField("startExecutionAt", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField EXECUTE_BEFORE_FIELD_DESC = new org.apache.thrift.protocol.TField("executeBefore", org.apache.thrift.protocol.TType.STRING, (short)2);
+  private static final org.apache.thrift.protocol.TField NUMBEROF_RETRIES_FIELD_DESC = new org.apache.thrift.protocol.TField("numberofRetries", org.apache.thrift.protocol.TType.I32, (short)3);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new QualityOfServiceParamsStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new QualityOfServiceParamsTupleSchemeFactory());
+  }
+
+  private String startExecutionAt; // optional
+  private String executeBefore; // optional
+  private int numberofRetries; // 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 {
+    START_EXECUTION_AT((short)1, "startExecutionAt"),
+    EXECUTE_BEFORE((short)2, "executeBefore"),
+    NUMBEROF_RETRIES((short)3, "numberofRetries");
+
+    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: // START_EXECUTION_AT
+          return START_EXECUTION_AT;
+        case 2: // EXECUTE_BEFORE
+          return EXECUTE_BEFORE;
+        case 3: // NUMBEROF_RETRIES
+          return NUMBEROF_RETRIES;
+        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 __NUMBEROFRETRIES_ISSET_ID = 0;
+  private byte __isset_bitfield = 0;
+  private _Fields optionals[] = {_Fields.START_EXECUTION_AT,_Fields.EXECUTE_BEFORE,_Fields.NUMBEROF_RETRIES};
+  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.START_EXECUTION_AT, new org.apache.thrift.meta_data.FieldMetaData("startExecutionAt", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.EXECUTE_BEFORE, new org.apache.thrift.meta_data.FieldMetaData("executeBefore", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.NUMBEROF_RETRIES, new org.apache.thrift.meta_data.FieldMetaData("numberofRetries", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(QualityOfServiceParams.class, metaDataMap);
+  }
+
+  public QualityOfServiceParams() {
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public QualityOfServiceParams(QualityOfServiceParams other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.isSetStartExecutionAt()) {
+      this.startExecutionAt = other.startExecutionAt;
+    }
+    if (other.isSetExecuteBefore()) {
+      this.executeBefore = other.executeBefore;
+    }
+    this.numberofRetries = other.numberofRetries;
+  }
+
+  public QualityOfServiceParams deepCopy() {
+    return new QualityOfServiceParams(this);
+  }
+
+  @Override
+  public void clear() {
+    this.startExecutionAt = null;
+    this.executeBefore = null;
+    setNumberofRetriesIsSet(false);
+    this.numberofRetries = 0;
+  }
+
+  public String getStartExecutionAt() {
+    return this.startExecutionAt;
+  }
+
+  public void setStartExecutionAt(String startExecutionAt) {
+    this.startExecutionAt = startExecutionAt;
+  }
+
+  public void unsetStartExecutionAt() {
+    this.startExecutionAt = null;
+  }
+
+  /** Returns true if field startExecutionAt is set (has been assigned a value) and false otherwise */
+  public boolean isSetStartExecutionAt() {
+    return this.startExecutionAt != null;
+  }
+
+  public void setStartExecutionAtIsSet(boolean value) {
+    if (!value) {
+      this.startExecutionAt = null;
+    }
+  }
+
+  public String getExecuteBefore() {
+    return this.executeBefore;
+  }
+
+  public void setExecuteBefore(String executeBefore) {
+    this.executeBefore = executeBefore;
+  }
+
+  public void unsetExecuteBefore() {
+    this.executeBefore = null;
+  }
+
+  /** Returns true if field executeBefore is set (has been assigned a value) and false otherwise */
+  public boolean isSetExecuteBefore() {
+    return this.executeBefore != null;
+  }
+
+  public void setExecuteBeforeIsSet(boolean value) {
+    if (!value) {
+      this.executeBefore = null;
+    }
+  }
+
+  public int getNumberofRetries() {
+    return this.numberofRetries;
+  }
+
+  public void setNumberofRetries(int numberofRetries) {
+    this.numberofRetries = numberofRetries;
+    setNumberofRetriesIsSet(true);
+  }
+
+  public void unsetNumberofRetries() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __NUMBEROFRETRIES_ISSET_ID);
+  }
+
+  /** Returns true if field numberofRetries is set (has been assigned a value) and false otherwise */
+  public boolean isSetNumberofRetries() {
+    return EncodingUtils.testBit(__isset_bitfield, __NUMBEROFRETRIES_ISSET_ID);
+  }
+
+  public void setNumberofRetriesIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __NUMBEROFRETRIES_ISSET_ID, value);
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case START_EXECUTION_AT:
+      if (value == null) {
+        unsetStartExecutionAt();
+      } else {
+        setStartExecutionAt((String)value);
+      }
+      break;
+
+    case EXECUTE_BEFORE:
+      if (value == null) {
+        unsetExecuteBefore();
+      } else {
+        setExecuteBefore((String)value);
+      }
+      break;
+
+    case NUMBEROF_RETRIES:
+      if (value == null) {
+        unsetNumberofRetries();
+      } else {
+        setNumberofRetries((Integer)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case START_EXECUTION_AT:
+      return getStartExecutionAt();
+
+    case EXECUTE_BEFORE:
+      return getExecuteBefore();
+
+    case NUMBEROF_RETRIES:
+      return Integer.valueOf(getNumberofRetries());
+
+    }
+    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 START_EXECUTION_AT:
+      return isSetStartExecutionAt();
+    case EXECUTE_BEFORE:
+      return isSetExecuteBefore();
+    case NUMBEROF_RETRIES:
+      return isSetNumberofRetries();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof QualityOfServiceParams)
+      return this.equals((QualityOfServiceParams)that);
+    return false;
+  }
+
+  public boolean equals(QualityOfServiceParams that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_startExecutionAt = true && this.isSetStartExecutionAt();
+    boolean that_present_startExecutionAt = true && that.isSetStartExecutionAt();
+    if (this_present_startExecutionAt || that_present_startExecutionAt) {
+      if (!(this_present_startExecutionAt && that_present_startExecutionAt))
+        return false;
+      if (!this.startExecutionAt.equals(that.startExecutionAt))
+        return false;
+    }
+
+    boolean this_present_executeBefore = true && this.isSetExecuteBefore();
+    boolean that_present_executeBefore = true && that.isSetExecuteBefore();
+    if (this_present_executeBefore || that_present_executeBefore) {
+      if (!(this_present_executeBefore && that_present_executeBefore))
+        return false;
+      if (!this.executeBefore.equals(that.executeBefore))
+        return false;
+    }
+
+    boolean this_present_numberofRetries = true && this.isSetNumberofRetries();
+    boolean that_present_numberofRetries = true && that.isSetNumberofRetries();
+    if (this_present_numberofRetries || that_present_numberofRetries) {
+      if (!(this_present_numberofRetries && that_present_numberofRetries))
+        return false;
+      if (this.numberofRetries != that.numberofRetries)
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  @Override
+  public int compareTo(QualityOfServiceParams other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetStartExecutionAt()).compareTo(other.isSetStartExecutionAt());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetStartExecutionAt()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.startExecutionAt, other.startExecutionAt);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetExecuteBefore()).compareTo(other.isSetExecuteBefore());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetExecuteBefore()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.executeBefore, other.executeBefore);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetNumberofRetries()).compareTo(other.isSetNumberofRetries());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetNumberofRetries()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.numberofRetries, other.numberofRetries);
+      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("QualityOfServiceParams(");
+    boolean first = true;
+
+    if (isSetStartExecutionAt()) {
+      sb.append("startExecutionAt:");
+      if (this.startExecutionAt == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.startExecutionAt);
+      }
+      first = false;
+    }
+    if (isSetExecuteBefore()) {
+      if (!first) sb.append(", ");
+      sb.append("executeBefore:");
+      if (this.executeBefore == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.executeBefore);
+      }
+      first = false;
+    }
+    if (isSetNumberofRetries()) {
+      if (!first) sb.append(", ");
+      sb.append("numberofRetries:");
+      sb.append(this.numberofRetries);
+      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 QualityOfServiceParamsStandardSchemeFactory implements SchemeFactory {
+    public QualityOfServiceParamsStandardScheme getScheme() {
+      return new QualityOfServiceParamsStandardScheme();
+    }
+  }
+
+  private static class QualityOfServiceParamsStandardScheme extends StandardScheme<QualityOfServiceParams> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, QualityOfServiceParams 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: // START_EXECUTION_AT
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.startExecutionAt = iprot.readString();
+              struct.setStartExecutionAtIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // EXECUTE_BEFORE
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.executeBefore = iprot.readString();
+              struct.setExecuteBeforeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // NUMBEROF_RETRIES
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.numberofRetries = iprot.readI32();
+              struct.setNumberofRetriesIsSet(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, QualityOfServiceParams struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.startExecutionAt != null) {
+        if (struct.isSetStartExecutionAt()) {
+          oprot.writeFieldBegin(START_EXECUTION_AT_FIELD_DESC);
+          oprot.writeString(struct.startExecutionAt);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.executeBefore != null) {
+        if (struct.isSetExecuteBefore()) {
+          oprot.writeFieldBegin(EXECUTE_BEFORE_FIELD_DESC);
+          oprot.writeString(struct.executeBefore);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetNumberofRetries()) {
+        oprot.writeFieldBegin(NUMBEROF_RETRIES_FIELD_DESC);
+        oprot.writeI32(struct.numberofRetries);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class QualityOfServiceParamsTupleSchemeFactory implements SchemeFactory {
+    public QualityOfServiceParamsTupleScheme getScheme() {
+      return new QualityOfServiceParamsTupleScheme();
+    }
+  }
+
+  private static class QualityOfServiceParamsTupleScheme extends TupleScheme<QualityOfServiceParams> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, QualityOfServiceParams struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetStartExecutionAt()) {
+        optionals.set(0);
+      }
+      if (struct.isSetExecuteBefore()) {
+        optionals.set(1);
+      }
+      if (struct.isSetNumberofRetries()) {
+        optionals.set(2);
+      }
+      oprot.writeBitSet(optionals, 3);
+      if (struct.isSetStartExecutionAt()) {
+        oprot.writeString(struct.startExecutionAt);
+      }
+      if (struct.isSetExecuteBefore()) {
+        oprot.writeString(struct.executeBefore);
+      }
+      if (struct.isSetNumberofRetries()) {
+        oprot.writeI32(struct.numberofRetries);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, QualityOfServiceParams struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(3);
+      if (incoming.get(0)) {
+        struct.startExecutionAt = iprot.readString();
+        struct.setStartExecutionAtIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.executeBefore = iprot.readString();
+        struct.setExecuteBeforeIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.numberofRetries = iprot.readI32();
+        struct.setNumberofRetriesIsSet(true);
+      }
+    }
+  }
+
+}
+


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

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/QualityOfServiceParams.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/QualityOfServiceParams.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/QualityOfServiceParams.java
deleted file mode 100644
index 0df6139..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/QualityOfServiceParams.java
+++ /dev/null
@@ -1,602 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A structure holding Quality of Service Parameters.
- * 
- */
-@SuppressWarnings("all") public class QualityOfServiceParams implements org.apache.thrift.TBase<QualityOfServiceParams, QualityOfServiceParams._Fields>, java.io.Serializable, Cloneable, Comparable<QualityOfServiceParams> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("QualityOfServiceParams");
-
-  private static final org.apache.thrift.protocol.TField START_EXECUTION_AT_FIELD_DESC = new org.apache.thrift.protocol.TField("startExecutionAt", org.apache.thrift.protocol.TType.STRING, (short)1);
-  private static final org.apache.thrift.protocol.TField EXECUTE_BEFORE_FIELD_DESC = new org.apache.thrift.protocol.TField("executeBefore", org.apache.thrift.protocol.TType.STRING, (short)2);
-  private static final org.apache.thrift.protocol.TField NUMBEROF_RETRIES_FIELD_DESC = new org.apache.thrift.protocol.TField("numberofRetries", org.apache.thrift.protocol.TType.I32, (short)3);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new QualityOfServiceParamsStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new QualityOfServiceParamsTupleSchemeFactory());
-  }
-
-  private String startExecutionAt; // optional
-  private String executeBefore; // optional
-  private int numberofRetries; // 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 {
-    START_EXECUTION_AT((short)1, "startExecutionAt"),
-    EXECUTE_BEFORE((short)2, "executeBefore"),
-    NUMBEROF_RETRIES((short)3, "numberofRetries");
-
-    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: // START_EXECUTION_AT
-          return START_EXECUTION_AT;
-        case 2: // EXECUTE_BEFORE
-          return EXECUTE_BEFORE;
-        case 3: // NUMBEROF_RETRIES
-          return NUMBEROF_RETRIES;
-        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 __NUMBEROFRETRIES_ISSET_ID = 0;
-  private byte __isset_bitfield = 0;
-  private _Fields optionals[] = {_Fields.START_EXECUTION_AT,_Fields.EXECUTE_BEFORE,_Fields.NUMBEROF_RETRIES};
-  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.START_EXECUTION_AT, new org.apache.thrift.meta_data.FieldMetaData("startExecutionAt", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.EXECUTE_BEFORE, new org.apache.thrift.meta_data.FieldMetaData("executeBefore", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.NUMBEROF_RETRIES, new org.apache.thrift.meta_data.FieldMetaData("numberofRetries", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
-    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(QualityOfServiceParams.class, metaDataMap);
-  }
-
-  public QualityOfServiceParams() {
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public QualityOfServiceParams(QualityOfServiceParams other) {
-    __isset_bitfield = other.__isset_bitfield;
-    if (other.isSetStartExecutionAt()) {
-      this.startExecutionAt = other.startExecutionAt;
-    }
-    if (other.isSetExecuteBefore()) {
-      this.executeBefore = other.executeBefore;
-    }
-    this.numberofRetries = other.numberofRetries;
-  }
-
-  public QualityOfServiceParams deepCopy() {
-    return new QualityOfServiceParams(this);
-  }
-
-  @Override
-  public void clear() {
-    this.startExecutionAt = null;
-    this.executeBefore = null;
-    setNumberofRetriesIsSet(false);
-    this.numberofRetries = 0;
-  }
-
-  public String getStartExecutionAt() {
-    return this.startExecutionAt;
-  }
-
-  public void setStartExecutionAt(String startExecutionAt) {
-    this.startExecutionAt = startExecutionAt;
-  }
-
-  public void unsetStartExecutionAt() {
-    this.startExecutionAt = null;
-  }
-
-  /** Returns true if field startExecutionAt is set (has been assigned a value) and false otherwise */
-  public boolean isSetStartExecutionAt() {
-    return this.startExecutionAt != null;
-  }
-
-  public void setStartExecutionAtIsSet(boolean value) {
-    if (!value) {
-      this.startExecutionAt = null;
-    }
-  }
-
-  public String getExecuteBefore() {
-    return this.executeBefore;
-  }
-
-  public void setExecuteBefore(String executeBefore) {
-    this.executeBefore = executeBefore;
-  }
-
-  public void unsetExecuteBefore() {
-    this.executeBefore = null;
-  }
-
-  /** Returns true if field executeBefore is set (has been assigned a value) and false otherwise */
-  public boolean isSetExecuteBefore() {
-    return this.executeBefore != null;
-  }
-
-  public void setExecuteBeforeIsSet(boolean value) {
-    if (!value) {
-      this.executeBefore = null;
-    }
-  }
-
-  public int getNumberofRetries() {
-    return this.numberofRetries;
-  }
-
-  public void setNumberofRetries(int numberofRetries) {
-    this.numberofRetries = numberofRetries;
-    setNumberofRetriesIsSet(true);
-  }
-
-  public void unsetNumberofRetries() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __NUMBEROFRETRIES_ISSET_ID);
-  }
-
-  /** Returns true if field numberofRetries is set (has been assigned a value) and false otherwise */
-  public boolean isSetNumberofRetries() {
-    return EncodingUtils.testBit(__isset_bitfield, __NUMBEROFRETRIES_ISSET_ID);
-  }
-
-  public void setNumberofRetriesIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __NUMBEROFRETRIES_ISSET_ID, value);
-  }
-
-  public void setFieldValue(_Fields field, Object value) {
-    switch (field) {
-    case START_EXECUTION_AT:
-      if (value == null) {
-        unsetStartExecutionAt();
-      } else {
-        setStartExecutionAt((String)value);
-      }
-      break;
-
-    case EXECUTE_BEFORE:
-      if (value == null) {
-        unsetExecuteBefore();
-      } else {
-        setExecuteBefore((String)value);
-      }
-      break;
-
-    case NUMBEROF_RETRIES:
-      if (value == null) {
-        unsetNumberofRetries();
-      } else {
-        setNumberofRetries((Integer)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case START_EXECUTION_AT:
-      return getStartExecutionAt();
-
-    case EXECUTE_BEFORE:
-      return getExecuteBefore();
-
-    case NUMBEROF_RETRIES:
-      return Integer.valueOf(getNumberofRetries());
-
-    }
-    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 START_EXECUTION_AT:
-      return isSetStartExecutionAt();
-    case EXECUTE_BEFORE:
-      return isSetExecuteBefore();
-    case NUMBEROF_RETRIES:
-      return isSetNumberofRetries();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof QualityOfServiceParams)
-      return this.equals((QualityOfServiceParams)that);
-    return false;
-  }
-
-  public boolean equals(QualityOfServiceParams that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_startExecutionAt = true && this.isSetStartExecutionAt();
-    boolean that_present_startExecutionAt = true && that.isSetStartExecutionAt();
-    if (this_present_startExecutionAt || that_present_startExecutionAt) {
-      if (!(this_present_startExecutionAt && that_present_startExecutionAt))
-        return false;
-      if (!this.startExecutionAt.equals(that.startExecutionAt))
-        return false;
-    }
-
-    boolean this_present_executeBefore = true && this.isSetExecuteBefore();
-    boolean that_present_executeBefore = true && that.isSetExecuteBefore();
-    if (this_present_executeBefore || that_present_executeBefore) {
-      if (!(this_present_executeBefore && that_present_executeBefore))
-        return false;
-      if (!this.executeBefore.equals(that.executeBefore))
-        return false;
-    }
-
-    boolean this_present_numberofRetries = true && this.isSetNumberofRetries();
-    boolean that_present_numberofRetries = true && that.isSetNumberofRetries();
-    if (this_present_numberofRetries || that_present_numberofRetries) {
-      if (!(this_present_numberofRetries && that_present_numberofRetries))
-        return false;
-      if (this.numberofRetries != that.numberofRetries)
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    return 0;
-  }
-
-  @Override
-  public int compareTo(QualityOfServiceParams other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = Boolean.valueOf(isSetStartExecutionAt()).compareTo(other.isSetStartExecutionAt());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetStartExecutionAt()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.startExecutionAt, other.startExecutionAt);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetExecuteBefore()).compareTo(other.isSetExecuteBefore());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetExecuteBefore()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.executeBefore, other.executeBefore);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetNumberofRetries()).compareTo(other.isSetNumberofRetries());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetNumberofRetries()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.numberofRetries, other.numberofRetries);
-      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("QualityOfServiceParams(");
-    boolean first = true;
-
-    if (isSetStartExecutionAt()) {
-      sb.append("startExecutionAt:");
-      if (this.startExecutionAt == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.startExecutionAt);
-      }
-      first = false;
-    }
-    if (isSetExecuteBefore()) {
-      if (!first) sb.append(", ");
-      sb.append("executeBefore:");
-      if (this.executeBefore == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.executeBefore);
-      }
-      first = false;
-    }
-    if (isSetNumberofRetries()) {
-      if (!first) sb.append(", ");
-      sb.append("numberofRetries:");
-      sb.append(this.numberofRetries);
-      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 QualityOfServiceParamsStandardSchemeFactory implements SchemeFactory {
-    public QualityOfServiceParamsStandardScheme getScheme() {
-      return new QualityOfServiceParamsStandardScheme();
-    }
-  }
-
-  private static class QualityOfServiceParamsStandardScheme extends StandardScheme<QualityOfServiceParams> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, QualityOfServiceParams 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: // START_EXECUTION_AT
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.startExecutionAt = iprot.readString();
-              struct.setStartExecutionAtIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 2: // EXECUTE_BEFORE
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.executeBefore = iprot.readString();
-              struct.setExecuteBeforeIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 3: // NUMBEROF_RETRIES
-            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              struct.numberofRetries = iprot.readI32();
-              struct.setNumberofRetriesIsSet(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, QualityOfServiceParams struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.startExecutionAt != null) {
-        if (struct.isSetStartExecutionAt()) {
-          oprot.writeFieldBegin(START_EXECUTION_AT_FIELD_DESC);
-          oprot.writeString(struct.startExecutionAt);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.executeBefore != null) {
-        if (struct.isSetExecuteBefore()) {
-          oprot.writeFieldBegin(EXECUTE_BEFORE_FIELD_DESC);
-          oprot.writeString(struct.executeBefore);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.isSetNumberofRetries()) {
-        oprot.writeFieldBegin(NUMBEROF_RETRIES_FIELD_DESC);
-        oprot.writeI32(struct.numberofRetries);
-        oprot.writeFieldEnd();
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class QualityOfServiceParamsTupleSchemeFactory implements SchemeFactory {
-    public QualityOfServiceParamsTupleScheme getScheme() {
-      return new QualityOfServiceParamsTupleScheme();
-    }
-  }
-
-  private static class QualityOfServiceParamsTupleScheme extends TupleScheme<QualityOfServiceParams> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, QualityOfServiceParams struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      BitSet optionals = new BitSet();
-      if (struct.isSetStartExecutionAt()) {
-        optionals.set(0);
-      }
-      if (struct.isSetExecuteBefore()) {
-        optionals.set(1);
-      }
-      if (struct.isSetNumberofRetries()) {
-        optionals.set(2);
-      }
-      oprot.writeBitSet(optionals, 3);
-      if (struct.isSetStartExecutionAt()) {
-        oprot.writeString(struct.startExecutionAt);
-      }
-      if (struct.isSetExecuteBefore()) {
-        oprot.writeString(struct.executeBefore);
-      }
-      if (struct.isSetNumberofRetries()) {
-        oprot.writeI32(struct.numberofRetries);
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, QualityOfServiceParams struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(3);
-      if (incoming.get(0)) {
-        struct.startExecutionAt = iprot.readString();
-        struct.setStartExecutionAtIsSet(true);
-      }
-      if (incoming.get(1)) {
-        struct.executeBefore = iprot.readString();
-        struct.setExecuteBeforeIsSet(true);
-      }
-      if (incoming.get(2)) {
-        struct.numberofRetries = iprot.readI32();
-        struct.setNumberofRetriesIsSet(true);
-      }
-    }
-  }
-
-}
-


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

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatus.java
deleted file mode 100644
index 6bb39d0..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatus.java
+++ /dev/null
@@ -1,509 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@SuppressWarnings("all") public class ExperimentStatus implements org.apache.thrift.TBase<ExperimentStatus, ExperimentStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentStatus> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentStatus");
-
-  private static final org.apache.thrift.protocol.TField EXPERIMENT_STATE_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentState", org.apache.thrift.protocol.TType.I32, (short)1);
-  private static final org.apache.thrift.protocol.TField TIME_OF_STATE_CHANGE_FIELD_DESC = new org.apache.thrift.protocol.TField("timeOfStateChange", org.apache.thrift.protocol.TType.I64, (short)2);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new ExperimentStatusStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new ExperimentStatusTupleSchemeFactory());
-  }
-
-  private ExperimentState experimentState; // required
-  private long timeOfStateChange; // 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 {
-    /**
-     * 
-     * @see ExperimentState
-     */
-    EXPERIMENT_STATE((short)1, "experimentState"),
-    TIME_OF_STATE_CHANGE((short)2, "timeOfStateChange");
-
-    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: // EXPERIMENT_STATE
-          return EXPERIMENT_STATE;
-        case 2: // TIME_OF_STATE_CHANGE
-          return TIME_OF_STATE_CHANGE;
-        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 __TIMEOFSTATECHANGE_ISSET_ID = 0;
-  private byte __isset_bitfield = 0;
-  private _Fields optionals[] = {_Fields.TIME_OF_STATE_CHANGE};
-  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.EXPERIMENT_STATE, new org.apache.thrift.meta_data.FieldMetaData("experimentState", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, ExperimentState.class)));
-    tmpMap.put(_Fields.TIME_OF_STATE_CHANGE, new org.apache.thrift.meta_data.FieldMetaData("timeOfStateChange", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
-    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ExperimentStatus.class, metaDataMap);
-  }
-
-  public ExperimentStatus() {
-  }
-
-  public ExperimentStatus(
-    ExperimentState experimentState)
-  {
-    this();
-    this.experimentState = experimentState;
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public ExperimentStatus(ExperimentStatus other) {
-    __isset_bitfield = other.__isset_bitfield;
-    if (other.isSetExperimentState()) {
-      this.experimentState = other.experimentState;
-    }
-    this.timeOfStateChange = other.timeOfStateChange;
-  }
-
-  public ExperimentStatus deepCopy() {
-    return new ExperimentStatus(this);
-  }
-
-  @Override
-  public void clear() {
-    this.experimentState = null;
-    setTimeOfStateChangeIsSet(false);
-    this.timeOfStateChange = 0;
-  }
-
-  /**
-   * 
-   * @see ExperimentState
-   */
-  public ExperimentState getExperimentState() {
-    return this.experimentState;
-  }
-
-  /**
-   * 
-   * @see ExperimentState
-   */
-  public void setExperimentState(ExperimentState experimentState) {
-    this.experimentState = experimentState;
-  }
-
-  public void unsetExperimentState() {
-    this.experimentState = null;
-  }
-
-  /** Returns true if field experimentState is set (has been assigned a value) and false otherwise */
-  public boolean isSetExperimentState() {
-    return this.experimentState != null;
-  }
-
-  public void setExperimentStateIsSet(boolean value) {
-    if (!value) {
-      this.experimentState = null;
-    }
-  }
-
-  public long getTimeOfStateChange() {
-    return this.timeOfStateChange;
-  }
-
-  public void setTimeOfStateChange(long timeOfStateChange) {
-    this.timeOfStateChange = timeOfStateChange;
-    setTimeOfStateChangeIsSet(true);
-  }
-
-  public void unsetTimeOfStateChange() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
-  }
-
-  /** Returns true if field timeOfStateChange is set (has been assigned a value) and false otherwise */
-  public boolean isSetTimeOfStateChange() {
-    return EncodingUtils.testBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
-  }
-
-  public void setTimeOfStateChangeIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID, value);
-  }
-
-  public void setFieldValue(_Fields field, Object value) {
-    switch (field) {
-    case EXPERIMENT_STATE:
-      if (value == null) {
-        unsetExperimentState();
-      } else {
-        setExperimentState((ExperimentState)value);
-      }
-      break;
-
-    case TIME_OF_STATE_CHANGE:
-      if (value == null) {
-        unsetTimeOfStateChange();
-      } else {
-        setTimeOfStateChange((Long)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case EXPERIMENT_STATE:
-      return getExperimentState();
-
-    case TIME_OF_STATE_CHANGE:
-      return Long.valueOf(getTimeOfStateChange());
-
-    }
-    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 EXPERIMENT_STATE:
-      return isSetExperimentState();
-    case TIME_OF_STATE_CHANGE:
-      return isSetTimeOfStateChange();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof ExperimentStatus)
-      return this.equals((ExperimentStatus)that);
-    return false;
-  }
-
-  public boolean equals(ExperimentStatus that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_experimentState = true && this.isSetExperimentState();
-    boolean that_present_experimentState = true && that.isSetExperimentState();
-    if (this_present_experimentState || that_present_experimentState) {
-      if (!(this_present_experimentState && that_present_experimentState))
-        return false;
-      if (!this.experimentState.equals(that.experimentState))
-        return false;
-    }
-
-    boolean this_present_timeOfStateChange = true && this.isSetTimeOfStateChange();
-    boolean that_present_timeOfStateChange = true && that.isSetTimeOfStateChange();
-    if (this_present_timeOfStateChange || that_present_timeOfStateChange) {
-      if (!(this_present_timeOfStateChange && that_present_timeOfStateChange))
-        return false;
-      if (this.timeOfStateChange != that.timeOfStateChange)
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    return 0;
-  }
-
-  @Override
-  public int compareTo(ExperimentStatus other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = Boolean.valueOf(isSetExperimentState()).compareTo(other.isSetExperimentState());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetExperimentState()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentState, other.experimentState);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetTimeOfStateChange()).compareTo(other.isSetTimeOfStateChange());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetTimeOfStateChange()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.timeOfStateChange, other.timeOfStateChange);
-      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("ExperimentStatus(");
-    boolean first = true;
-
-    sb.append("experimentState:");
-    if (this.experimentState == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.experimentState);
-    }
-    first = false;
-    if (isSetTimeOfStateChange()) {
-      if (!first) sb.append(", ");
-      sb.append("timeOfStateChange:");
-      sb.append(this.timeOfStateChange);
-      first = false;
-    }
-    sb.append(")");
-    return sb.toString();
-  }
-
-  public void validate() throws org.apache.thrift.TException {
-    // check for required fields
-    if (!isSetExperimentState()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'experimentState' 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 {
-      // 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 ExperimentStatusStandardSchemeFactory implements SchemeFactory {
-    public ExperimentStatusStandardScheme getScheme() {
-      return new ExperimentStatusStandardScheme();
-    }
-  }
-
-  private static class ExperimentStatusStandardScheme extends StandardScheme<ExperimentStatus> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, ExperimentStatus 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: // EXPERIMENT_STATE
-            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              struct.experimentState = ExperimentState.findByValue(iprot.readI32());
-              struct.setExperimentStateIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 2: // TIME_OF_STATE_CHANGE
-            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
-              struct.timeOfStateChange = iprot.readI64();
-              struct.setTimeOfStateChangeIsSet(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, ExperimentStatus struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.experimentState != null) {
-        oprot.writeFieldBegin(EXPERIMENT_STATE_FIELD_DESC);
-        oprot.writeI32(struct.experimentState.getValue());
-        oprot.writeFieldEnd();
-      }
-      if (struct.isSetTimeOfStateChange()) {
-        oprot.writeFieldBegin(TIME_OF_STATE_CHANGE_FIELD_DESC);
-        oprot.writeI64(struct.timeOfStateChange);
-        oprot.writeFieldEnd();
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class ExperimentStatusTupleSchemeFactory implements SchemeFactory {
-    public ExperimentStatusTupleScheme getScheme() {
-      return new ExperimentStatusTupleScheme();
-    }
-  }
-
-  private static class ExperimentStatusTupleScheme extends TupleScheme<ExperimentStatus> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, ExperimentStatus struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      oprot.writeI32(struct.experimentState.getValue());
-      BitSet optionals = new BitSet();
-      if (struct.isSetTimeOfStateChange()) {
-        optionals.set(0);
-      }
-      oprot.writeBitSet(optionals, 1);
-      if (struct.isSetTimeOfStateChange()) {
-        oprot.writeI64(struct.timeOfStateChange);
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, ExperimentStatus struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      struct.experimentState = ExperimentState.findByValue(iprot.readI32());
-      struct.setExperimentStateIsSet(true);
-      BitSet incoming = iprot.readBitSet(1);
-      if (incoming.get(0)) {
-        struct.timeOfStateChange = iprot.readI64();
-        struct.setTimeOfStateChangeIsSet(true);
-      }
-    }
-  }
-
-}
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/JobDetails.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/JobDetails.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/JobDetails.java
deleted file mode 100644
index 2c8bc25..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/JobDetails.java
+++ /dev/null
@@ -1,960 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@SuppressWarnings("all") public class JobDetails implements org.apache.thrift.TBase<JobDetails, JobDetails._Fields>, java.io.Serializable, Cloneable, Comparable<JobDetails> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobDetails");
-
-  private static final org.apache.thrift.protocol.TField JOB_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("jobID", org.apache.thrift.protocol.TType.STRING, (short)1);
-  private static final org.apache.thrift.protocol.TField JOB_DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("jobDescription", org.apache.thrift.protocol.TType.STRING, (short)2);
-  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)3);
-  private static final org.apache.thrift.protocol.TField JOB_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("jobStatus", org.apache.thrift.protocol.TType.STRUCT, (short)4);
-  private static final org.apache.thrift.protocol.TField APPLICATION_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationStatus", org.apache.thrift.protocol.TType.STRUCT, (short)5);
-  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)6);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new JobDetailsStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new JobDetailsTupleSchemeFactory());
-  }
-
-  private String jobID; // required
-  private String jobDescription; // required
-  private long creationTime; // optional
-  private JobStatus jobStatus; // optional
-  private ApplicationStatus applicationStatus; // 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 {
-    JOB_ID((short)1, "jobID"),
-    JOB_DESCRIPTION((short)2, "jobDescription"),
-    CREATION_TIME((short)3, "creationTime"),
-    JOB_STATUS((short)4, "jobStatus"),
-    APPLICATION_STATUS((short)5, "applicationStatus"),
-    ERRORS((short)6, "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: // JOB_ID
-          return JOB_ID;
-        case 2: // JOB_DESCRIPTION
-          return JOB_DESCRIPTION;
-        case 3: // CREATION_TIME
-          return CREATION_TIME;
-        case 4: // JOB_STATUS
-          return JOB_STATUS;
-        case 5: // APPLICATION_STATUS
-          return APPLICATION_STATUS;
-        case 6: // 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.JOB_STATUS,_Fields.APPLICATION_STATUS,_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.JOB_ID, new org.apache.thrift.meta_data.FieldMetaData("jobID", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.JOB_DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("jobDescription", 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.JOB_STATUS, new org.apache.thrift.meta_data.FieldMetaData("jobStatus", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, JobStatus.class)));
-    tmpMap.put(_Fields.APPLICATION_STATUS, new org.apache.thrift.meta_data.FieldMetaData("applicationStatus", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ApplicationStatus.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(JobDetails.class, metaDataMap);
-  }
-
-  public JobDetails() {
-  }
-
-  public JobDetails(
-    String jobID,
-    String jobDescription)
-  {
-    this();
-    this.jobID = jobID;
-    this.jobDescription = jobDescription;
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public JobDetails(JobDetails other) {
-    __isset_bitfield = other.__isset_bitfield;
-    if (other.isSetJobID()) {
-      this.jobID = other.jobID;
-    }
-    if (other.isSetJobDescription()) {
-      this.jobDescription = other.jobDescription;
-    }
-    this.creationTime = other.creationTime;
-    if (other.isSetJobStatus()) {
-      this.jobStatus = new JobStatus(other.jobStatus);
-    }
-    if (other.isSetApplicationStatus()) {
-      this.applicationStatus = new ApplicationStatus(other.applicationStatus);
-    }
-    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 JobDetails deepCopy() {
-    return new JobDetails(this);
-  }
-
-  @Override
-  public void clear() {
-    this.jobID = null;
-    this.jobDescription = null;
-    setCreationTimeIsSet(false);
-    this.creationTime = 0;
-    this.jobStatus = null;
-    this.applicationStatus = null;
-    this.errors = null;
-  }
-
-  public String getJobID() {
-    return this.jobID;
-  }
-
-  public void setJobID(String jobID) {
-    this.jobID = jobID;
-  }
-
-  public void unsetJobID() {
-    this.jobID = null;
-  }
-
-  /** Returns true if field jobID is set (has been assigned a value) and false otherwise */
-  public boolean isSetJobID() {
-    return this.jobID != null;
-  }
-
-  public void setJobIDIsSet(boolean value) {
-    if (!value) {
-      this.jobID = null;
-    }
-  }
-
-  public String getJobDescription() {
-    return this.jobDescription;
-  }
-
-  public void setJobDescription(String jobDescription) {
-    this.jobDescription = jobDescription;
-  }
-
-  public void unsetJobDescription() {
-    this.jobDescription = null;
-  }
-
-  /** Returns true if field jobDescription is set (has been assigned a value) and false otherwise */
-  public boolean isSetJobDescription() {
-    return this.jobDescription != null;
-  }
-
-  public void setJobDescriptionIsSet(boolean value) {
-    if (!value) {
-      this.jobDescription = 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 JobStatus getJobStatus() {
-    return this.jobStatus;
-  }
-
-  public void setJobStatus(JobStatus jobStatus) {
-    this.jobStatus = jobStatus;
-  }
-
-  public void unsetJobStatus() {
-    this.jobStatus = null;
-  }
-
-  /** Returns true if field jobStatus is set (has been assigned a value) and false otherwise */
-  public boolean isSetJobStatus() {
-    return this.jobStatus != null;
-  }
-
-  public void setJobStatusIsSet(boolean value) {
-    if (!value) {
-      this.jobStatus = null;
-    }
-  }
-
-  public ApplicationStatus getApplicationStatus() {
-    return this.applicationStatus;
-  }
-
-  public void setApplicationStatus(ApplicationStatus applicationStatus) {
-    this.applicationStatus = applicationStatus;
-  }
-
-  public void unsetApplicationStatus() {
-    this.applicationStatus = null;
-  }
-
-  /** Returns true if field applicationStatus is set (has been assigned a value) and false otherwise */
-  public boolean isSetApplicationStatus() {
-    return this.applicationStatus != null;
-  }
-
-  public void setApplicationStatusIsSet(boolean value) {
-    if (!value) {
-      this.applicationStatus = 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 JOB_ID:
-      if (value == null) {
-        unsetJobID();
-      } else {
-        setJobID((String)value);
-      }
-      break;
-
-    case JOB_DESCRIPTION:
-      if (value == null) {
-        unsetJobDescription();
-      } else {
-        setJobDescription((String)value);
-      }
-      break;
-
-    case CREATION_TIME:
-      if (value == null) {
-        unsetCreationTime();
-      } else {
-        setCreationTime((Long)value);
-      }
-      break;
-
-    case JOB_STATUS:
-      if (value == null) {
-        unsetJobStatus();
-      } else {
-        setJobStatus((JobStatus)value);
-      }
-      break;
-
-    case APPLICATION_STATUS:
-      if (value == null) {
-        unsetApplicationStatus();
-      } else {
-        setApplicationStatus((ApplicationStatus)value);
-      }
-      break;
-
-    case ERRORS:
-      if (value == null) {
-        unsetErrors();
-      } else {
-        setErrors((List<ErrorDetails>)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case JOB_ID:
-      return getJobID();
-
-    case JOB_DESCRIPTION:
-      return getJobDescription();
-
-    case CREATION_TIME:
-      return Long.valueOf(getCreationTime());
-
-    case JOB_STATUS:
-      return getJobStatus();
-
-    case APPLICATION_STATUS:
-      return getApplicationStatus();
-
-    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 JOB_ID:
-      return isSetJobID();
-    case JOB_DESCRIPTION:
-      return isSetJobDescription();
-    case CREATION_TIME:
-      return isSetCreationTime();
-    case JOB_STATUS:
-      return isSetJobStatus();
-    case APPLICATION_STATUS:
-      return isSetApplicationStatus();
-    case ERRORS:
-      return isSetErrors();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof JobDetails)
-      return this.equals((JobDetails)that);
-    return false;
-  }
-
-  public boolean equals(JobDetails that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_jobID = true && this.isSetJobID();
-    boolean that_present_jobID = true && that.isSetJobID();
-    if (this_present_jobID || that_present_jobID) {
-      if (!(this_present_jobID && that_present_jobID))
-        return false;
-      if (!this.jobID.equals(that.jobID))
-        return false;
-    }
-
-    boolean this_present_jobDescription = true && this.isSetJobDescription();
-    boolean that_present_jobDescription = true && that.isSetJobDescription();
-    if (this_present_jobDescription || that_present_jobDescription) {
-      if (!(this_present_jobDescription && that_present_jobDescription))
-        return false;
-      if (!this.jobDescription.equals(that.jobDescription))
-        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_jobStatus = true && this.isSetJobStatus();
-    boolean that_present_jobStatus = true && that.isSetJobStatus();
-    if (this_present_jobStatus || that_present_jobStatus) {
-      if (!(this_present_jobStatus && that_present_jobStatus))
-        return false;
-      if (!this.jobStatus.equals(that.jobStatus))
-        return false;
-    }
-
-    boolean this_present_applicationStatus = true && this.isSetApplicationStatus();
-    boolean that_present_applicationStatus = true && that.isSetApplicationStatus();
-    if (this_present_applicationStatus || that_present_applicationStatus) {
-      if (!(this_present_applicationStatus && that_present_applicationStatus))
-        return false;
-      if (!this.applicationStatus.equals(that.applicationStatus))
-        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(JobDetails other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = Boolean.valueOf(isSetJobID()).compareTo(other.isSetJobID());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetJobID()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jobID, other.jobID);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetJobDescription()).compareTo(other.isSetJobDescription());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetJobDescription()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jobDescription, other.jobDescription);
-      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(isSetJobStatus()).compareTo(other.isSetJobStatus());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetJobStatus()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jobStatus, other.jobStatus);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetApplicationStatus()).compareTo(other.isSetApplicationStatus());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetApplicationStatus()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.applicationStatus, other.applicationStatus);
-      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("JobDetails(");
-    boolean first = true;
-
-    sb.append("jobID:");
-    if (this.jobID == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.jobID);
-    }
-    first = false;
-    if (!first) sb.append(", ");
-    sb.append("jobDescription:");
-    if (this.jobDescription == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.jobDescription);
-    }
-    first = false;
-    if (isSetCreationTime()) {
-      if (!first) sb.append(", ");
-      sb.append("creationTime:");
-      sb.append(this.creationTime);
-      first = false;
-    }
-    if (isSetJobStatus()) {
-      if (!first) sb.append(", ");
-      sb.append("jobStatus:");
-      if (this.jobStatus == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.jobStatus);
-      }
-      first = false;
-    }
-    if (isSetApplicationStatus()) {
-      if (!first) sb.append(", ");
-      sb.append("applicationStatus:");
-      if (this.applicationStatus == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.applicationStatus);
-      }
-      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 (!isSetJobID()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'jobID' is unset! Struct:" + toString());
-    }
-
-    if (!isSetJobDescription()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'jobDescription' is unset! Struct:" + toString());
-    }
-
-    // check for sub-struct validity
-    if (jobStatus != null) {
-      jobStatus.validate();
-    }
-    if (applicationStatus != null) {
-      applicationStatus.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 JobDetailsStandardSchemeFactory implements SchemeFactory {
-    public JobDetailsStandardScheme getScheme() {
-      return new JobDetailsStandardScheme();
-    }
-  }
-
-  private static class JobDetailsStandardScheme extends StandardScheme<JobDetails> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, JobDetails struct) throws org.apache.thrift.TException {
-      org.apache.thrift.protocol.TField schemeField;
-      iprot.readStructBegin();
-      while (true)
-      {
-        schemeField = iprot.readFieldBegin();
-        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-          break;
-        }
-        switch (schemeField.id) {
-          case 1: // JOB_ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.jobID = iprot.readString();
-              struct.setJobIDIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 2: // JOB_DESCRIPTION
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.jobDescription = iprot.readString();
-              struct.setJobDescriptionIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 3: // 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 4: // JOB_STATUS
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-              struct.jobStatus = new JobStatus();
-              struct.jobStatus.read(iprot);
-              struct.setJobStatusIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 5: // APPLICATION_STATUS
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-              struct.applicationStatus = new ApplicationStatus();
-              struct.applicationStatus.read(iprot);
-              struct.setApplicationStatusIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 6: // ERRORS
-            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-              {
-                org.apache.thrift.protocol.TList _list8 = iprot.readListBegin();
-                struct.errors = new ArrayList<ErrorDetails>(_list8.size);
-                for (int _i9 = 0; _i9 < _list8.size; ++_i9)
-                {
-                  ErrorDetails _elem10;
-                  _elem10 = new ErrorDetails();
-                  _elem10.read(iprot);
-                  struct.errors.add(_elem10);
-                }
-                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, JobDetails struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.jobID != null) {
-        oprot.writeFieldBegin(JOB_ID_FIELD_DESC);
-        oprot.writeString(struct.jobID);
-        oprot.writeFieldEnd();
-      }
-      if (struct.jobDescription != null) {
-        oprot.writeFieldBegin(JOB_DESCRIPTION_FIELD_DESC);
-        oprot.writeString(struct.jobDescription);
-        oprot.writeFieldEnd();
-      }
-      if (struct.isSetCreationTime()) {
-        oprot.writeFieldBegin(CREATION_TIME_FIELD_DESC);
-        oprot.writeI64(struct.creationTime);
-        oprot.writeFieldEnd();
-      }
-      if (struct.jobStatus != null) {
-        if (struct.isSetJobStatus()) {
-          oprot.writeFieldBegin(JOB_STATUS_FIELD_DESC);
-          struct.jobStatus.write(oprot);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.applicationStatus != null) {
-        if (struct.isSetApplicationStatus()) {
-          oprot.writeFieldBegin(APPLICATION_STATUS_FIELD_DESC);
-          struct.applicationStatus.write(oprot);
-          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 _iter11 : struct.errors)
-            {
-              _iter11.write(oprot);
-            }
-            oprot.writeListEnd();
-          }
-          oprot.writeFieldEnd();
-        }
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class JobDetailsTupleSchemeFactory implements SchemeFactory {
-    public JobDetailsTupleScheme getScheme() {
-      return new JobDetailsTupleScheme();
-    }
-  }
-
-  private static class JobDetailsTupleScheme extends TupleScheme<JobDetails> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, JobDetails struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      oprot.writeString(struct.jobID);
-      oprot.writeString(struct.jobDescription);
-      BitSet optionals = new BitSet();
-      if (struct.isSetCreationTime()) {
-        optionals.set(0);
-      }
-      if (struct.isSetJobStatus()) {
-        optionals.set(1);
-      }
-      if (struct.isSetApplicationStatus()) {
-        optionals.set(2);
-      }
-      if (struct.isSetErrors()) {
-        optionals.set(3);
-      }
-      oprot.writeBitSet(optionals, 4);
-      if (struct.isSetCreationTime()) {
-        oprot.writeI64(struct.creationTime);
-      }
-      if (struct.isSetJobStatus()) {
-        struct.jobStatus.write(oprot);
-      }
-      if (struct.isSetApplicationStatus()) {
-        struct.applicationStatus.write(oprot);
-      }
-      if (struct.isSetErrors()) {
-        {
-          oprot.writeI32(struct.errors.size());
-          for (ErrorDetails _iter12 : struct.errors)
-          {
-            _iter12.write(oprot);
-          }
-        }
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, JobDetails struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      struct.jobID = iprot.readString();
-      struct.setJobIDIsSet(true);
-      struct.jobDescription = iprot.readString();
-      struct.setJobDescriptionIsSet(true);
-      BitSet incoming = iprot.readBitSet(4);
-      if (incoming.get(0)) {
-        struct.creationTime = iprot.readI64();
-        struct.setCreationTimeIsSet(true);
-      }
-      if (incoming.get(1)) {
-        struct.jobStatus = new JobStatus();
-        struct.jobStatus.read(iprot);
-        struct.setJobStatusIsSet(true);
-      }
-      if (incoming.get(2)) {
-        struct.applicationStatus = new ApplicationStatus();
-        struct.applicationStatus.read(iprot);
-        struct.setApplicationStatusIsSet(true);
-      }
-      if (incoming.get(3)) {
-        {
-          org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.errors = new ArrayList<ErrorDetails>(_list13.size);
-          for (int _i14 = 0; _i14 < _list13.size; ++_i14)
-          {
-            ErrorDetails _elem15;
-            _elem15 = new ErrorDetails();
-            _elem15.read(iprot);
-            struct.errors.add(_elem15);
-          }
-        }
-        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/experiment/JobState.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/JobState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/JobState.java
deleted file mode 100644
index 22ca542..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/JobState.java
+++ /dev/null
@@ -1,82 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
-@SuppressWarnings("all") public enum JobState implements org.apache.thrift.TEnum {
-  SUBMITTED(0),
-  QUEUED(1),
-  ACTIVE(2),
-  COMPLETE(3),
-  CANCELED(4),
-  FAILED(5),
-  HELD(6),
-  SUSPENDED(7),
-  UNKNOWN(8);
-
-  private final int value;
-
-  private JobState(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 JobState findByValue(int value) { 
-    switch (value) {
-      case 0:
-        return SUBMITTED;
-      case 1:
-        return QUEUED;
-      case 2:
-        return ACTIVE;
-      case 3:
-        return COMPLETE;
-      case 4:
-        return CANCELED;
-      case 5:
-        return FAILED;
-      case 6:
-        return HELD;
-      case 7:
-        return SUSPENDED;
-      case 8:
-        return UNKNOWN;
-      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/experiment/JobStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/JobStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/JobStatus.java
deleted file mode 100644
index 715401e..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/JobStatus.java
+++ /dev/null
@@ -1,509 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@SuppressWarnings("all") public class JobStatus implements org.apache.thrift.TBase<JobStatus, JobStatus._Fields>, java.io.Serializable, Cloneable, Comparable<JobStatus> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobStatus");
-
-  private static final org.apache.thrift.protocol.TField JOB_STATE_FIELD_DESC = new org.apache.thrift.protocol.TField("jobState", org.apache.thrift.protocol.TType.I32, (short)1);
-  private static final org.apache.thrift.protocol.TField TIME_OF_STATE_CHANGE_FIELD_DESC = new org.apache.thrift.protocol.TField("timeOfStateChange", org.apache.thrift.protocol.TType.I64, (short)2);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new JobStatusStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new JobStatusTupleSchemeFactory());
-  }
-
-  private JobState jobState; // required
-  private long timeOfStateChange; // 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 {
-    /**
-     * 
-     * @see JobState
-     */
-    JOB_STATE((short)1, "jobState"),
-    TIME_OF_STATE_CHANGE((short)2, "timeOfStateChange");
-
-    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
-
-    static {
-      for (_Fields field : EnumSet.allOf(_Fields.class)) {
-        byName.put(field.getFieldName(), field);
-      }
-    }
-
-    /**
-     * Find the _Fields constant that matches fieldId, or null if its not found.
-     */
-    public static _Fields findByThriftId(int fieldId) {
-      switch(fieldId) {
-        case 1: // JOB_STATE
-          return JOB_STATE;
-        case 2: // TIME_OF_STATE_CHANGE
-          return TIME_OF_STATE_CHANGE;
-        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 __TIMEOFSTATECHANGE_ISSET_ID = 0;
-  private byte __isset_bitfield = 0;
-  private _Fields optionals[] = {_Fields.TIME_OF_STATE_CHANGE};
-  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-  static {
-    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-    tmpMap.put(_Fields.JOB_STATE, new org.apache.thrift.meta_data.FieldMetaData("jobState", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, JobState.class)));
-    tmpMap.put(_Fields.TIME_OF_STATE_CHANGE, new org.apache.thrift.meta_data.FieldMetaData("timeOfStateChange", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
-    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(JobStatus.class, metaDataMap);
-  }
-
-  public JobStatus() {
-  }
-
-  public JobStatus(
-    JobState jobState)
-  {
-    this();
-    this.jobState = jobState;
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public JobStatus(JobStatus other) {
-    __isset_bitfield = other.__isset_bitfield;
-    if (other.isSetJobState()) {
-      this.jobState = other.jobState;
-    }
-    this.timeOfStateChange = other.timeOfStateChange;
-  }
-
-  public JobStatus deepCopy() {
-    return new JobStatus(this);
-  }
-
-  @Override
-  public void clear() {
-    this.jobState = null;
-    setTimeOfStateChangeIsSet(false);
-    this.timeOfStateChange = 0;
-  }
-
-  /**
-   * 
-   * @see JobState
-   */
-  public JobState getJobState() {
-    return this.jobState;
-  }
-
-  /**
-   * 
-   * @see JobState
-   */
-  public void setJobState(JobState jobState) {
-    this.jobState = jobState;
-  }
-
-  public void unsetJobState() {
-    this.jobState = null;
-  }
-
-  /** Returns true if field jobState is set (has been assigned a value) and false otherwise */
-  public boolean isSetJobState() {
-    return this.jobState != null;
-  }
-
-  public void setJobStateIsSet(boolean value) {
-    if (!value) {
-      this.jobState = null;
-    }
-  }
-
-  public long getTimeOfStateChange() {
-    return this.timeOfStateChange;
-  }
-
-  public void setTimeOfStateChange(long timeOfStateChange) {
-    this.timeOfStateChange = timeOfStateChange;
-    setTimeOfStateChangeIsSet(true);
-  }
-
-  public void unsetTimeOfStateChange() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
-  }
-
-  /** Returns true if field timeOfStateChange is set (has been assigned a value) and false otherwise */
-  public boolean isSetTimeOfStateChange() {
-    return EncodingUtils.testBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
-  }
-
-  public void setTimeOfStateChangeIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID, value);
-  }
-
-  public void setFieldValue(_Fields field, Object value) {
-    switch (field) {
-    case JOB_STATE:
-      if (value == null) {
-        unsetJobState();
-      } else {
-        setJobState((JobState)value);
-      }
-      break;
-
-    case TIME_OF_STATE_CHANGE:
-      if (value == null) {
-        unsetTimeOfStateChange();
-      } else {
-        setTimeOfStateChange((Long)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case JOB_STATE:
-      return getJobState();
-
-    case TIME_OF_STATE_CHANGE:
-      return Long.valueOf(getTimeOfStateChange());
-
-    }
-    throw new IllegalStateException();
-  }
-
-  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-  public boolean isSet(_Fields field) {
-    if (field == null) {
-      throw new IllegalArgumentException();
-    }
-
-    switch (field) {
-    case JOB_STATE:
-      return isSetJobState();
-    case TIME_OF_STATE_CHANGE:
-      return isSetTimeOfStateChange();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof JobStatus)
-      return this.equals((JobStatus)that);
-    return false;
-  }
-
-  public boolean equals(JobStatus that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_jobState = true && this.isSetJobState();
-    boolean that_present_jobState = true && that.isSetJobState();
-    if (this_present_jobState || that_present_jobState) {
-      if (!(this_present_jobState && that_present_jobState))
-        return false;
-      if (!this.jobState.equals(that.jobState))
-        return false;
-    }
-
-    boolean this_present_timeOfStateChange = true && this.isSetTimeOfStateChange();
-    boolean that_present_timeOfStateChange = true && that.isSetTimeOfStateChange();
-    if (this_present_timeOfStateChange || that_present_timeOfStateChange) {
-      if (!(this_present_timeOfStateChange && that_present_timeOfStateChange))
-        return false;
-      if (this.timeOfStateChange != that.timeOfStateChange)
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    return 0;
-  }
-
-  @Override
-  public int compareTo(JobStatus other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = Boolean.valueOf(isSetJobState()).compareTo(other.isSetJobState());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetJobState()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jobState, other.jobState);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetTimeOfStateChange()).compareTo(other.isSetTimeOfStateChange());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetTimeOfStateChange()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.timeOfStateChange, other.timeOfStateChange);
-      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("JobStatus(");
-    boolean first = true;
-
-    sb.append("jobState:");
-    if (this.jobState == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.jobState);
-    }
-    first = false;
-    if (isSetTimeOfStateChange()) {
-      if (!first) sb.append(", ");
-      sb.append("timeOfStateChange:");
-      sb.append(this.timeOfStateChange);
-      first = false;
-    }
-    sb.append(")");
-    return sb.toString();
-  }
-
-  public void validate() throws org.apache.thrift.TException {
-    // check for required fields
-    if (!isSetJobState()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'jobState' 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 {
-      // 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 JobStatusStandardSchemeFactory implements SchemeFactory {
-    public JobStatusStandardScheme getScheme() {
-      return new JobStatusStandardScheme();
-    }
-  }
-
-  private static class JobStatusStandardScheme extends StandardScheme<JobStatus> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, JobStatus struct) throws org.apache.thrift.TException {
-      org.apache.thrift.protocol.TField schemeField;
-      iprot.readStructBegin();
-      while (true)
-      {
-        schemeField = iprot.readFieldBegin();
-        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-          break;
-        }
-        switch (schemeField.id) {
-          case 1: // JOB_STATE
-            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              struct.jobState = JobState.findByValue(iprot.readI32());
-              struct.setJobStateIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 2: // TIME_OF_STATE_CHANGE
-            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
-              struct.timeOfStateChange = iprot.readI64();
-              struct.setTimeOfStateChangeIsSet(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, JobStatus struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.jobState != null) {
-        oprot.writeFieldBegin(JOB_STATE_FIELD_DESC);
-        oprot.writeI32(struct.jobState.getValue());
-        oprot.writeFieldEnd();
-      }
-      if (struct.isSetTimeOfStateChange()) {
-        oprot.writeFieldBegin(TIME_OF_STATE_CHANGE_FIELD_DESC);
-        oprot.writeI64(struct.timeOfStateChange);
-        oprot.writeFieldEnd();
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class JobStatusTupleSchemeFactory implements SchemeFactory {
-    public JobStatusTupleScheme getScheme() {
-      return new JobStatusTupleScheme();
-    }
-  }
-
-  private static class JobStatusTupleScheme extends TupleScheme<JobStatus> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, JobStatus struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      oprot.writeI32(struct.jobState.getValue());
-      BitSet optionals = new BitSet();
-      if (struct.isSetTimeOfStateChange()) {
-        optionals.set(0);
-      }
-      oprot.writeBitSet(optionals, 1);
-      if (struct.isSetTimeOfStateChange()) {
-        oprot.writeI64(struct.timeOfStateChange);
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, JobStatus struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      struct.jobState = JobState.findByValue(iprot.readI32());
-      struct.setJobStateIsSet(true);
-      BitSet incoming = iprot.readBitSet(1);
-      if (incoming.get(0)) {
-        struct.timeOfStateChange = iprot.readI64();
-        struct.setTimeOfStateChangeIsSet(true);
-      }
-    }
-  }
-
-}
-


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

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
new file mode 100644
index 0000000..e818d59
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
@@ -0,0 +1,494 @@
+    /*
+     * 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;
+
+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;
+
+@SuppressWarnings("all") public class Gateway implements org.apache.thrift.TBase<Gateway, Gateway._Fields>, java.io.Serializable, Cloneable, Comparable<Gateway> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Gateway");
+
+  private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)2);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new GatewayStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new GatewayTupleSchemeFactory());
+  }
+
+  private String gatewayId; // required
+  private String name; // required
+
+  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+  @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+    GATEWAY_ID((short)1, "gatewayId"),
+    NAME((short)2, "name");
+
+    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: // GATEWAY_ID
+          return GATEWAY_ID;
+        case 2: // NAME
+          return NAME;
+        default:
+          return null;
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, throwing an exception
+     * if it is not found.
+     */
+    public static _Fields findByThriftIdOrThrow(int fieldId) {
+      _Fields fields = findByThriftId(fieldId);
+      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+      return fields;
+    }
+
+    /**
+     * Find the _Fields constant that matches name, or null if its not found.
+     */
+    public static _Fields findByName(String name) {
+      return byName.get(name);
+    }
+
+    private final short _thriftId;
+    private final String _fieldName;
+
+    _Fields(short thriftId, String fieldName) {
+      _thriftId = thriftId;
+      _fieldName = fieldName;
+    }
+
+    public short getThriftFieldId() {
+      return _thriftId;
+    }
+
+    public String getFieldName() {
+      return _fieldName;
+    }
+  }
+
+  // isset id assignments
+  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+  static {
+    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Gateway.class, metaDataMap);
+  }
+
+  public Gateway() {
+    this.gatewayId = "DO_NOT_SET_AT_CLIENTS";
+
+  }
+
+  public Gateway(
+    String gatewayId,
+    String name)
+  {
+    this();
+    this.gatewayId = gatewayId;
+    this.name = name;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public Gateway(Gateway other) {
+    if (other.isSetGatewayId()) {
+      this.gatewayId = other.gatewayId;
+    }
+    if (other.isSetName()) {
+      this.name = other.name;
+    }
+  }
+
+  public Gateway deepCopy() {
+    return new Gateway(this);
+  }
+
+  @Override
+  public void clear() {
+    this.gatewayId = "DO_NOT_SET_AT_CLIENTS";
+
+    this.name = null;
+  }
+
+  public String getGatewayId() {
+    return this.gatewayId;
+  }
+
+  public void setGatewayId(String gatewayId) {
+    this.gatewayId = gatewayId;
+  }
+
+  public void unsetGatewayId() {
+    this.gatewayId = null;
+  }
+
+  /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
+  public boolean isSetGatewayId() {
+    return this.gatewayId != null;
+  }
+
+  public void setGatewayIdIsSet(boolean value) {
+    if (!value) {
+      this.gatewayId = null;
+    }
+  }
+
+  public String getName() {
+    return this.name;
+  }
+
+  public void setName(String name) {
+    this.name = name;
+  }
+
+  public void unsetName() {
+    this.name = null;
+  }
+
+  /** Returns true if field name is set (has been assigned a value) and false otherwise */
+  public boolean isSetName() {
+    return this.name != null;
+  }
+
+  public void setNameIsSet(boolean value) {
+    if (!value) {
+      this.name = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case GATEWAY_ID:
+      if (value == null) {
+        unsetGatewayId();
+      } else {
+        setGatewayId((String)value);
+      }
+      break;
+
+    case NAME:
+      if (value == null) {
+        unsetName();
+      } else {
+        setName((String)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case GATEWAY_ID:
+      return getGatewayId();
+
+    case NAME:
+      return getName();
+
+    }
+    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 GATEWAY_ID:
+      return isSetGatewayId();
+    case NAME:
+      return isSetName();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof Gateway)
+      return this.equals((Gateway)that);
+    return false;
+  }
+
+  public boolean equals(Gateway that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_gatewayId = true && this.isSetGatewayId();
+    boolean that_present_gatewayId = true && that.isSetGatewayId();
+    if (this_present_gatewayId || that_present_gatewayId) {
+      if (!(this_present_gatewayId && that_present_gatewayId))
+        return false;
+      if (!this.gatewayId.equals(that.gatewayId))
+        return false;
+    }
+
+    boolean this_present_name = true && this.isSetName();
+    boolean that_present_name = true && that.isSetName();
+    if (this_present_name || that_present_name) {
+      if (!(this_present_name && that_present_name))
+        return false;
+      if (!this.name.equals(that.name))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  @Override
+  public int compareTo(Gateway other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetGatewayId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
+      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("Gateway(");
+    boolean first = true;
+
+    sb.append("gatewayId:");
+    if (this.gatewayId == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.gatewayId);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("name:");
+    if (this.name == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.name);
+    }
+    first = false;
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!isSetGatewayId()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' is unset! Struct:" + toString());
+    }
+
+    if (!isSetName()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'name' 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 GatewayStandardSchemeFactory implements SchemeFactory {
+    public GatewayStandardScheme getScheme() {
+      return new GatewayStandardScheme();
+    }
+  }
+
+  private static class GatewayStandardScheme extends StandardScheme<Gateway> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, Gateway 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: // GATEWAY_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.gatewayId = iprot.readString();
+              struct.setGatewayIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.name = iprot.readString();
+              struct.setNameIsSet(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, Gateway struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.gatewayId != null) {
+        oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
+        oprot.writeString(struct.gatewayId);
+        oprot.writeFieldEnd();
+      }
+      if (struct.name != null) {
+        oprot.writeFieldBegin(NAME_FIELD_DESC);
+        oprot.writeString(struct.name);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class GatewayTupleSchemeFactory implements SchemeFactory {
+    public GatewayTupleScheme getScheme() {
+      return new GatewayTupleScheme();
+    }
+  }
+
+  private static class GatewayTupleScheme extends TupleScheme<Gateway> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, Gateway struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeString(struct.gatewayId);
+      oprot.writeString(struct.name);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, Gateway struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.gatewayId = iprot.readString();
+      struct.setGatewayIdIsSet(true);
+      struct.name = iprot.readString();
+      struct.setNameIsSet(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/Group.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
new file mode 100644
index 0000000..27ad55d
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
@@ -0,0 +1,500 @@
+    /*
+     * 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;
+
+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;
+
+@SuppressWarnings("all") public class Group implements org.apache.thrift.TBase<Group, Group._Fields>, java.io.Serializable, Cloneable, Comparable<Group> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Group");
+
+  private static final org.apache.thrift.protocol.TField GROUP_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("groupName", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("description", org.apache.thrift.protocol.TType.STRING, (short)2);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new GroupStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new GroupTupleSchemeFactory());
+  }
+
+  private String groupName; // required
+  private String description; // 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 {
+    GROUP_NAME((short)1, "groupName"),
+    DESCRIPTION((short)2, "description");
+
+    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: // GROUP_NAME
+          return GROUP_NAME;
+        case 2: // DESCRIPTION
+          return DESCRIPTION;
+        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.DESCRIPTION};
+  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.GROUP_NAME, new org.apache.thrift.meta_data.FieldMetaData("groupName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("description", 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(Group.class, metaDataMap);
+  }
+
+  public Group() {
+  }
+
+  public Group(
+    String groupName)
+  {
+    this();
+    this.groupName = groupName;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public Group(Group other) {
+    if (other.isSetGroupName()) {
+      this.groupName = other.groupName;
+    }
+    if (other.isSetDescription()) {
+      this.description = other.description;
+    }
+  }
+
+  public Group deepCopy() {
+    return new Group(this);
+  }
+
+  @Override
+  public void clear() {
+    this.groupName = null;
+    this.description = null;
+  }
+
+  public String getGroupName() {
+    return this.groupName;
+  }
+
+  public void setGroupName(String groupName) {
+    this.groupName = groupName;
+  }
+
+  public void unsetGroupName() {
+    this.groupName = null;
+  }
+
+  /** Returns true if field groupName is set (has been assigned a value) and false otherwise */
+  public boolean isSetGroupName() {
+    return this.groupName != null;
+  }
+
+  public void setGroupNameIsSet(boolean value) {
+    if (!value) {
+      this.groupName = null;
+    }
+  }
+
+  public String getDescription() {
+    return this.description;
+  }
+
+  public void setDescription(String description) {
+    this.description = description;
+  }
+
+  public void unsetDescription() {
+    this.description = null;
+  }
+
+  /** Returns true if field description is set (has been assigned a value) and false otherwise */
+  public boolean isSetDescription() {
+    return this.description != null;
+  }
+
+  public void setDescriptionIsSet(boolean value) {
+    if (!value) {
+      this.description = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case GROUP_NAME:
+      if (value == null) {
+        unsetGroupName();
+      } else {
+        setGroupName((String)value);
+      }
+      break;
+
+    case DESCRIPTION:
+      if (value == null) {
+        unsetDescription();
+      } else {
+        setDescription((String)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case GROUP_NAME:
+      return getGroupName();
+
+    case DESCRIPTION:
+      return getDescription();
+
+    }
+    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 GROUP_NAME:
+      return isSetGroupName();
+    case DESCRIPTION:
+      return isSetDescription();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof Group)
+      return this.equals((Group)that);
+    return false;
+  }
+
+  public boolean equals(Group that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_groupName = true && this.isSetGroupName();
+    boolean that_present_groupName = true && that.isSetGroupName();
+    if (this_present_groupName || that_present_groupName) {
+      if (!(this_present_groupName && that_present_groupName))
+        return false;
+      if (!this.groupName.equals(that.groupName))
+        return false;
+    }
+
+    boolean this_present_description = true && this.isSetDescription();
+    boolean that_present_description = true && that.isSetDescription();
+    if (this_present_description || that_present_description) {
+      if (!(this_present_description && that_present_description))
+        return false;
+      if (!this.description.equals(that.description))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  @Override
+  public int compareTo(Group other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetGroupName()).compareTo(other.isSetGroupName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetGroupName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.groupName, other.groupName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDescription()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.description, other.description);
+      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("Group(");
+    boolean first = true;
+
+    sb.append("groupName:");
+    if (this.groupName == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.groupName);
+    }
+    first = false;
+    if (isSetDescription()) {
+      if (!first) sb.append(", ");
+      sb.append("description:");
+      if (this.description == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.description);
+      }
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!isSetGroupName()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupName' 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 GroupStandardSchemeFactory implements SchemeFactory {
+    public GroupStandardScheme getScheme() {
+      return new GroupStandardScheme();
+    }
+  }
+
+  private static class GroupStandardScheme extends StandardScheme<Group> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, Group 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: // GROUP_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.groupName = iprot.readString();
+              struct.setGroupNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // DESCRIPTION
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.description = iprot.readString();
+              struct.setDescriptionIsSet(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, Group struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.groupName != null) {
+        oprot.writeFieldBegin(GROUP_NAME_FIELD_DESC);
+        oprot.writeString(struct.groupName);
+        oprot.writeFieldEnd();
+      }
+      if (struct.description != null) {
+        if (struct.isSetDescription()) {
+          oprot.writeFieldBegin(DESCRIPTION_FIELD_DESC);
+          oprot.writeString(struct.description);
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class GroupTupleSchemeFactory implements SchemeFactory {
+    public GroupTupleScheme getScheme() {
+      return new GroupTupleScheme();
+    }
+  }
+
+  private static class GroupTupleScheme extends TupleScheme<Group> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, Group struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeString(struct.groupName);
+      BitSet optionals = new BitSet();
+      if (struct.isSetDescription()) {
+        optionals.set(0);
+      }
+      oprot.writeBitSet(optionals, 1);
+      if (struct.isSetDescription()) {
+        oprot.writeString(struct.description);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, Group struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.groupName = iprot.readString();
+      struct.setGroupNameIsSet(true);
+      BitSet incoming = iprot.readBitSet(1);
+      if (incoming.get(0)) {
+        struct.description = iprot.readString();
+        struct.setDescriptionIsSet(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/Project.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
new file mode 100644
index 0000000..1c1177f
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
@@ -0,0 +1,1093 @@
+    /*
+     * 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;
+
+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;
+
+@SuppressWarnings("all") public class Project implements org.apache.thrift.TBase<Project, Project._Fields>, java.io.Serializable, Cloneable, Comparable<Project> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Project");
+
+  private static final org.apache.thrift.protocol.TField PROJECT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("projectID", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField OWNER_FIELD_DESC = new org.apache.thrift.protocol.TField("owner", org.apache.thrift.protocol.TType.STRING, (short)2);
+  private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)3);
+  private static final org.apache.thrift.protocol.TField DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("description", org.apache.thrift.protocol.TType.STRING, (short)4);
+  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)5);
+  private static final org.apache.thrift.protocol.TField SHARED_USERS_FIELD_DESC = new org.apache.thrift.protocol.TField("sharedUsers", org.apache.thrift.protocol.TType.LIST, (short)6);
+  private static final org.apache.thrift.protocol.TField SHARED_GROUPS_FIELD_DESC = new org.apache.thrift.protocol.TField("sharedGroups", org.apache.thrift.protocol.TType.LIST, (short)7);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new ProjectStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new ProjectTupleSchemeFactory());
+  }
+
+  private String projectID; // required
+  private String owner; // required
+  private String name; // required
+  private String description; // optional
+  private long creationTime; // optional
+  private List<String> sharedUsers; // optional
+  private List<String> sharedGroups; // 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 {
+    PROJECT_ID((short)1, "projectID"),
+    OWNER((short)2, "owner"),
+    NAME((short)3, "name"),
+    DESCRIPTION((short)4, "description"),
+    CREATION_TIME((short)5, "creationTime"),
+    SHARED_USERS((short)6, "sharedUsers"),
+    SHARED_GROUPS((short)7, "sharedGroups");
+
+    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: // PROJECT_ID
+          return PROJECT_ID;
+        case 2: // OWNER
+          return OWNER;
+        case 3: // NAME
+          return NAME;
+        case 4: // DESCRIPTION
+          return DESCRIPTION;
+        case 5: // CREATION_TIME
+          return CREATION_TIME;
+        case 6: // SHARED_USERS
+          return SHARED_USERS;
+        case 7: // SHARED_GROUPS
+          return SHARED_GROUPS;
+        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.DESCRIPTION,_Fields.CREATION_TIME,_Fields.SHARED_USERS,_Fields.SHARED_GROUPS};
+  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.PROJECT_ID, new org.apache.thrift.meta_data.FieldMetaData("projectID", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.OWNER, new org.apache.thrift.meta_data.FieldMetaData("owner", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("description", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        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.SHARED_USERS, new org.apache.thrift.meta_data.FieldMetaData("sharedUsers", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
+    tmpMap.put(_Fields.SHARED_GROUPS, new org.apache.thrift.meta_data.FieldMetaData("sharedGroups", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Project.class, metaDataMap);
+  }
+
+  public Project() {
+    this.projectID = "DEFAULT";
+
+  }
+
+  public Project(
+    String projectID,
+    String owner,
+    String name)
+  {
+    this();
+    this.projectID = projectID;
+    this.owner = owner;
+    this.name = name;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public Project(Project other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.isSetProjectID()) {
+      this.projectID = other.projectID;
+    }
+    if (other.isSetOwner()) {
+      this.owner = other.owner;
+    }
+    if (other.isSetName()) {
+      this.name = other.name;
+    }
+    if (other.isSetDescription()) {
+      this.description = other.description;
+    }
+    this.creationTime = other.creationTime;
+    if (other.isSetSharedUsers()) {
+      List<String> __this__sharedUsers = new ArrayList<String>(other.sharedUsers);
+      this.sharedUsers = __this__sharedUsers;
+    }
+    if (other.isSetSharedGroups()) {
+      List<String> __this__sharedGroups = new ArrayList<String>(other.sharedGroups);
+      this.sharedGroups = __this__sharedGroups;
+    }
+  }
+
+  public Project deepCopy() {
+    return new Project(this);
+  }
+
+  @Override
+  public void clear() {
+    this.projectID = "DEFAULT";
+
+    this.owner = null;
+    this.name = null;
+    this.description = null;
+    setCreationTimeIsSet(false);
+    this.creationTime = 0;
+    this.sharedUsers = null;
+    this.sharedGroups = null;
+  }
+
+  public String getProjectID() {
+    return this.projectID;
+  }
+
+  public void setProjectID(String projectID) {
+    this.projectID = projectID;
+  }
+
+  public void unsetProjectID() {
+    this.projectID = null;
+  }
+
+  /** Returns true if field projectID is set (has been assigned a value) and false otherwise */
+  public boolean isSetProjectID() {
+    return this.projectID != null;
+  }
+
+  public void setProjectIDIsSet(boolean value) {
+    if (!value) {
+      this.projectID = null;
+    }
+  }
+
+  public String getOwner() {
+    return this.owner;
+  }
+
+  public void setOwner(String owner) {
+    this.owner = owner;
+  }
+
+  public void unsetOwner() {
+    this.owner = null;
+  }
+
+  /** Returns true if field owner is set (has been assigned a value) and false otherwise */
+  public boolean isSetOwner() {
+    return this.owner != null;
+  }
+
+  public void setOwnerIsSet(boolean value) {
+    if (!value) {
+      this.owner = null;
+    }
+  }
+
+  public String getName() {
+    return this.name;
+  }
+
+  public void setName(String name) {
+    this.name = name;
+  }
+
+  public void unsetName() {
+    this.name = null;
+  }
+
+  /** Returns true if field name is set (has been assigned a value) and false otherwise */
+  public boolean isSetName() {
+    return this.name != null;
+  }
+
+  public void setNameIsSet(boolean value) {
+    if (!value) {
+      this.name = null;
+    }
+  }
+
+  public String getDescription() {
+    return this.description;
+  }
+
+  public void setDescription(String description) {
+    this.description = description;
+  }
+
+  public void unsetDescription() {
+    this.description = null;
+  }
+
+  /** Returns true if field description is set (has been assigned a value) and false otherwise */
+  public boolean isSetDescription() {
+    return this.description != null;
+  }
+
+  public void setDescriptionIsSet(boolean value) {
+    if (!value) {
+      this.description = 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 int getSharedUsersSize() {
+    return (this.sharedUsers == null) ? 0 : this.sharedUsers.size();
+  }
+
+  public java.util.Iterator<String> getSharedUsersIterator() {
+    return (this.sharedUsers == null) ? null : this.sharedUsers.iterator();
+  }
+
+  public void addToSharedUsers(String elem) {
+    if (this.sharedUsers == null) {
+      this.sharedUsers = new ArrayList<String>();
+    }
+    this.sharedUsers.add(elem);
+  }
+
+  public List<String> getSharedUsers() {
+    return this.sharedUsers;
+  }
+
+  public void setSharedUsers(List<String> sharedUsers) {
+    this.sharedUsers = sharedUsers;
+  }
+
+  public void unsetSharedUsers() {
+    this.sharedUsers = null;
+  }
+
+  /** Returns true if field sharedUsers is set (has been assigned a value) and false otherwise */
+  public boolean isSetSharedUsers() {
+    return this.sharedUsers != null;
+  }
+
+  public void setSharedUsersIsSet(boolean value) {
+    if (!value) {
+      this.sharedUsers = null;
+    }
+  }
+
+  public int getSharedGroupsSize() {
+    return (this.sharedGroups == null) ? 0 : this.sharedGroups.size();
+  }
+
+  public java.util.Iterator<String> getSharedGroupsIterator() {
+    return (this.sharedGroups == null) ? null : this.sharedGroups.iterator();
+  }
+
+  public void addToSharedGroups(String elem) {
+    if (this.sharedGroups == null) {
+      this.sharedGroups = new ArrayList<String>();
+    }
+    this.sharedGroups.add(elem);
+  }
+
+  public List<String> getSharedGroups() {
+    return this.sharedGroups;
+  }
+
+  public void setSharedGroups(List<String> sharedGroups) {
+    this.sharedGroups = sharedGroups;
+  }
+
+  public void unsetSharedGroups() {
+    this.sharedGroups = null;
+  }
+
+  /** Returns true if field sharedGroups is set (has been assigned a value) and false otherwise */
+  public boolean isSetSharedGroups() {
+    return this.sharedGroups != null;
+  }
+
+  public void setSharedGroupsIsSet(boolean value) {
+    if (!value) {
+      this.sharedGroups = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case PROJECT_ID:
+      if (value == null) {
+        unsetProjectID();
+      } else {
+        setProjectID((String)value);
+      }
+      break;
+
+    case OWNER:
+      if (value == null) {
+        unsetOwner();
+      } else {
+        setOwner((String)value);
+      }
+      break;
+
+    case NAME:
+      if (value == null) {
+        unsetName();
+      } else {
+        setName((String)value);
+      }
+      break;
+
+    case DESCRIPTION:
+      if (value == null) {
+        unsetDescription();
+      } else {
+        setDescription((String)value);
+      }
+      break;
+
+    case CREATION_TIME:
+      if (value == null) {
+        unsetCreationTime();
+      } else {
+        setCreationTime((Long)value);
+      }
+      break;
+
+    case SHARED_USERS:
+      if (value == null) {
+        unsetSharedUsers();
+      } else {
+        setSharedUsers((List<String>)value);
+      }
+      break;
+
+    case SHARED_GROUPS:
+      if (value == null) {
+        unsetSharedGroups();
+      } else {
+        setSharedGroups((List<String>)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case PROJECT_ID:
+      return getProjectID();
+
+    case OWNER:
+      return getOwner();
+
+    case NAME:
+      return getName();
+
+    case DESCRIPTION:
+      return getDescription();
+
+    case CREATION_TIME:
+      return Long.valueOf(getCreationTime());
+
+    case SHARED_USERS:
+      return getSharedUsers();
+
+    case SHARED_GROUPS:
+      return getSharedGroups();
+
+    }
+    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 PROJECT_ID:
+      return isSetProjectID();
+    case OWNER:
+      return isSetOwner();
+    case NAME:
+      return isSetName();
+    case DESCRIPTION:
+      return isSetDescription();
+    case CREATION_TIME:
+      return isSetCreationTime();
+    case SHARED_USERS:
+      return isSetSharedUsers();
+    case SHARED_GROUPS:
+      return isSetSharedGroups();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof Project)
+      return this.equals((Project)that);
+    return false;
+  }
+
+  public boolean equals(Project that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_projectID = true && this.isSetProjectID();
+    boolean that_present_projectID = true && that.isSetProjectID();
+    if (this_present_projectID || that_present_projectID) {
+      if (!(this_present_projectID && that_present_projectID))
+        return false;
+      if (!this.projectID.equals(that.projectID))
+        return false;
+    }
+
+    boolean this_present_owner = true && this.isSetOwner();
+    boolean that_present_owner = true && that.isSetOwner();
+    if (this_present_owner || that_present_owner) {
+      if (!(this_present_owner && that_present_owner))
+        return false;
+      if (!this.owner.equals(that.owner))
+        return false;
+    }
+
+    boolean this_present_name = true && this.isSetName();
+    boolean that_present_name = true && that.isSetName();
+    if (this_present_name || that_present_name) {
+      if (!(this_present_name && that_present_name))
+        return false;
+      if (!this.name.equals(that.name))
+        return false;
+    }
+
+    boolean this_present_description = true && this.isSetDescription();
+    boolean that_present_description = true && that.isSetDescription();
+    if (this_present_description || that_present_description) {
+      if (!(this_present_description && that_present_description))
+        return false;
+      if (!this.description.equals(that.description))
+        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_sharedUsers = true && this.isSetSharedUsers();
+    boolean that_present_sharedUsers = true && that.isSetSharedUsers();
+    if (this_present_sharedUsers || that_present_sharedUsers) {
+      if (!(this_present_sharedUsers && that_present_sharedUsers))
+        return false;
+      if (!this.sharedUsers.equals(that.sharedUsers))
+        return false;
+    }
+
+    boolean this_present_sharedGroups = true && this.isSetSharedGroups();
+    boolean that_present_sharedGroups = true && that.isSetSharedGroups();
+    if (this_present_sharedGroups || that_present_sharedGroups) {
+      if (!(this_present_sharedGroups && that_present_sharedGroups))
+        return false;
+      if (!this.sharedGroups.equals(that.sharedGroups))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  @Override
+  public int compareTo(Project other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetProjectID()).compareTo(other.isSetProjectID());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetProjectID()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.projectID, other.projectID);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetOwner()).compareTo(other.isSetOwner());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetOwner()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.owner, other.owner);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDescription()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.description, other.description);
+      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(isSetSharedUsers()).compareTo(other.isSetSharedUsers());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetSharedUsers()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sharedUsers, other.sharedUsers);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetSharedGroups()).compareTo(other.isSetSharedGroups());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetSharedGroups()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sharedGroups, other.sharedGroups);
+      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("Project(");
+    boolean first = true;
+
+    sb.append("projectID:");
+    if (this.projectID == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.projectID);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("owner:");
+    if (this.owner == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.owner);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("name:");
+    if (this.name == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.name);
+    }
+    first = false;
+    if (isSetDescription()) {
+      if (!first) sb.append(", ");
+      sb.append("description:");
+      if (this.description == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.description);
+      }
+      first = false;
+    }
+    if (isSetCreationTime()) {
+      if (!first) sb.append(", ");
+      sb.append("creationTime:");
+      sb.append(this.creationTime);
+      first = false;
+    }
+    if (isSetSharedUsers()) {
+      if (!first) sb.append(", ");
+      sb.append("sharedUsers:");
+      if (this.sharedUsers == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.sharedUsers);
+      }
+      first = false;
+    }
+    if (isSetSharedGroups()) {
+      if (!first) sb.append(", ");
+      sb.append("sharedGroups:");
+      if (this.sharedGroups == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.sharedGroups);
+      }
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!isSetProjectID()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'projectID' is unset! Struct:" + toString());
+    }
+
+    if (!isSetOwner()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'owner' is unset! Struct:" + toString());
+    }
+
+    if (!isSetName()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'name' 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 {
+      // 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 ProjectStandardSchemeFactory implements SchemeFactory {
+    public ProjectStandardScheme getScheme() {
+      return new ProjectStandardScheme();
+    }
+  }
+
+  private static class ProjectStandardScheme extends StandardScheme<Project> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, Project 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: // PROJECT_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.projectID = iprot.readString();
+              struct.setProjectIDIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // OWNER
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.owner = iprot.readString();
+              struct.setOwnerIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.name = iprot.readString();
+              struct.setNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // DESCRIPTION
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.description = iprot.readString();
+              struct.setDescriptionIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // 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 6: // SHARED_USERS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
+                struct.sharedUsers = new ArrayList<String>(_list0.size);
+                for (int _i1 = 0; _i1 < _list0.size; ++_i1)
+                {
+                  String _elem2;
+                  _elem2 = iprot.readString();
+                  struct.sharedUsers.add(_elem2);
+                }
+                iprot.readListEnd();
+              }
+              struct.setSharedUsersIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 7: // SHARED_GROUPS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list3 = iprot.readListBegin();
+                struct.sharedGroups = new ArrayList<String>(_list3.size);
+                for (int _i4 = 0; _i4 < _list3.size; ++_i4)
+                {
+                  String _elem5;
+                  _elem5 = iprot.readString();
+                  struct.sharedGroups.add(_elem5);
+                }
+                iprot.readListEnd();
+              }
+              struct.setSharedGroupsIsSet(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, Project struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.projectID != null) {
+        oprot.writeFieldBegin(PROJECT_ID_FIELD_DESC);
+        oprot.writeString(struct.projectID);
+        oprot.writeFieldEnd();
+      }
+      if (struct.owner != null) {
+        oprot.writeFieldBegin(OWNER_FIELD_DESC);
+        oprot.writeString(struct.owner);
+        oprot.writeFieldEnd();
+      }
+      if (struct.name != null) {
+        oprot.writeFieldBegin(NAME_FIELD_DESC);
+        oprot.writeString(struct.name);
+        oprot.writeFieldEnd();
+      }
+      if (struct.description != null) {
+        if (struct.isSetDescription()) {
+          oprot.writeFieldBegin(DESCRIPTION_FIELD_DESC);
+          oprot.writeString(struct.description);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetCreationTime()) {
+        oprot.writeFieldBegin(CREATION_TIME_FIELD_DESC);
+        oprot.writeI64(struct.creationTime);
+        oprot.writeFieldEnd();
+      }
+      if (struct.sharedUsers != null) {
+        if (struct.isSetSharedUsers()) {
+          oprot.writeFieldBegin(SHARED_USERS_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.sharedUsers.size()));
+            for (String _iter6 : struct.sharedUsers)
+            {
+              oprot.writeString(_iter6);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.sharedGroups != null) {
+        if (struct.isSetSharedGroups()) {
+          oprot.writeFieldBegin(SHARED_GROUPS_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.sharedGroups.size()));
+            for (String _iter7 : struct.sharedGroups)
+            {
+              oprot.writeString(_iter7);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class ProjectTupleSchemeFactory implements SchemeFactory {
+    public ProjectTupleScheme getScheme() {
+      return new ProjectTupleScheme();
+    }
+  }
+
+  private static class ProjectTupleScheme extends TupleScheme<Project> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, Project struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeString(struct.projectID);
+      oprot.writeString(struct.owner);
+      oprot.writeString(struct.name);
+      BitSet optionals = new BitSet();
+      if (struct.isSetDescription()) {
+        optionals.set(0);
+      }
+      if (struct.isSetCreationTime()) {
+        optionals.set(1);
+      }
+      if (struct.isSetSharedUsers()) {
+        optionals.set(2);
+      }
+      if (struct.isSetSharedGroups()) {
+        optionals.set(3);
+      }
+      oprot.writeBitSet(optionals, 4);
+      if (struct.isSetDescription()) {
+        oprot.writeString(struct.description);
+      }
+      if (struct.isSetCreationTime()) {
+        oprot.writeI64(struct.creationTime);
+      }
+      if (struct.isSetSharedUsers()) {
+        {
+          oprot.writeI32(struct.sharedUsers.size());
+          for (String _iter8 : struct.sharedUsers)
+          {
+            oprot.writeString(_iter8);
+          }
+        }
+      }
+      if (struct.isSetSharedGroups()) {
+        {
+          oprot.writeI32(struct.sharedGroups.size());
+          for (String _iter9 : struct.sharedGroups)
+          {
+            oprot.writeString(_iter9);
+          }
+        }
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, Project struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.projectID = iprot.readString();
+      struct.setProjectIDIsSet(true);
+      struct.owner = iprot.readString();
+      struct.setOwnerIsSet(true);
+      struct.name = iprot.readString();
+      struct.setNameIsSet(true);
+      BitSet incoming = iprot.readBitSet(4);
+      if (incoming.get(0)) {
+        struct.description = iprot.readString();
+        struct.setDescriptionIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.creationTime = iprot.readI64();
+        struct.setCreationTimeIsSet(true);
+      }
+      if (incoming.get(2)) {
+        {
+          org.apache.thrift.protocol.TList _list10 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.sharedUsers = new ArrayList<String>(_list10.size);
+          for (int _i11 = 0; _i11 < _list10.size; ++_i11)
+          {
+            String _elem12;
+            _elem12 = iprot.readString();
+            struct.sharedUsers.add(_elem12);
+          }
+        }
+        struct.setSharedUsersIsSet(true);
+      }
+      if (incoming.get(3)) {
+        {
+          org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.sharedGroups = new ArrayList<String>(_list13.size);
+          for (int _i14 = 0; _i14 < _list13.size; ++_i14)
+          {
+            String _elem15;
+            _elem15 = iprot.readString();
+            struct.sharedGroups.add(_elem15);
+          }
+        }
+        struct.setSharedGroupsIsSet(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/User.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
new file mode 100644
index 0000000..9833320
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
@@ -0,0 +1,554 @@
+    /*
+     * 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;
+
+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;
+
+@SuppressWarnings("all") public class User implements org.apache.thrift.TBase<User, User._Fields>, java.io.Serializable, Cloneable, Comparable<User> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("User");
+
+  private static final org.apache.thrift.protocol.TField USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userName", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField GROUP_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("groupList", org.apache.thrift.protocol.TType.LIST, (short)2);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new UserStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new UserTupleSchemeFactory());
+  }
+
+  private String userName; // required
+  private List<Group> groupList; // 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 {
+    USER_NAME((short)1, "userName"),
+    GROUP_LIST((short)2, "groupList");
+
+    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+    static {
+      for (_Fields field : EnumSet.allOf(_Fields.class)) {
+        byName.put(field.getFieldName(), field);
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, or null if its not found.
+     */
+    public static _Fields findByThriftId(int fieldId) {
+      switch(fieldId) {
+        case 1: // USER_NAME
+          return USER_NAME;
+        case 2: // GROUP_LIST
+          return GROUP_LIST;
+        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.GROUP_LIST};
+  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+  static {
+    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    tmpMap.put(_Fields.USER_NAME, new org.apache.thrift.meta_data.FieldMetaData("userName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.GROUP_LIST, new org.apache.thrift.meta_data.FieldMetaData("groupList", 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, Group.class))));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(User.class, metaDataMap);
+  }
+
+  public User() {
+  }
+
+  public User(
+    String userName)
+  {
+    this();
+    this.userName = userName;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public User(User other) {
+    if (other.isSetUserName()) {
+      this.userName = other.userName;
+    }
+    if (other.isSetGroupList()) {
+      List<Group> __this__groupList = new ArrayList<Group>(other.groupList.size());
+      for (Group other_element : other.groupList) {
+        __this__groupList.add(new Group(other_element));
+      }
+      this.groupList = __this__groupList;
+    }
+  }
+
+  public User deepCopy() {
+    return new User(this);
+  }
+
+  @Override
+  public void clear() {
+    this.userName = null;
+    this.groupList = null;
+  }
+
+  public String getUserName() {
+    return this.userName;
+  }
+
+  public void setUserName(String userName) {
+    this.userName = userName;
+  }
+
+  public void unsetUserName() {
+    this.userName = null;
+  }
+
+  /** Returns true if field userName is set (has been assigned a value) and false otherwise */
+  public boolean isSetUserName() {
+    return this.userName != null;
+  }
+
+  public void setUserNameIsSet(boolean value) {
+    if (!value) {
+      this.userName = null;
+    }
+  }
+
+  public int getGroupListSize() {
+    return (this.groupList == null) ? 0 : this.groupList.size();
+  }
+
+  public java.util.Iterator<Group> getGroupListIterator() {
+    return (this.groupList == null) ? null : this.groupList.iterator();
+  }
+
+  public void addToGroupList(Group elem) {
+    if (this.groupList == null) {
+      this.groupList = new ArrayList<Group>();
+    }
+    this.groupList.add(elem);
+  }
+
+  public List<Group> getGroupList() {
+    return this.groupList;
+  }
+
+  public void setGroupList(List<Group> groupList) {
+    this.groupList = groupList;
+  }
+
+  public void unsetGroupList() {
+    this.groupList = null;
+  }
+
+  /** Returns true if field groupList is set (has been assigned a value) and false otherwise */
+  public boolean isSetGroupList() {
+    return this.groupList != null;
+  }
+
+  public void setGroupListIsSet(boolean value) {
+    if (!value) {
+      this.groupList = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case USER_NAME:
+      if (value == null) {
+        unsetUserName();
+      } else {
+        setUserName((String)value);
+      }
+      break;
+
+    case GROUP_LIST:
+      if (value == null) {
+        unsetGroupList();
+      } else {
+        setGroupList((List<Group>)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case USER_NAME:
+      return getUserName();
+
+    case GROUP_LIST:
+      return getGroupList();
+
+    }
+    throw new IllegalStateException();
+  }
+
+  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  public boolean isSet(_Fields field) {
+    if (field == null) {
+      throw new IllegalArgumentException();
+    }
+
+    switch (field) {
+    case USER_NAME:
+      return isSetUserName();
+    case GROUP_LIST:
+      return isSetGroupList();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof User)
+      return this.equals((User)that);
+    return false;
+  }
+
+  public boolean equals(User that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_userName = true && this.isSetUserName();
+    boolean that_present_userName = true && that.isSetUserName();
+    if (this_present_userName || that_present_userName) {
+      if (!(this_present_userName && that_present_userName))
+        return false;
+      if (!this.userName.equals(that.userName))
+        return false;
+    }
+
+    boolean this_present_groupList = true && this.isSetGroupList();
+    boolean that_present_groupList = true && that.isSetGroupList();
+    if (this_present_groupList || that_present_groupList) {
+      if (!(this_present_groupList && that_present_groupList))
+        return false;
+      if (!this.groupList.equals(that.groupList))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  @Override
+  public int compareTo(User other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetUserName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userName, other.userName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetGroupList()).compareTo(other.isSetGroupList());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetGroupList()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.groupList, other.groupList);
+      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("User(");
+    boolean first = true;
+
+    sb.append("userName:");
+    if (this.userName == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.userName);
+    }
+    first = false;
+    if (isSetGroupList()) {
+      if (!first) sb.append(", ");
+      sb.append("groupList:");
+      if (this.groupList == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.groupList);
+      }
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!isSetUserName()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'userName' 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 UserStandardSchemeFactory implements SchemeFactory {
+    public UserStandardScheme getScheme() {
+      return new UserStandardScheme();
+    }
+  }
+
+  private static class UserStandardScheme extends StandardScheme<User> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, User struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // USER_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.userName = iprot.readString();
+              struct.setUserNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // GROUP_LIST
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list16 = iprot.readListBegin();
+                struct.groupList = new ArrayList<Group>(_list16.size);
+                for (int _i17 = 0; _i17 < _list16.size; ++_i17)
+                {
+                  Group _elem18;
+                  _elem18 = new Group();
+                  _elem18.read(iprot);
+                  struct.groupList.add(_elem18);
+                }
+                iprot.readListEnd();
+              }
+              struct.setGroupListIsSet(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, User struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.userName != null) {
+        oprot.writeFieldBegin(USER_NAME_FIELD_DESC);
+        oprot.writeString(struct.userName);
+        oprot.writeFieldEnd();
+      }
+      if (struct.groupList != null) {
+        if (struct.isSetGroupList()) {
+          oprot.writeFieldBegin(GROUP_LIST_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.groupList.size()));
+            for (Group _iter19 : struct.groupList)
+            {
+              _iter19.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class UserTupleSchemeFactory implements SchemeFactory {
+    public UserTupleScheme getScheme() {
+      return new UserTupleScheme();
+    }
+  }
+
+  private static class UserTupleScheme extends TupleScheme<User> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, User struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeString(struct.userName);
+      BitSet optionals = new BitSet();
+      if (struct.isSetGroupList()) {
+        optionals.set(0);
+      }
+      oprot.writeBitSet(optionals, 1);
+      if (struct.isSetGroupList()) {
+        {
+          oprot.writeI32(struct.groupList.size());
+          for (Group _iter20 : struct.groupList)
+          {
+            _iter20.write(oprot);
+          }
+        }
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, User struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.userName = iprot.readString();
+      struct.setUserNameIsSet(true);
+      BitSet incoming = iprot.readBitSet(1);
+      if (incoming.get(0)) {
+        {
+          org.apache.thrift.protocol.TList _list21 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.groupList = new ArrayList<Group>(_list21.size);
+          for (int _i22 = 0; _i22 < _list21.size; ++_i22)
+          {
+            Group _elem23;
+            _elem23 = new Group();
+            _elem23.read(iprot);
+            struct.groupList.add(_elem23);
+          }
+        }
+        struct.setGroupListIsSet(true);
+      }
+    }
+  }
+
+}
+


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

Posted by sm...@apache.org.
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;
+    }
+  }
+}


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

Posted by sm...@apache.org.
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/ExperimentState.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ExperimentState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ExperimentState.java
new file mode 100644
index 0000000..972e9ac
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ExperimentState.java
@@ -0,0 +1,82 @@
+    /*
+     * 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 ExperimentState implements org.apache.thrift.TEnum {
+  CREATED(0),
+  VALIDATED(1),
+  SCHEDULED(2),
+  LAUNCHED(3),
+  EXECUTING(4),
+  CANCELED(5),
+  COMPLETED(6),
+  FAILED(7),
+  UNKNOWN(8);
+
+  private final int value;
+
+  private ExperimentState(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 ExperimentState findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return CREATED;
+      case 1:
+        return VALIDATED;
+      case 2:
+        return SCHEDULED;
+      case 3:
+        return LAUNCHED;
+      case 4:
+        return EXECUTING;
+      case 5:
+        return CANCELED;
+      case 6:
+        return COMPLETED;
+      case 7:
+        return FAILED;
+      case 8:
+        return UNKNOWN;
+      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/ExperimentStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ExperimentStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ExperimentStatus.java
new file mode 100644
index 0000000..5484087
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ExperimentStatus.java
@@ -0,0 +1,509 @@
+    /*
+     * 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;
+
+@SuppressWarnings("all") public class ExperimentStatus implements org.apache.thrift.TBase<ExperimentStatus, ExperimentStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentStatus> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentStatus");
+
+  private static final org.apache.thrift.protocol.TField EXPERIMENT_STATE_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentState", org.apache.thrift.protocol.TType.I32, (short)1);
+  private static final org.apache.thrift.protocol.TField TIME_OF_STATE_CHANGE_FIELD_DESC = new org.apache.thrift.protocol.TField("timeOfStateChange", org.apache.thrift.protocol.TType.I64, (short)2);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new ExperimentStatusStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new ExperimentStatusTupleSchemeFactory());
+  }
+
+  private ExperimentState experimentState; // required
+  private long timeOfStateChange; // 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 {
+    /**
+     * 
+     * @see ExperimentState
+     */
+    EXPERIMENT_STATE((short)1, "experimentState"),
+    TIME_OF_STATE_CHANGE((short)2, "timeOfStateChange");
+
+    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: // EXPERIMENT_STATE
+          return EXPERIMENT_STATE;
+        case 2: // TIME_OF_STATE_CHANGE
+          return TIME_OF_STATE_CHANGE;
+        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 __TIMEOFSTATECHANGE_ISSET_ID = 0;
+  private byte __isset_bitfield = 0;
+  private _Fields optionals[] = {_Fields.TIME_OF_STATE_CHANGE};
+  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.EXPERIMENT_STATE, new org.apache.thrift.meta_data.FieldMetaData("experimentState", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, ExperimentState.class)));
+    tmpMap.put(_Fields.TIME_OF_STATE_CHANGE, new org.apache.thrift.meta_data.FieldMetaData("timeOfStateChange", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ExperimentStatus.class, metaDataMap);
+  }
+
+  public ExperimentStatus() {
+  }
+
+  public ExperimentStatus(
+    ExperimentState experimentState)
+  {
+    this();
+    this.experimentState = experimentState;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public ExperimentStatus(ExperimentStatus other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.isSetExperimentState()) {
+      this.experimentState = other.experimentState;
+    }
+    this.timeOfStateChange = other.timeOfStateChange;
+  }
+
+  public ExperimentStatus deepCopy() {
+    return new ExperimentStatus(this);
+  }
+
+  @Override
+  public void clear() {
+    this.experimentState = null;
+    setTimeOfStateChangeIsSet(false);
+    this.timeOfStateChange = 0;
+  }
+
+  /**
+   * 
+   * @see ExperimentState
+   */
+  public ExperimentState getExperimentState() {
+    return this.experimentState;
+  }
+
+  /**
+   * 
+   * @see ExperimentState
+   */
+  public void setExperimentState(ExperimentState experimentState) {
+    this.experimentState = experimentState;
+  }
+
+  public void unsetExperimentState() {
+    this.experimentState = null;
+  }
+
+  /** Returns true if field experimentState is set (has been assigned a value) and false otherwise */
+  public boolean isSetExperimentState() {
+    return this.experimentState != null;
+  }
+
+  public void setExperimentStateIsSet(boolean value) {
+    if (!value) {
+      this.experimentState = null;
+    }
+  }
+
+  public long getTimeOfStateChange() {
+    return this.timeOfStateChange;
+  }
+
+  public void setTimeOfStateChange(long timeOfStateChange) {
+    this.timeOfStateChange = timeOfStateChange;
+    setTimeOfStateChangeIsSet(true);
+  }
+
+  public void unsetTimeOfStateChange() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
+  }
+
+  /** Returns true if field timeOfStateChange is set (has been assigned a value) and false otherwise */
+  public boolean isSetTimeOfStateChange() {
+    return EncodingUtils.testBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
+  }
+
+  public void setTimeOfStateChangeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID, value);
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case EXPERIMENT_STATE:
+      if (value == null) {
+        unsetExperimentState();
+      } else {
+        setExperimentState((ExperimentState)value);
+      }
+      break;
+
+    case TIME_OF_STATE_CHANGE:
+      if (value == null) {
+        unsetTimeOfStateChange();
+      } else {
+        setTimeOfStateChange((Long)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case EXPERIMENT_STATE:
+      return getExperimentState();
+
+    case TIME_OF_STATE_CHANGE:
+      return Long.valueOf(getTimeOfStateChange());
+
+    }
+    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 EXPERIMENT_STATE:
+      return isSetExperimentState();
+    case TIME_OF_STATE_CHANGE:
+      return isSetTimeOfStateChange();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof ExperimentStatus)
+      return this.equals((ExperimentStatus)that);
+    return false;
+  }
+
+  public boolean equals(ExperimentStatus that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_experimentState = true && this.isSetExperimentState();
+    boolean that_present_experimentState = true && that.isSetExperimentState();
+    if (this_present_experimentState || that_present_experimentState) {
+      if (!(this_present_experimentState && that_present_experimentState))
+        return false;
+      if (!this.experimentState.equals(that.experimentState))
+        return false;
+    }
+
+    boolean this_present_timeOfStateChange = true && this.isSetTimeOfStateChange();
+    boolean that_present_timeOfStateChange = true && that.isSetTimeOfStateChange();
+    if (this_present_timeOfStateChange || that_present_timeOfStateChange) {
+      if (!(this_present_timeOfStateChange && that_present_timeOfStateChange))
+        return false;
+      if (this.timeOfStateChange != that.timeOfStateChange)
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  @Override
+  public int compareTo(ExperimentStatus other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetExperimentState()).compareTo(other.isSetExperimentState());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetExperimentState()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentState, other.experimentState);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTimeOfStateChange()).compareTo(other.isSetTimeOfStateChange());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTimeOfStateChange()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.timeOfStateChange, other.timeOfStateChange);
+      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("ExperimentStatus(");
+    boolean first = true;
+
+    sb.append("experimentState:");
+    if (this.experimentState == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.experimentState);
+    }
+    first = false;
+    if (isSetTimeOfStateChange()) {
+      if (!first) sb.append(", ");
+      sb.append("timeOfStateChange:");
+      sb.append(this.timeOfStateChange);
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!isSetExperimentState()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'experimentState' 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 {
+      // 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 ExperimentStatusStandardSchemeFactory implements SchemeFactory {
+    public ExperimentStatusStandardScheme getScheme() {
+      return new ExperimentStatusStandardScheme();
+    }
+  }
+
+  private static class ExperimentStatusStandardScheme extends StandardScheme<ExperimentStatus> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, ExperimentStatus 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: // EXPERIMENT_STATE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.experimentState = ExperimentState.findByValue(iprot.readI32());
+              struct.setExperimentStateIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // TIME_OF_STATE_CHANGE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.timeOfStateChange = iprot.readI64();
+              struct.setTimeOfStateChangeIsSet(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, ExperimentStatus struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.experimentState != null) {
+        oprot.writeFieldBegin(EXPERIMENT_STATE_FIELD_DESC);
+        oprot.writeI32(struct.experimentState.getValue());
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetTimeOfStateChange()) {
+        oprot.writeFieldBegin(TIME_OF_STATE_CHANGE_FIELD_DESC);
+        oprot.writeI64(struct.timeOfStateChange);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class ExperimentStatusTupleSchemeFactory implements SchemeFactory {
+    public ExperimentStatusTupleScheme getScheme() {
+      return new ExperimentStatusTupleScheme();
+    }
+  }
+
+  private static class ExperimentStatusTupleScheme extends TupleScheme<ExperimentStatus> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, ExperimentStatus struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeI32(struct.experimentState.getValue());
+      BitSet optionals = new BitSet();
+      if (struct.isSetTimeOfStateChange()) {
+        optionals.set(0);
+      }
+      oprot.writeBitSet(optionals, 1);
+      if (struct.isSetTimeOfStateChange()) {
+        oprot.writeI64(struct.timeOfStateChange);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, ExperimentStatus struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.experimentState = ExperimentState.findByValue(iprot.readI32());
+      struct.setExperimentStateIsSet(true);
+      BitSet incoming = iprot.readBitSet(1);
+      if (incoming.get(0)) {
+        struct.timeOfStateChange = iprot.readI64();
+        struct.setTimeOfStateChangeIsSet(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/JobDetails.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/JobDetails.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/JobDetails.java
new file mode 100644
index 0000000..073a580
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/JobDetails.java
@@ -0,0 +1,963 @@
+    /*
+     * 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;
+
+@SuppressWarnings("all") public class JobDetails implements org.apache.thrift.TBase<JobDetails, JobDetails._Fields>, java.io.Serializable, Cloneable, Comparable<JobDetails> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobDetails");
+
+  private static final org.apache.thrift.protocol.TField JOB_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("jobID", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField JOB_DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("jobDescription", org.apache.thrift.protocol.TType.STRING, (short)2);
+  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)3);
+  private static final org.apache.thrift.protocol.TField JOB_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("jobStatus", org.apache.thrift.protocol.TType.STRUCT, (short)4);
+  private static final org.apache.thrift.protocol.TField APPLICATION_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationStatus", org.apache.thrift.protocol.TType.STRUCT, (short)5);
+  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)6);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new JobDetailsStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new JobDetailsTupleSchemeFactory());
+  }
+
+  private String jobID; // required
+  private String jobDescription; // required
+  private long creationTime; // optional
+  private JobStatus jobStatus; // optional
+  private ApplicationStatus applicationStatus; // 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 {
+    JOB_ID((short)1, "jobID"),
+    JOB_DESCRIPTION((short)2, "jobDescription"),
+    CREATION_TIME((short)3, "creationTime"),
+    JOB_STATUS((short)4, "jobStatus"),
+    APPLICATION_STATUS((short)5, "applicationStatus"),
+    ERRORS((short)6, "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: // JOB_ID
+          return JOB_ID;
+        case 2: // JOB_DESCRIPTION
+          return JOB_DESCRIPTION;
+        case 3: // CREATION_TIME
+          return CREATION_TIME;
+        case 4: // JOB_STATUS
+          return JOB_STATUS;
+        case 5: // APPLICATION_STATUS
+          return APPLICATION_STATUS;
+        case 6: // 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.JOB_STATUS,_Fields.APPLICATION_STATUS,_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.JOB_ID, new org.apache.thrift.meta_data.FieldMetaData("jobID", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.JOB_DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("jobDescription", 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.JOB_STATUS, new org.apache.thrift.meta_data.FieldMetaData("jobStatus", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, JobStatus.class)));
+    tmpMap.put(_Fields.APPLICATION_STATUS, new org.apache.thrift.meta_data.FieldMetaData("applicationStatus", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ApplicationStatus.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(JobDetails.class, metaDataMap);
+  }
+
+  public JobDetails() {
+    this.jobID = "DO_NOT_SET_AT_CLIENTS";
+
+  }
+
+  public JobDetails(
+    String jobID,
+    String jobDescription)
+  {
+    this();
+    this.jobID = jobID;
+    this.jobDescription = jobDescription;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public JobDetails(JobDetails other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.isSetJobID()) {
+      this.jobID = other.jobID;
+    }
+    if (other.isSetJobDescription()) {
+      this.jobDescription = other.jobDescription;
+    }
+    this.creationTime = other.creationTime;
+    if (other.isSetJobStatus()) {
+      this.jobStatus = new JobStatus(other.jobStatus);
+    }
+    if (other.isSetApplicationStatus()) {
+      this.applicationStatus = new ApplicationStatus(other.applicationStatus);
+    }
+    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 JobDetails deepCopy() {
+    return new JobDetails(this);
+  }
+
+  @Override
+  public void clear() {
+    this.jobID = "DO_NOT_SET_AT_CLIENTS";
+
+    this.jobDescription = null;
+    setCreationTimeIsSet(false);
+    this.creationTime = 0;
+    this.jobStatus = null;
+    this.applicationStatus = null;
+    this.errors = null;
+  }
+
+  public String getJobID() {
+    return this.jobID;
+  }
+
+  public void setJobID(String jobID) {
+    this.jobID = jobID;
+  }
+
+  public void unsetJobID() {
+    this.jobID = null;
+  }
+
+  /** Returns true if field jobID is set (has been assigned a value) and false otherwise */
+  public boolean isSetJobID() {
+    return this.jobID != null;
+  }
+
+  public void setJobIDIsSet(boolean value) {
+    if (!value) {
+      this.jobID = null;
+    }
+  }
+
+  public String getJobDescription() {
+    return this.jobDescription;
+  }
+
+  public void setJobDescription(String jobDescription) {
+    this.jobDescription = jobDescription;
+  }
+
+  public void unsetJobDescription() {
+    this.jobDescription = null;
+  }
+
+  /** Returns true if field jobDescription is set (has been assigned a value) and false otherwise */
+  public boolean isSetJobDescription() {
+    return this.jobDescription != null;
+  }
+
+  public void setJobDescriptionIsSet(boolean value) {
+    if (!value) {
+      this.jobDescription = 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 JobStatus getJobStatus() {
+    return this.jobStatus;
+  }
+
+  public void setJobStatus(JobStatus jobStatus) {
+    this.jobStatus = jobStatus;
+  }
+
+  public void unsetJobStatus() {
+    this.jobStatus = null;
+  }
+
+  /** Returns true if field jobStatus is set (has been assigned a value) and false otherwise */
+  public boolean isSetJobStatus() {
+    return this.jobStatus != null;
+  }
+
+  public void setJobStatusIsSet(boolean value) {
+    if (!value) {
+      this.jobStatus = null;
+    }
+  }
+
+  public ApplicationStatus getApplicationStatus() {
+    return this.applicationStatus;
+  }
+
+  public void setApplicationStatus(ApplicationStatus applicationStatus) {
+    this.applicationStatus = applicationStatus;
+  }
+
+  public void unsetApplicationStatus() {
+    this.applicationStatus = null;
+  }
+
+  /** Returns true if field applicationStatus is set (has been assigned a value) and false otherwise */
+  public boolean isSetApplicationStatus() {
+    return this.applicationStatus != null;
+  }
+
+  public void setApplicationStatusIsSet(boolean value) {
+    if (!value) {
+      this.applicationStatus = 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 JOB_ID:
+      if (value == null) {
+        unsetJobID();
+      } else {
+        setJobID((String)value);
+      }
+      break;
+
+    case JOB_DESCRIPTION:
+      if (value == null) {
+        unsetJobDescription();
+      } else {
+        setJobDescription((String)value);
+      }
+      break;
+
+    case CREATION_TIME:
+      if (value == null) {
+        unsetCreationTime();
+      } else {
+        setCreationTime((Long)value);
+      }
+      break;
+
+    case JOB_STATUS:
+      if (value == null) {
+        unsetJobStatus();
+      } else {
+        setJobStatus((JobStatus)value);
+      }
+      break;
+
+    case APPLICATION_STATUS:
+      if (value == null) {
+        unsetApplicationStatus();
+      } else {
+        setApplicationStatus((ApplicationStatus)value);
+      }
+      break;
+
+    case ERRORS:
+      if (value == null) {
+        unsetErrors();
+      } else {
+        setErrors((List<ErrorDetails>)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case JOB_ID:
+      return getJobID();
+
+    case JOB_DESCRIPTION:
+      return getJobDescription();
+
+    case CREATION_TIME:
+      return Long.valueOf(getCreationTime());
+
+    case JOB_STATUS:
+      return getJobStatus();
+
+    case APPLICATION_STATUS:
+      return getApplicationStatus();
+
+    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 JOB_ID:
+      return isSetJobID();
+    case JOB_DESCRIPTION:
+      return isSetJobDescription();
+    case CREATION_TIME:
+      return isSetCreationTime();
+    case JOB_STATUS:
+      return isSetJobStatus();
+    case APPLICATION_STATUS:
+      return isSetApplicationStatus();
+    case ERRORS:
+      return isSetErrors();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof JobDetails)
+      return this.equals((JobDetails)that);
+    return false;
+  }
+
+  public boolean equals(JobDetails that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_jobID = true && this.isSetJobID();
+    boolean that_present_jobID = true && that.isSetJobID();
+    if (this_present_jobID || that_present_jobID) {
+      if (!(this_present_jobID && that_present_jobID))
+        return false;
+      if (!this.jobID.equals(that.jobID))
+        return false;
+    }
+
+    boolean this_present_jobDescription = true && this.isSetJobDescription();
+    boolean that_present_jobDescription = true && that.isSetJobDescription();
+    if (this_present_jobDescription || that_present_jobDescription) {
+      if (!(this_present_jobDescription && that_present_jobDescription))
+        return false;
+      if (!this.jobDescription.equals(that.jobDescription))
+        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_jobStatus = true && this.isSetJobStatus();
+    boolean that_present_jobStatus = true && that.isSetJobStatus();
+    if (this_present_jobStatus || that_present_jobStatus) {
+      if (!(this_present_jobStatus && that_present_jobStatus))
+        return false;
+      if (!this.jobStatus.equals(that.jobStatus))
+        return false;
+    }
+
+    boolean this_present_applicationStatus = true && this.isSetApplicationStatus();
+    boolean that_present_applicationStatus = true && that.isSetApplicationStatus();
+    if (this_present_applicationStatus || that_present_applicationStatus) {
+      if (!(this_present_applicationStatus && that_present_applicationStatus))
+        return false;
+      if (!this.applicationStatus.equals(that.applicationStatus))
+        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(JobDetails other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetJobID()).compareTo(other.isSetJobID());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetJobID()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jobID, other.jobID);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetJobDescription()).compareTo(other.isSetJobDescription());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetJobDescription()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jobDescription, other.jobDescription);
+      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(isSetJobStatus()).compareTo(other.isSetJobStatus());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetJobStatus()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jobStatus, other.jobStatus);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetApplicationStatus()).compareTo(other.isSetApplicationStatus());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetApplicationStatus()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.applicationStatus, other.applicationStatus);
+      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("JobDetails(");
+    boolean first = true;
+
+    sb.append("jobID:");
+    if (this.jobID == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.jobID);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("jobDescription:");
+    if (this.jobDescription == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.jobDescription);
+    }
+    first = false;
+    if (isSetCreationTime()) {
+      if (!first) sb.append(", ");
+      sb.append("creationTime:");
+      sb.append(this.creationTime);
+      first = false;
+    }
+    if (isSetJobStatus()) {
+      if (!first) sb.append(", ");
+      sb.append("jobStatus:");
+      if (this.jobStatus == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.jobStatus);
+      }
+      first = false;
+    }
+    if (isSetApplicationStatus()) {
+      if (!first) sb.append(", ");
+      sb.append("applicationStatus:");
+      if (this.applicationStatus == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.applicationStatus);
+      }
+      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 (!isSetJobID()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'jobID' is unset! Struct:" + toString());
+    }
+
+    if (!isSetJobDescription()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'jobDescription' is unset! Struct:" + toString());
+    }
+
+    // check for sub-struct validity
+    if (jobStatus != null) {
+      jobStatus.validate();
+    }
+    if (applicationStatus != null) {
+      applicationStatus.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 JobDetailsStandardSchemeFactory implements SchemeFactory {
+    public JobDetailsStandardScheme getScheme() {
+      return new JobDetailsStandardScheme();
+    }
+  }
+
+  private static class JobDetailsStandardScheme extends StandardScheme<JobDetails> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, JobDetails struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // JOB_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.jobID = iprot.readString();
+              struct.setJobIDIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // JOB_DESCRIPTION
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.jobDescription = iprot.readString();
+              struct.setJobDescriptionIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // 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 4: // JOB_STATUS
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.jobStatus = new JobStatus();
+              struct.jobStatus.read(iprot);
+              struct.setJobStatusIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // APPLICATION_STATUS
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.applicationStatus = new ApplicationStatus();
+              struct.applicationStatus.read(iprot);
+              struct.setApplicationStatusIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 6: // ERRORS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list8 = iprot.readListBegin();
+                struct.errors = new ArrayList<ErrorDetails>(_list8.size);
+                for (int _i9 = 0; _i9 < _list8.size; ++_i9)
+                {
+                  ErrorDetails _elem10;
+                  _elem10 = new ErrorDetails();
+                  _elem10.read(iprot);
+                  struct.errors.add(_elem10);
+                }
+                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, JobDetails struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.jobID != null) {
+        oprot.writeFieldBegin(JOB_ID_FIELD_DESC);
+        oprot.writeString(struct.jobID);
+        oprot.writeFieldEnd();
+      }
+      if (struct.jobDescription != null) {
+        oprot.writeFieldBegin(JOB_DESCRIPTION_FIELD_DESC);
+        oprot.writeString(struct.jobDescription);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetCreationTime()) {
+        oprot.writeFieldBegin(CREATION_TIME_FIELD_DESC);
+        oprot.writeI64(struct.creationTime);
+        oprot.writeFieldEnd();
+      }
+      if (struct.jobStatus != null) {
+        if (struct.isSetJobStatus()) {
+          oprot.writeFieldBegin(JOB_STATUS_FIELD_DESC);
+          struct.jobStatus.write(oprot);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.applicationStatus != null) {
+        if (struct.isSetApplicationStatus()) {
+          oprot.writeFieldBegin(APPLICATION_STATUS_FIELD_DESC);
+          struct.applicationStatus.write(oprot);
+          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 _iter11 : struct.errors)
+            {
+              _iter11.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class JobDetailsTupleSchemeFactory implements SchemeFactory {
+    public JobDetailsTupleScheme getScheme() {
+      return new JobDetailsTupleScheme();
+    }
+  }
+
+  private static class JobDetailsTupleScheme extends TupleScheme<JobDetails> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, JobDetails struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeString(struct.jobID);
+      oprot.writeString(struct.jobDescription);
+      BitSet optionals = new BitSet();
+      if (struct.isSetCreationTime()) {
+        optionals.set(0);
+      }
+      if (struct.isSetJobStatus()) {
+        optionals.set(1);
+      }
+      if (struct.isSetApplicationStatus()) {
+        optionals.set(2);
+      }
+      if (struct.isSetErrors()) {
+        optionals.set(3);
+      }
+      oprot.writeBitSet(optionals, 4);
+      if (struct.isSetCreationTime()) {
+        oprot.writeI64(struct.creationTime);
+      }
+      if (struct.isSetJobStatus()) {
+        struct.jobStatus.write(oprot);
+      }
+      if (struct.isSetApplicationStatus()) {
+        struct.applicationStatus.write(oprot);
+      }
+      if (struct.isSetErrors()) {
+        {
+          oprot.writeI32(struct.errors.size());
+          for (ErrorDetails _iter12 : struct.errors)
+          {
+            _iter12.write(oprot);
+          }
+        }
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, JobDetails struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.jobID = iprot.readString();
+      struct.setJobIDIsSet(true);
+      struct.jobDescription = iprot.readString();
+      struct.setJobDescriptionIsSet(true);
+      BitSet incoming = iprot.readBitSet(4);
+      if (incoming.get(0)) {
+        struct.creationTime = iprot.readI64();
+        struct.setCreationTimeIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.jobStatus = new JobStatus();
+        struct.jobStatus.read(iprot);
+        struct.setJobStatusIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.applicationStatus = new ApplicationStatus();
+        struct.applicationStatus.read(iprot);
+        struct.setApplicationStatusIsSet(true);
+      }
+      if (incoming.get(3)) {
+        {
+          org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.errors = new ArrayList<ErrorDetails>(_list13.size);
+          for (int _i14 = 0; _i14 < _list13.size; ++_i14)
+          {
+            ErrorDetails _elem15;
+            _elem15 = new ErrorDetails();
+            _elem15.read(iprot);
+            struct.errors.add(_elem15);
+          }
+        }
+        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/JobState.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/JobState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/JobState.java
new file mode 100644
index 0000000..58f0c06
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/JobState.java
@@ -0,0 +1,82 @@
+    /*
+     * 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 JobState implements org.apache.thrift.TEnum {
+  SUBMITTED(0),
+  QUEUED(1),
+  ACTIVE(2),
+  COMPLETE(3),
+  CANCELED(4),
+  FAILED(5),
+  HELD(6),
+  SUSPENDED(7),
+  UNKNOWN(8);
+
+  private final int value;
+
+  private JobState(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 JobState findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return SUBMITTED;
+      case 1:
+        return QUEUED;
+      case 2:
+        return ACTIVE;
+      case 3:
+        return COMPLETE;
+      case 4:
+        return CANCELED;
+      case 5:
+        return FAILED;
+      case 6:
+        return HELD;
+      case 7:
+        return SUSPENDED;
+      case 8:
+        return UNKNOWN;
+      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/JobStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/JobStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/JobStatus.java
new file mode 100644
index 0000000..3c476a9
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/JobStatus.java
@@ -0,0 +1,509 @@
+    /*
+     * 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;
+
+@SuppressWarnings("all") public class JobStatus implements org.apache.thrift.TBase<JobStatus, JobStatus._Fields>, java.io.Serializable, Cloneable, Comparable<JobStatus> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobStatus");
+
+  private static final org.apache.thrift.protocol.TField JOB_STATE_FIELD_DESC = new org.apache.thrift.protocol.TField("jobState", org.apache.thrift.protocol.TType.I32, (short)1);
+  private static final org.apache.thrift.protocol.TField TIME_OF_STATE_CHANGE_FIELD_DESC = new org.apache.thrift.protocol.TField("timeOfStateChange", org.apache.thrift.protocol.TType.I64, (short)2);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new JobStatusStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new JobStatusTupleSchemeFactory());
+  }
+
+  private JobState jobState; // required
+  private long timeOfStateChange; // 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 {
+    /**
+     * 
+     * @see JobState
+     */
+    JOB_STATE((short)1, "jobState"),
+    TIME_OF_STATE_CHANGE((short)2, "timeOfStateChange");
+
+    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+    static {
+      for (_Fields field : EnumSet.allOf(_Fields.class)) {
+        byName.put(field.getFieldName(), field);
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, or null if its not found.
+     */
+    public static _Fields findByThriftId(int fieldId) {
+      switch(fieldId) {
+        case 1: // JOB_STATE
+          return JOB_STATE;
+        case 2: // TIME_OF_STATE_CHANGE
+          return TIME_OF_STATE_CHANGE;
+        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 __TIMEOFSTATECHANGE_ISSET_ID = 0;
+  private byte __isset_bitfield = 0;
+  private _Fields optionals[] = {_Fields.TIME_OF_STATE_CHANGE};
+  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+  static {
+    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    tmpMap.put(_Fields.JOB_STATE, new org.apache.thrift.meta_data.FieldMetaData("jobState", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, JobState.class)));
+    tmpMap.put(_Fields.TIME_OF_STATE_CHANGE, new org.apache.thrift.meta_data.FieldMetaData("timeOfStateChange", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(JobStatus.class, metaDataMap);
+  }
+
+  public JobStatus() {
+  }
+
+  public JobStatus(
+    JobState jobState)
+  {
+    this();
+    this.jobState = jobState;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public JobStatus(JobStatus other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.isSetJobState()) {
+      this.jobState = other.jobState;
+    }
+    this.timeOfStateChange = other.timeOfStateChange;
+  }
+
+  public JobStatus deepCopy() {
+    return new JobStatus(this);
+  }
+
+  @Override
+  public void clear() {
+    this.jobState = null;
+    setTimeOfStateChangeIsSet(false);
+    this.timeOfStateChange = 0;
+  }
+
+  /**
+   * 
+   * @see JobState
+   */
+  public JobState getJobState() {
+    return this.jobState;
+  }
+
+  /**
+   * 
+   * @see JobState
+   */
+  public void setJobState(JobState jobState) {
+    this.jobState = jobState;
+  }
+
+  public void unsetJobState() {
+    this.jobState = null;
+  }
+
+  /** Returns true if field jobState is set (has been assigned a value) and false otherwise */
+  public boolean isSetJobState() {
+    return this.jobState != null;
+  }
+
+  public void setJobStateIsSet(boolean value) {
+    if (!value) {
+      this.jobState = null;
+    }
+  }
+
+  public long getTimeOfStateChange() {
+    return this.timeOfStateChange;
+  }
+
+  public void setTimeOfStateChange(long timeOfStateChange) {
+    this.timeOfStateChange = timeOfStateChange;
+    setTimeOfStateChangeIsSet(true);
+  }
+
+  public void unsetTimeOfStateChange() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
+  }
+
+  /** Returns true if field timeOfStateChange is set (has been assigned a value) and false otherwise */
+  public boolean isSetTimeOfStateChange() {
+    return EncodingUtils.testBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
+  }
+
+  public void setTimeOfStateChangeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID, value);
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case JOB_STATE:
+      if (value == null) {
+        unsetJobState();
+      } else {
+        setJobState((JobState)value);
+      }
+      break;
+
+    case TIME_OF_STATE_CHANGE:
+      if (value == null) {
+        unsetTimeOfStateChange();
+      } else {
+        setTimeOfStateChange((Long)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case JOB_STATE:
+      return getJobState();
+
+    case TIME_OF_STATE_CHANGE:
+      return Long.valueOf(getTimeOfStateChange());
+
+    }
+    throw new IllegalStateException();
+  }
+
+  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  public boolean isSet(_Fields field) {
+    if (field == null) {
+      throw new IllegalArgumentException();
+    }
+
+    switch (field) {
+    case JOB_STATE:
+      return isSetJobState();
+    case TIME_OF_STATE_CHANGE:
+      return isSetTimeOfStateChange();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof JobStatus)
+      return this.equals((JobStatus)that);
+    return false;
+  }
+
+  public boolean equals(JobStatus that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_jobState = true && this.isSetJobState();
+    boolean that_present_jobState = true && that.isSetJobState();
+    if (this_present_jobState || that_present_jobState) {
+      if (!(this_present_jobState && that_present_jobState))
+        return false;
+      if (!this.jobState.equals(that.jobState))
+        return false;
+    }
+
+    boolean this_present_timeOfStateChange = true && this.isSetTimeOfStateChange();
+    boolean that_present_timeOfStateChange = true && that.isSetTimeOfStateChange();
+    if (this_present_timeOfStateChange || that_present_timeOfStateChange) {
+      if (!(this_present_timeOfStateChange && that_present_timeOfStateChange))
+        return false;
+      if (this.timeOfStateChange != that.timeOfStateChange)
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  @Override
+  public int compareTo(JobStatus other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetJobState()).compareTo(other.isSetJobState());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetJobState()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jobState, other.jobState);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTimeOfStateChange()).compareTo(other.isSetTimeOfStateChange());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTimeOfStateChange()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.timeOfStateChange, other.timeOfStateChange);
+      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("JobStatus(");
+    boolean first = true;
+
+    sb.append("jobState:");
+    if (this.jobState == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.jobState);
+    }
+    first = false;
+    if (isSetTimeOfStateChange()) {
+      if (!first) sb.append(", ");
+      sb.append("timeOfStateChange:");
+      sb.append(this.timeOfStateChange);
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!isSetJobState()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'jobState' 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 {
+      // 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 JobStatusStandardSchemeFactory implements SchemeFactory {
+    public JobStatusStandardScheme getScheme() {
+      return new JobStatusStandardScheme();
+    }
+  }
+
+  private static class JobStatusStandardScheme extends StandardScheme<JobStatus> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, JobStatus struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // JOB_STATE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.jobState = JobState.findByValue(iprot.readI32());
+              struct.setJobStateIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // TIME_OF_STATE_CHANGE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.timeOfStateChange = iprot.readI64();
+              struct.setTimeOfStateChangeIsSet(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, JobStatus struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.jobState != null) {
+        oprot.writeFieldBegin(JOB_STATE_FIELD_DESC);
+        oprot.writeI32(struct.jobState.getValue());
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetTimeOfStateChange()) {
+        oprot.writeFieldBegin(TIME_OF_STATE_CHANGE_FIELD_DESC);
+        oprot.writeI64(struct.timeOfStateChange);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class JobStatusTupleSchemeFactory implements SchemeFactory {
+    public JobStatusTupleScheme getScheme() {
+      return new JobStatusTupleScheme();
+    }
+  }
+
+  private static class JobStatusTupleScheme extends TupleScheme<JobStatus> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, JobStatus struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeI32(struct.jobState.getValue());
+      BitSet optionals = new BitSet();
+      if (struct.isSetTimeOfStateChange()) {
+        optionals.set(0);
+      }
+      oprot.writeBitSet(optionals, 1);
+      if (struct.isSetTimeOfStateChange()) {
+        oprot.writeI64(struct.timeOfStateChange);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, JobStatus struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.jobState = JobState.findByValue(iprot.readI32());
+      struct.setJobStateIsSet(true);
+      BitSet incoming = iprot.readBitSet(1);
+      if (incoming.get(0)) {
+        struct.timeOfStateChange = iprot.readI64();
+        struct.setTimeOfStateChangeIsSet(true);
+      }
+    }
+  }
+
+}
+


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

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
index 4d3cd9c..2b2759d 100644
--- a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
+++ b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
@@ -92,9 +92,9 @@ import org.slf4j.LoggerFactory;
      *       rather an Airavata Administrator will be notified to take corrective action.
      * 
      * 
-     * @param basicExperimentMetadata
+     * @param experiment
      */
-    public String createExperiment(org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException;
+    public String createExperiment(org.apache.airavata.model.workspace.experiment.Experiment experiment) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Fetch previously created experiment metadata.
@@ -131,7 +131,7 @@ import org.slf4j.LoggerFactory;
      * 
      * @param airavataExperimentId
      */
-    public org.apache.airavata.model.experiment.BasicMetadata getBasicExperimentMetadata(String airavataExperimentId) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException;
+    public org.apache.airavata.model.workspace.experiment.Experiment getBasicExperiment(String airavataExperimentId) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Configure a previously created experiment with required inputs, scheduling and other quality of service
@@ -173,9 +173,9 @@ import org.slf4j.LoggerFactory;
      * 
      * 
      * @param airavataExperimentId
-     * @param experimentConfigurationData
+     * @param experiment
      */
-    public void configureExperiment(String airavataExperimentId, org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException;
+    public void updateExperiment(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.Experiment experiment) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Fetch the previously configured experiment configuration information.
@@ -212,7 +212,7 @@ import org.slf4j.LoggerFactory;
      * 
      * @param airavataExperimentId
      */
-    public org.apache.airavata.model.experiment.ConfigurationData getExperimentConfiguration(String airavataExperimentId) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException;
+    public org.apache.airavata.model.workspace.experiment.ExperimentStatus getExperimentStatus(String airavataExperimentId) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Launch a previously created and configured experiment. Airavata Server will then start processing the request and appropriate
@@ -260,7 +260,7 @@ import org.slf4j.LoggerFactory;
      * @param airavataExperimentId
      * @param airavataCredStoreToken
      */
-    public void launchConfiguredExperiment(String airavataExperimentId, String airavataCredStoreToken) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException;
+    public void launchExperiment(String airavataExperimentId, String airavataCredStoreToken) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Configure and Launch a previously created experiment with required inputs, scheduling, security and other quality of service
@@ -307,10 +307,10 @@ import org.slf4j.LoggerFactory;
      * 
      * 
      * @param airavataExperimentId
-     * @param experimentConfigurationData
+     * @param experiment
      * @param airavataCredStoreToken
      */
-    public String configureAndLaunchExperiment(String airavataExperimentId, org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData, String airavataCredStoreToken) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException;
+    public String updateAndLaunchExperiment(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.Experiment experiment, String airavataCredStoreToken) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Clone an specified experiment with a new name. A copy of the experiment configuration is made and is persisted with new metadata.
@@ -352,9 +352,9 @@ import org.slf4j.LoggerFactory;
      * 
      * 
      * @param airavataExperimentIdToBeCloned
-     * @param basicExperimentMetadata
+     * @param updatedExperiment
      */
-    public String cloneExperimentConfiguration(String airavataExperimentIdToBeCloned, org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException;
+    public String cloneExperiment(String airavataExperimentIdToBeCloned, org.apache.airavata.model.workspace.experiment.Experiment updatedExperiment) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Terminate a running experiment.
@@ -393,28 +393,32 @@ import org.slf4j.LoggerFactory;
      */
     public void terminateExperiment(String airavataExperimentId) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException;
 
+    public String createProject(String projectName, String userName) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException;
+
   }
 
   public interface AsyncIface {
 
     public void GetAPIVersion(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void createExperiment(org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void createExperiment(org.apache.airavata.model.workspace.experiment.Experiment experiment, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void getBasicExperimentMetadata(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getBasicExperiment(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void configureExperiment(String airavataExperimentId, org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void updateExperiment(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.Experiment experiment, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void getExperimentConfiguration(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getExperimentStatus(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void launchConfiguredExperiment(String airavataExperimentId, String airavataCredStoreToken, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void launchExperiment(String airavataExperimentId, String airavataCredStoreToken, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void configureAndLaunchExperiment(String airavataExperimentId, org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData, String airavataCredStoreToken, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void updateAndLaunchExperiment(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.Experiment experiment, String airavataCredStoreToken, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void cloneExperimentConfiguration(String airavataExperimentIdToBeCloned, org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void cloneExperiment(String airavataExperimentIdToBeCloned, org.apache.airavata.model.workspace.experiment.Experiment updatedExperiment, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void terminateExperiment(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
+    public void createProject(String projectName, String userName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
   }
 
   public static class Client extends org.apache.thrift.TServiceClient implements Iface {
@@ -459,16 +463,16 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "GetAPIVersion failed: unknown result");
     }
 
-    public String createExperiment(org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
+    public String createExperiment(org.apache.airavata.model.workspace.experiment.Experiment experiment) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_createExperiment(basicExperimentMetadata);
+      send_createExperiment(experiment);
       return recv_createExperiment();
     }
 
-    public void send_createExperiment(org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata) throws org.apache.thrift.TException
+    public void send_createExperiment(org.apache.airavata.model.workspace.experiment.Experiment experiment) throws org.apache.thrift.TException
     {
       createExperiment_args args = new createExperiment_args();
-      args.setBasicExperimentMetadata(basicExperimentMetadata);
+      args.setExperiment(experiment);
       sendBase("createExperiment", args);
     }
 
@@ -491,23 +495,23 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createExperiment failed: unknown result");
     }
 
-    public org.apache.airavata.model.experiment.BasicMetadata getBasicExperimentMetadata(String airavataExperimentId) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
+    public org.apache.airavata.model.workspace.experiment.Experiment getBasicExperiment(String airavataExperimentId) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_getBasicExperimentMetadata(airavataExperimentId);
-      return recv_getBasicExperimentMetadata();
+      send_getBasicExperiment(airavataExperimentId);
+      return recv_getBasicExperiment();
     }
 
-    public void send_getBasicExperimentMetadata(String airavataExperimentId) throws org.apache.thrift.TException
+    public void send_getBasicExperiment(String airavataExperimentId) throws org.apache.thrift.TException
     {
-      getBasicExperimentMetadata_args args = new getBasicExperimentMetadata_args();
+      getBasicExperiment_args args = new getBasicExperiment_args();
       args.setAiravataExperimentId(airavataExperimentId);
-      sendBase("getBasicExperimentMetadata", args);
+      sendBase("getBasicExperiment", args);
     }
 
-    public org.apache.airavata.model.experiment.BasicMetadata recv_getBasicExperimentMetadata() throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
+    public org.apache.airavata.model.workspace.experiment.Experiment recv_getBasicExperiment() throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
     {
-      getBasicExperimentMetadata_result result = new getBasicExperimentMetadata_result();
-      receiveBase(result, "getBasicExperimentMetadata");
+      getBasicExperiment_result result = new getBasicExperiment_result();
+      receiveBase(result, "getBasicExperiment");
       if (result.isSetSuccess()) {
         return result.success;
       }
@@ -523,27 +527,27 @@ import org.slf4j.LoggerFactory;
       if (result.ase != null) {
         throw result.ase;
       }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getBasicExperimentMetadata failed: unknown result");
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getBasicExperiment failed: unknown result");
     }
 
-    public void configureExperiment(String airavataExperimentId, org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
+    public void updateExperiment(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.Experiment experiment) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_configureExperiment(airavataExperimentId, experimentConfigurationData);
-      recv_configureExperiment();
+      send_updateExperiment(airavataExperimentId, experiment);
+      recv_updateExperiment();
     }
 
-    public void send_configureExperiment(String airavataExperimentId, org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData) throws org.apache.thrift.TException
+    public void send_updateExperiment(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.Experiment experiment) throws org.apache.thrift.TException
     {
-      configureExperiment_args args = new configureExperiment_args();
+      updateExperiment_args args = new updateExperiment_args();
       args.setAiravataExperimentId(airavataExperimentId);
-      args.setExperimentConfigurationData(experimentConfigurationData);
-      sendBase("configureExperiment", args);
+      args.setExperiment(experiment);
+      sendBase("updateExperiment", args);
     }
 
-    public void recv_configureExperiment() throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
+    public void recv_updateExperiment() throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
     {
-      configureExperiment_result result = new configureExperiment_result();
-      receiveBase(result, "configureExperiment");
+      updateExperiment_result result = new updateExperiment_result();
+      receiveBase(result, "updateExperiment");
       if (result.ire != null) {
         throw result.ire;
       }
@@ -559,23 +563,23 @@ import org.slf4j.LoggerFactory;
       return;
     }
 
-    public org.apache.airavata.model.experiment.ConfigurationData getExperimentConfiguration(String airavataExperimentId) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
+    public org.apache.airavata.model.workspace.experiment.ExperimentStatus getExperimentStatus(String airavataExperimentId) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_getExperimentConfiguration(airavataExperimentId);
-      return recv_getExperimentConfiguration();
+      send_getExperimentStatus(airavataExperimentId);
+      return recv_getExperimentStatus();
     }
 
-    public void send_getExperimentConfiguration(String airavataExperimentId) throws org.apache.thrift.TException
+    public void send_getExperimentStatus(String airavataExperimentId) throws org.apache.thrift.TException
     {
-      getExperimentConfiguration_args args = new getExperimentConfiguration_args();
+      getExperimentStatus_args args = new getExperimentStatus_args();
       args.setAiravataExperimentId(airavataExperimentId);
-      sendBase("getExperimentConfiguration", args);
+      sendBase("getExperimentStatus", args);
     }
 
-    public org.apache.airavata.model.experiment.ConfigurationData recv_getExperimentConfiguration() throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
+    public org.apache.airavata.model.workspace.experiment.ExperimentStatus recv_getExperimentStatus() throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
     {
-      getExperimentConfiguration_result result = new getExperimentConfiguration_result();
-      receiveBase(result, "getExperimentConfiguration");
+      getExperimentStatus_result result = new getExperimentStatus_result();
+      receiveBase(result, "getExperimentStatus");
       if (result.isSetSuccess()) {
         return result.success;
       }
@@ -591,27 +595,27 @@ import org.slf4j.LoggerFactory;
       if (result.ase != null) {
         throw result.ase;
       }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getExperimentConfiguration failed: unknown result");
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getExperimentStatus failed: unknown result");
     }
 
-    public void launchConfiguredExperiment(String airavataExperimentId, String airavataCredStoreToken) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
+    public void launchExperiment(String airavataExperimentId, String airavataCredStoreToken) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_launchConfiguredExperiment(airavataExperimentId, airavataCredStoreToken);
-      recv_launchConfiguredExperiment();
+      send_launchExperiment(airavataExperimentId, airavataCredStoreToken);
+      recv_launchExperiment();
     }
 
-    public void send_launchConfiguredExperiment(String airavataExperimentId, String airavataCredStoreToken) throws org.apache.thrift.TException
+    public void send_launchExperiment(String airavataExperimentId, String airavataCredStoreToken) throws org.apache.thrift.TException
     {
-      launchConfiguredExperiment_args args = new launchConfiguredExperiment_args();
+      launchExperiment_args args = new launchExperiment_args();
       args.setAiravataExperimentId(airavataExperimentId);
       args.setAiravataCredStoreToken(airavataCredStoreToken);
-      sendBase("launchConfiguredExperiment", args);
+      sendBase("launchExperiment", args);
     }
 
-    public void recv_launchConfiguredExperiment() throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
+    public void recv_launchExperiment() throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
     {
-      launchConfiguredExperiment_result result = new launchConfiguredExperiment_result();
-      receiveBase(result, "launchConfiguredExperiment");
+      launchExperiment_result result = new launchExperiment_result();
+      receiveBase(result, "launchExperiment");
       if (result.ire != null) {
         throw result.ire;
       }
@@ -627,25 +631,25 @@ import org.slf4j.LoggerFactory;
       return;
     }
 
-    public String configureAndLaunchExperiment(String airavataExperimentId, org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData, String airavataCredStoreToken) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
+    public String updateAndLaunchExperiment(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.Experiment experiment, String airavataCredStoreToken) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_configureAndLaunchExperiment(airavataExperimentId, experimentConfigurationData, airavataCredStoreToken);
-      return recv_configureAndLaunchExperiment();
+      send_updateAndLaunchExperiment(airavataExperimentId, experiment, airavataCredStoreToken);
+      return recv_updateAndLaunchExperiment();
     }
 
-    public void send_configureAndLaunchExperiment(String airavataExperimentId, org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData, String airavataCredStoreToken) throws org.apache.thrift.TException
+    public void send_updateAndLaunchExperiment(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.Experiment experiment, String airavataCredStoreToken) throws org.apache.thrift.TException
     {
-      configureAndLaunchExperiment_args args = new configureAndLaunchExperiment_args();
+      updateAndLaunchExperiment_args args = new updateAndLaunchExperiment_args();
       args.setAiravataExperimentId(airavataExperimentId);
-      args.setExperimentConfigurationData(experimentConfigurationData);
+      args.setExperiment(experiment);
       args.setAiravataCredStoreToken(airavataCredStoreToken);
-      sendBase("configureAndLaunchExperiment", args);
+      sendBase("updateAndLaunchExperiment", args);
     }
 
-    public String recv_configureAndLaunchExperiment() throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
+    public String recv_updateAndLaunchExperiment() throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
     {
-      configureAndLaunchExperiment_result result = new configureAndLaunchExperiment_result();
-      receiveBase(result, "configureAndLaunchExperiment");
+      updateAndLaunchExperiment_result result = new updateAndLaunchExperiment_result();
+      receiveBase(result, "updateAndLaunchExperiment");
       if (result.isSetSuccess()) {
         return result.success;
       }
@@ -661,27 +665,27 @@ import org.slf4j.LoggerFactory;
       if (result.ase != null) {
         throw result.ase;
       }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "configureAndLaunchExperiment failed: unknown result");
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateAndLaunchExperiment failed: unknown result");
     }
 
-    public String cloneExperimentConfiguration(String airavataExperimentIdToBeCloned, org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
+    public String cloneExperiment(String airavataExperimentIdToBeCloned, org.apache.airavata.model.workspace.experiment.Experiment updatedExperiment) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
     {
-      send_cloneExperimentConfiguration(airavataExperimentIdToBeCloned, basicExperimentMetadata);
-      return recv_cloneExperimentConfiguration();
+      send_cloneExperiment(airavataExperimentIdToBeCloned, updatedExperiment);
+      return recv_cloneExperiment();
     }
 
-    public void send_cloneExperimentConfiguration(String airavataExperimentIdToBeCloned, org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata) throws org.apache.thrift.TException
+    public void send_cloneExperiment(String airavataExperimentIdToBeCloned, org.apache.airavata.model.workspace.experiment.Experiment updatedExperiment) throws org.apache.thrift.TException
     {
-      cloneExperimentConfiguration_args args = new cloneExperimentConfiguration_args();
+      cloneExperiment_args args = new cloneExperiment_args();
       args.setAiravataExperimentIdToBeCloned(airavataExperimentIdToBeCloned);
-      args.setBasicExperimentMetadata(basicExperimentMetadata);
-      sendBase("cloneExperimentConfiguration", args);
+      args.setUpdatedExperiment(updatedExperiment);
+      sendBase("cloneExperiment", args);
     }
 
-    public String recv_cloneExperimentConfiguration() throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
+    public String recv_cloneExperiment() throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
     {
-      cloneExperimentConfiguration_result result = new cloneExperimentConfiguration_result();
-      receiveBase(result, "cloneExperimentConfiguration");
+      cloneExperiment_result result = new cloneExperiment_result();
+      receiveBase(result, "cloneExperiment");
       if (result.isSetSuccess()) {
         return result.success;
       }
@@ -697,7 +701,7 @@ import org.slf4j.LoggerFactory;
       if (result.ase != null) {
         throw result.ase;
       }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "cloneExperimentConfiguration failed: unknown result");
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "cloneExperiment failed: unknown result");
     }
 
     public void terminateExperiment(String airavataExperimentId) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
@@ -732,6 +736,42 @@ import org.slf4j.LoggerFactory;
       return;
     }
 
+    public String createProject(String projectName, String userName) throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
+    {
+      send_createProject(projectName, userName);
+      return recv_createProject();
+    }
+
+    public void send_createProject(String projectName, String userName) throws org.apache.thrift.TException
+    {
+      createProject_args args = new createProject_args();
+      args.setProjectName(projectName);
+      args.setUserName(userName);
+      sendBase("createProject", args);
+    }
+
+    public String recv_createProject() throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException
+    {
+      createProject_result result = new createProject_result();
+      receiveBase(result, "createProject");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.ire != null) {
+        throw result.ire;
+      }
+      if (result.enf != null) {
+        throw result.enf;
+      }
+      if (result.ace != null) {
+        throw result.ace;
+      }
+      if (result.ase != null) {
+        throw result.ase;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createProject failed: unknown result");
+    }
+
   }
   public static class AsyncClient extends org.apache.thrift.async.TAsyncClient implements AsyncIface {
     public static class Factory implements org.apache.thrift.async.TAsyncClientFactory<AsyncClient> {
@@ -779,24 +819,24 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public void createExperiment(org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void createExperiment(org.apache.airavata.model.workspace.experiment.Experiment experiment, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      createExperiment_call method_call = new createExperiment_call(basicExperimentMetadata, resultHandler, this, ___protocolFactory, ___transport);
+      createExperiment_call method_call = new createExperiment_call(experiment, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class createExperiment_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata;
-      public createExperiment_call(org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      private org.apache.airavata.model.workspace.experiment.Experiment experiment;
+      public createExperiment_call(org.apache.airavata.model.workspace.experiment.Experiment experiment, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
-        this.basicExperimentMetadata = basicExperimentMetadata;
+        this.experiment = experiment;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         createExperiment_args args = new createExperiment_args();
-        args.setBasicExperimentMetadata(basicExperimentMetadata);
+        args.setExperiment(experiment);
         args.write(prot);
         prot.writeMessageEnd();
       }
@@ -811,59 +851,59 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public void getBasicExperimentMetadata(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getBasicExperiment(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      getBasicExperimentMetadata_call method_call = new getBasicExperimentMetadata_call(airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
+      getBasicExperiment_call method_call = new getBasicExperiment_call(airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class getBasicExperimentMetadata_call extends org.apache.thrift.async.TAsyncMethodCall {
+    public static class getBasicExperiment_call extends org.apache.thrift.async.TAsyncMethodCall {
       private String airavataExperimentId;
-      public getBasicExperimentMetadata_call(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public getBasicExperiment_call(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.airavataExperimentId = airavataExperimentId;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getBasicExperimentMetadata", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        getBasicExperimentMetadata_args args = new getBasicExperimentMetadata_args();
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getBasicExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getBasicExperiment_args args = new getBasicExperiment_args();
         args.setAiravataExperimentId(airavataExperimentId);
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public org.apache.airavata.model.experiment.BasicMetadata getResult() throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException {
+      public org.apache.airavata.model.workspace.experiment.Experiment getResult() throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_getBasicExperimentMetadata();
+        return (new Client(prot)).recv_getBasicExperiment();
       }
     }
 
-    public void configureExperiment(String airavataExperimentId, org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void updateExperiment(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.Experiment experiment, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      configureExperiment_call method_call = new configureExperiment_call(airavataExperimentId, experimentConfigurationData, resultHandler, this, ___protocolFactory, ___transport);
+      updateExperiment_call method_call = new updateExperiment_call(airavataExperimentId, experiment, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class configureExperiment_call extends org.apache.thrift.async.TAsyncMethodCall {
+    public static class updateExperiment_call extends org.apache.thrift.async.TAsyncMethodCall {
       private String airavataExperimentId;
-      private org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData;
-      public configureExperiment_call(String airavataExperimentId, org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      private org.apache.airavata.model.workspace.experiment.Experiment experiment;
+      public updateExperiment_call(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.Experiment experiment, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.airavataExperimentId = airavataExperimentId;
-        this.experimentConfigurationData = experimentConfigurationData;
+        this.experiment = experiment;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("configureExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        configureExperiment_args args = new configureExperiment_args();
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        updateExperiment_args args = new updateExperiment_args();
         args.setAiravataExperimentId(airavataExperimentId);
-        args.setExperimentConfigurationData(experimentConfigurationData);
+        args.setExperiment(experiment);
         args.write(prot);
         prot.writeMessageEnd();
       }
@@ -874,61 +914,61 @@ import org.slf4j.LoggerFactory;
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        (new Client(prot)).recv_configureExperiment();
+        (new Client(prot)).recv_updateExperiment();
       }
     }
 
-    public void getExperimentConfiguration(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getExperimentStatus(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      getExperimentConfiguration_call method_call = new getExperimentConfiguration_call(airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
+      getExperimentStatus_call method_call = new getExperimentStatus_call(airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class getExperimentConfiguration_call extends org.apache.thrift.async.TAsyncMethodCall {
+    public static class getExperimentStatus_call extends org.apache.thrift.async.TAsyncMethodCall {
       private String airavataExperimentId;
-      public getExperimentConfiguration_call(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public getExperimentStatus_call(String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.airavataExperimentId = airavataExperimentId;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getExperimentConfiguration", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        getExperimentConfiguration_args args = new getExperimentConfiguration_args();
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getExperimentStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getExperimentStatus_args args = new getExperimentStatus_args();
         args.setAiravataExperimentId(airavataExperimentId);
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public org.apache.airavata.model.experiment.ConfigurationData getResult() throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException {
+      public org.apache.airavata.model.workspace.experiment.ExperimentStatus getResult() throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_getExperimentConfiguration();
+        return (new Client(prot)).recv_getExperimentStatus();
       }
     }
 
-    public void launchConfiguredExperiment(String airavataExperimentId, String airavataCredStoreToken, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void launchExperiment(String airavataExperimentId, String airavataCredStoreToken, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      launchConfiguredExperiment_call method_call = new launchConfiguredExperiment_call(airavataExperimentId, airavataCredStoreToken, resultHandler, this, ___protocolFactory, ___transport);
+      launchExperiment_call method_call = new launchExperiment_call(airavataExperimentId, airavataCredStoreToken, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class launchConfiguredExperiment_call extends org.apache.thrift.async.TAsyncMethodCall {
+    public static class launchExperiment_call extends org.apache.thrift.async.TAsyncMethodCall {
       private String airavataExperimentId;
       private String airavataCredStoreToken;
-      public launchConfiguredExperiment_call(String airavataExperimentId, String airavataCredStoreToken, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public launchExperiment_call(String airavataExperimentId, String airavataCredStoreToken, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.airavataExperimentId = airavataExperimentId;
         this.airavataCredStoreToken = airavataCredStoreToken;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("launchConfiguredExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        launchConfiguredExperiment_args args = new launchConfiguredExperiment_args();
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("launchExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        launchExperiment_args args = new launchExperiment_args();
         args.setAiravataExperimentId(airavataExperimentId);
         args.setAiravataCredStoreToken(airavataCredStoreToken);
         args.write(prot);
@@ -941,33 +981,33 @@ import org.slf4j.LoggerFactory;
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        (new Client(prot)).recv_launchConfiguredExperiment();
+        (new Client(prot)).recv_launchExperiment();
       }
     }
 
-    public void configureAndLaunchExperiment(String airavataExperimentId, org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData, String airavataCredStoreToken, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void updateAndLaunchExperiment(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.Experiment experiment, String airavataCredStoreToken, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      configureAndLaunchExperiment_call method_call = new configureAndLaunchExperiment_call(airavataExperimentId, experimentConfigurationData, airavataCredStoreToken, resultHandler, this, ___protocolFactory, ___transport);
+      updateAndLaunchExperiment_call method_call = new updateAndLaunchExperiment_call(airavataExperimentId, experiment, airavataCredStoreToken, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class configureAndLaunchExperiment_call extends org.apache.thrift.async.TAsyncMethodCall {
+    public static class updateAndLaunchExperiment_call extends org.apache.thrift.async.TAsyncMethodCall {
       private String airavataExperimentId;
-      private org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData;
+      private org.apache.airavata.model.workspace.experiment.Experiment experiment;
       private String airavataCredStoreToken;
-      public configureAndLaunchExperiment_call(String airavataExperimentId, org.apache.airavata.model.experiment.ConfigurationData experimentConfigurationData, String airavataCredStoreToken, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public updateAndLaunchExperiment_call(String airavataExperimentId, org.apache.airavata.model.workspace.experiment.Experiment experiment, String airavataCredStoreToken, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.airavataExperimentId = airavataExperimentId;
-        this.experimentConfigurationData = experimentConfigurationData;
+        this.experiment = experiment;
         this.airavataCredStoreToken = airavataCredStoreToken;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("configureAndLaunchExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        configureAndLaunchExperiment_args args = new configureAndLaunchExperiment_args();
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateAndLaunchExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        updateAndLaunchExperiment_args args = new updateAndLaunchExperiment_args();
         args.setAiravataExperimentId(airavataExperimentId);
-        args.setExperimentConfigurationData(experimentConfigurationData);
+        args.setExperiment(experiment);
         args.setAiravataCredStoreToken(airavataCredStoreToken);
         args.write(prot);
         prot.writeMessageEnd();
@@ -979,31 +1019,31 @@ import org.slf4j.LoggerFactory;
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_configureAndLaunchExperiment();
+        return (new Client(prot)).recv_updateAndLaunchExperiment();
       }
     }
 
-    public void cloneExperimentConfiguration(String airavataExperimentIdToBeCloned, org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void cloneExperiment(String airavataExperimentIdToBeCloned, org.apache.airavata.model.workspace.experiment.Experiment updatedExperiment, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      cloneExperimentConfiguration_call method_call = new cloneExperimentConfiguration_call(airavataExperimentIdToBeCloned, basicExperimentMetadata, resultHandler, this, ___protocolFactory, ___transport);
+      cloneExperiment_call method_call = new cloneExperiment_call(airavataExperimentIdToBeCloned, updatedExperiment, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class cloneExperimentConfiguration_call extends org.apache.thrift.async.TAsyncMethodCall {
+    public static class cloneExperiment_call extends org.apache.thrift.async.TAsyncMethodCall {
       private String airavataExperimentIdToBeCloned;
-      private org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata;
-      public cloneExperimentConfiguration_call(String airavataExperimentIdToBeCloned, org.apache.airavata.model.experiment.BasicMetadata basicExperimentMetadata, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      private org.apache.airavata.model.workspace.experiment.Experiment updatedExperiment;
+      public cloneExperiment_call(String airavataExperimentIdToBeCloned, org.apache.airavata.model.workspace.experiment.Experiment updatedExperiment, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.airavataExperimentIdToBeCloned = airavataExperimentIdToBeCloned;
-        this.basicExperimentMetadata = basicExperimentMetadata;
+        this.updatedExperiment = updatedExperiment;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("cloneExperimentConfiguration", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        cloneExperimentConfiguration_args args = new cloneExperimentConfiguration_args();
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("cloneExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        cloneExperiment_args args = new cloneExperiment_args();
         args.setAiravataExperimentIdToBeCloned(airavataExperimentIdToBeCloned);
-        args.setBasicExperimentMetadata(basicExperimentMetadata);
+        args.setUpdatedExperiment(updatedExperiment);
         args.write(prot);
         prot.writeMessageEnd();
       }
@@ -1014,7 +1054,7 @@ import org.slf4j.LoggerFactory;
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_cloneExperimentConfiguration();
+        return (new Client(prot)).recv_cloneExperiment();
       }
     }
 
@@ -1050,6 +1090,41 @@ import org.slf4j.LoggerFactory;
       }
     }
 
+    public void createProject(String projectName, String userName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      createProject_call method_call = new createProject_call(projectName, userName, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class createProject_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String projectName;
+      private String userName;
+      public createProject_call(String projectName, String userName, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.projectName = projectName;
+        this.userName = userName;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createProject", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        createProject_args args = new createProject_args();
+        args.setProjectName(projectName);
+        args.setUserName(userName);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public String getResult() throws org.apache.airavata.api.error.InvalidRequestException, org.apache.airavata.api.error.ExperimentNotFoundException, org.apache.airavata.api.error.AiravataClientException, org.apache.airavata.api.error.AiravataSystemException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_createProject();
+      }
+    }
+
   }
 
   public static class Processor<I extends Iface> extends org.apache.thrift.TBaseProcessor<I> implements org.apache.thrift.TProcessor {
@@ -1065,13 +1140,14 @@ import org.slf4j.LoggerFactory;
     private static <I extends Iface> Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> getProcessMap(Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
       processMap.put("GetAPIVersion", new GetAPIVersion());
       processMap.put("createExperiment", new createExperiment());
-      processMap.put("getBasicExperimentMetadata", new getBasicExperimentMetadata());
-      processMap.put("configureExperiment", new configureExperiment());
-      processMap.put("getExperimentConfiguration", new getExperimentConfiguration());
-      processMap.put("launchConfiguredExperiment", new launchConfiguredExperiment());
-      processMap.put("configureAndLaunchExperiment", new configureAndLaunchExperiment());
-      processMap.put("cloneExperimentConfiguration", new cloneExperimentConfiguration());
+      processMap.put("getBasicExperiment", new getBasicExperiment());
+      processMap.put("updateExperiment", new updateExperiment());
+      processMap.put("getExperimentStatus", new getExperimentStatus());
+      processMap.put("launchExperiment", new launchExperiment());
+      processMap.put("updateAndLaunchExperiment", new updateAndLaunchExperiment());
+      processMap.put("cloneExperiment", new cloneExperiment());
       processMap.put("terminateExperiment", new terminateExperiment());
+      processMap.put("createProject", new createProject());
       return processMap;
     }
 
@@ -1111,7 +1187,7 @@ import org.slf4j.LoggerFactory;
       public createExperiment_result getResult(I iface, createExperiment_args args) throws org.apache.thrift.TException {
         createExperiment_result result = new createExperiment_result();
         try {
-          result.success = iface.createExperiment(args.basicExperimentMetadata);
+          result.success = iface.createExperiment(args.experiment);
         } catch (org.apache.airavata.api.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.api.error.AiravataClientException ace) {
@@ -1123,23 +1199,23 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public static class getBasicExperimentMetadata<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getBasicExperimentMetadata_args> {
-      public getBasicExperimentMetadata() {
-        super("getBasicExperimentMetadata");
+    public static class getBasicExperiment<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getBasicExperiment_args> {
+      public getBasicExperiment() {
+        super("getBasicExperiment");
       }
 
-      public getBasicExperimentMetadata_args getEmptyArgsInstance() {
-        return new getBasicExperimentMetadata_args();
+      public getBasicExperiment_args getEmptyArgsInstance() {
+        return new getBasicExperiment_args();
       }
 
       protected boolean isOneway() {
         return false;
       }
 
-      public getBasicExperimentMetadata_result getResult(I iface, getBasicExperimentMetadata_args args) throws org.apache.thrift.TException {
-        getBasicExperimentMetadata_result result = new getBasicExperimentMetadata_result();
+      public getBasicExperiment_result getResult(I iface, getBasicExperiment_args args) throws org.apache.thrift.TException {
+        getBasicExperiment_result result = new getBasicExperiment_result();
         try {
-          result.success = iface.getBasicExperimentMetadata(args.airavataExperimentId);
+          result.success = iface.getBasicExperiment(args.airavataExperimentId);
         } catch (org.apache.airavata.api.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.api.error.ExperimentNotFoundException enf) {
@@ -1153,23 +1229,23 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public static class configureExperiment<I extends Iface> extends org.apache.thrift.ProcessFunction<I, configureExperiment_args> {
-      public configureExperiment() {
-        super("configureExperiment");
+    public static class updateExperiment<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateExperiment_args> {
+      public updateExperiment() {
+        super("updateExperiment");
       }
 
-      public configureExperiment_args getEmptyArgsInstance() {
-        return new configureExperiment_args();
+      public updateExperiment_args getEmptyArgsInstance() {
+        return new updateExperiment_args();
       }
 
       protected boolean isOneway() {
         return false;
       }
 
-      public configureExperiment_result getResult(I iface, configureExperiment_args args) throws org.apache.thrift.TException {
-        configureExperiment_result result = new configureExperiment_result();
+      public updateExperiment_result getResult(I iface, updateExperiment_args args) throws org.apache.thrift.TException {
+        updateExperiment_result result = new updateExperiment_result();
         try {
-          iface.configureExperiment(args.airavataExperimentId, args.experimentConfigurationData);
+          iface.updateExperiment(args.airavataExperimentId, args.experiment);
         } catch (org.apache.airavata.api.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.api.error.ExperimentNotFoundException enf) {
@@ -1183,23 +1259,23 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public static class getExperimentConfiguration<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getExperimentConfiguration_args> {
-      public getExperimentConfiguration() {
-        super("getExperimentConfiguration");
+    public static class getExperimentStatus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getExperimentStatus_args> {
+      public getExperimentStatus() {
+        super("getExperimentStatus");
       }
 
-      public getExperimentConfiguration_args getEmptyArgsInstance() {
-        return new getExperimentConfiguration_args();
+      public getExperimentStatus_args getEmptyArgsInstance() {
+        return new getExperimentStatus_args();
       }
 
       protected boolean isOneway() {
         return false;
       }
 
-      public getExperimentConfiguration_result getResult(I iface, getExperimentConfiguration_args args) throws org.apache.thrift.TException {
-        getExperimentConfiguration_result result = new getExperimentConfiguration_result();
+      public getExperimentStatus_result getResult(I iface, getExperimentStatus_args args) throws org.apache.thrift.TException {
+        getExperimentStatus_result result = new getExperimentStatus_result();
         try {
-          result.success = iface.getExperimentConfiguration(args.airavataExperimentId);
+          result.success = iface.getExperimentStatus(args.airavataExperimentId);
         } catch (org.apache.airavata.api.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.api.error.ExperimentNotFoundException enf) {
@@ -1213,23 +1289,23 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public static class launchConfiguredExperiment<I extends Iface> extends org.apache.thrift.ProcessFunction<I, launchConfiguredExperiment_args> {
-      public launchConfiguredExperiment() {
-        super("launchConfiguredExperiment");
+    public static class launchExperiment<I extends Iface> extends org.apache.thrift.ProcessFunction<I, launchExperiment_args> {
+      public launchExperiment() {
+        super("launchExperiment");
       }
 
-      public launchConfiguredExperiment_args getEmptyArgsInstance() {
-        return new launchConfiguredExperiment_args();
+      public launchExperiment_args getEmptyArgsInstance() {
+        return new launchExperiment_args();
       }
 
       protected boolean isOneway() {
         return false;
       }
 
-      public launchConfiguredExperiment_result getResult(I iface, launchConfiguredExperiment_args args) throws org.apache.thrift.TException {
-        launchConfiguredExperiment_result result = new launchConfiguredExperiment_result();
+      public launchExperiment_result getResult(I iface, launchExperiment_args args) throws org.apache.thrift.TException {
+        launchExperiment_result result = new launchExperiment_result();
         try {
-          iface.launchConfiguredExperiment(args.airavataExperimentId, args.airavataCredStoreToken);
+          iface.launchExperiment(args.airavataExperimentId, args.airavataCredStoreToken);
         } catch (org.apache.airavata.api.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.api.error.ExperimentNotFoundException enf) {
@@ -1243,23 +1319,23 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public static class configureAndLaunchExperiment<I extends Iface> extends org.apache.thrift.ProcessFunction<I, configureAndLaunchExperiment_args> {
-      public configureAndLaunchExperiment() {
-        super("configureAndLaunchExperiment");
+    public static class updateAndLaunchExperiment<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateAndLaunchExperiment_args> {
+      public updateAndLaunchExperiment() {
+        super("updateAndLaunchExperiment");
       }
 
-      public configureAndLaunchExperiment_args getEmptyArgsInstance() {
-        return new configureAndLaunchExperiment_args();
+      public updateAndLaunchExperiment_args getEmptyArgsInstance() {
+        return new updateAndLaunchExperiment_args();
       }
 
       protected boolean isOneway() {
         return false;
       }
 
-      public configureAndLaunchExperiment_result getResult(I iface, configureAndLaunchExperiment_args args) throws org.apache.thrift.TException {
-        configureAndLaunchExperiment_result result = new configureAndLaunchExperiment_result();
+      public updateAndLaunchExperiment_result getResult(I iface, updateAndLaunchExperiment_args args) throws org.apache.thrift.TException {
+        updateAndLaunchExperiment_result result = new updateAndLaunchExperiment_result();
         try {
-          result.success = iface.configureAndLaunchExperiment(args.airavataExperimentId, args.experimentConfigurationData, args.airavataCredStoreToken);
+          result.success = iface.updateAndLaunchExperiment(args.airavataExperimentId, args.experiment, args.airavataCredStoreToken);
         } catch (org.apache.airavata.api.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.api.error.ExperimentNotFoundException enf) {
@@ -1273,23 +1349,23 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public static class cloneExperimentConfiguration<I extends Iface> extends org.apache.thrift.ProcessFunction<I, cloneExperimentConfiguration_args> {
-      public cloneExperimentConfiguration() {
-        super("cloneExperimentConfiguration");
+    public static class cloneExperiment<I extends Iface> extends org.apache.thrift.ProcessFunction<I, cloneExperiment_args> {
+      public cloneExperiment() {
+        super("cloneExperiment");
       }
 
-      public cloneExperimentConfiguration_args getEmptyArgsInstance() {
-        return new cloneExperimentConfiguration_args();
+      public cloneExperiment_args getEmptyArgsInstance() {
+        return new cloneExperiment_args();
       }
 
       protected boolean isOneway() {
         return false;
       }
 
-      public cloneExperimentConfiguration_result getResult(I iface, cloneExperimentConfiguration_args args) throws org.apache.thrift.TException {
-        cloneExperimentConfiguration_result result = new cloneExperimentConfiguration_result();
+      public cloneExperiment_result getResult(I iface, cloneExperiment_args args) throws org.apache.thrift.TException {
+        cloneExperiment_result result = new cloneExperiment_result();
         try {
-          result.success = iface.cloneExperimentConfiguration(args.airavataExperimentIdToBeCloned, args.basicExperimentMetadata);
+          result.success = iface.cloneExperiment(args.airavataExperimentIdToBeCloned, args.updatedExperiment);
         } catch (org.apache.airavata.api.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.api.error.ExperimentNotFoundException enf) {
@@ -1333,6 +1409,36 @@ import org.slf4j.LoggerFactory;
       }
     }
 
+    public static class createProject<I extends Iface> extends org.apache.thrift.ProcessFunction<I, createProject_args> {
+      public createProject() {
+        super("createProject");
+      }
+
+      public createProject_args getEmptyArgsInstance() {
+        return new createProject_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public createProject_result getResult(I iface, createProject_args args) throws org.apache.thrift.TException {
+        createProject_result result = new createProject_result();
+        try {
+          result.success = iface.createProject(args.projectName, args.userName);
+        } catch (org.apache.airavata.api.error.InvalidRequestException ire) {
+          result.ire = ire;
+        } catch (org.apache.airavata.api.error.ExperimentNotFoundException enf) {
+          result.enf = enf;
+        } catch (org.apache.airavata.api.error.AiravataClientException ace) {
+          result.ace = ace;
+        } catch (org.apache.airavata.api.error.AiravataSystemException ase) {
+          result.ase = ase;
+        }
+        return result;
+      }
+    }
+
   }
 
   public static class AsyncProcessor<I extends AsyncIface> extends org.apache.thrift.TBaseAsyncProcessor<I> {
@@ -1348,13 +1454,14 @@ import org.slf4j.LoggerFactory;
     private static <I extends AsyncIface> Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase,?>> getProcessMap(Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
       processMap.put("GetAPIVersion", new GetAPIVersion());
       processMap.put("createExperiment", new createExperiment());
-      processMap.put("getBasicExperimentMetadata", new getBasicExperimentMetadata());
-      processMap.put("configureExperiment", new configureExperiment());
-      processMap.put("getExperimentConfiguration", new getExperimentConfiguration());
-      processMap.put("launchConfiguredExperiment", new launchConfiguredExperiment());
-      processMap.put("configureAndLaunchExperiment", new configureAndLaunchExperiment());
-      processMap.put("cloneExperimentConfiguration", new cloneExperimentConfiguration());
+      processMap.put("getBasicExperiment", new getBasicExperiment());
+      processMap.put("updateExperiment", new updateExperiment());
+      processMap.put("getExperimentStatus", new getExperimentStatus());
+      processMap.put("launchExperiment", new launchExperiment());
+      processMap.put("updateAndLaunchExperiment", new updateAndLaunchExperiment());
+      processMap.put("cloneExperiment", new cloneExperiment());
       processMap.put("terminateExperiment", new terminateExperiment());
+      processMap.put("createProject", new createProject());
       return processMap;
     }
 
@@ -1472,24 +1579,24 @@ import org.slf4j.LoggerFactory;
       }
 
       public void start(I iface, createExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.createExperiment(args.basicExperimentMetadata,resultHandler);
+        iface.createExperiment(args.experiment,resultHandler);
       }
     }
 
-    public static class getBasicExperimentMetadata<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getBasicExperimentMetadata_args, org.apache.airavata.model.experiment.BasicMetadata> {
-      public getBasicExperimentMetadata() {
-        super("getBasicExperimentMetadata");
+    public static class getBasicExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getBasicExperiment_args, org.apache.airavata.model.workspace.experiment.Experiment> {
+      public getBasicExperiment() {
+        super("getBasicExperiment");
       }
 
-      public getBasicExperimentMetadata_args getEmptyArgsInstance() {
-        return new getBasicExperimentMetadata_args();
+      public getBasicExperiment_args getEmptyArgsInstance() {
+        return new getBasicExperiment_args();
       }
 
-      public AsyncMethodCallback<org.apache.airavata.model.experiment.BasicMetadata> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<org.apache.airavata.model.workspace.experiment.Experiment> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<org.apache.airavata.model.experiment.BasicMetadata>() { 
-          public void onComplete(org.apache.airavata.model.experiment.BasicMetadata o) {
-            getBasicExperimentMetadata_result result = new getBasicExperimentMetadata_result();
+        return new AsyncMethodCallback<org.apache.airavata.model.workspace.experiment.Experiment>() { 
+          public void onComplete(org.apache.airavata.model.workspace.experiment.Experiment o) {
+            getBasicExperiment_result result = new getBasicExperiment_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -1502,7 +1609,7 @@ import org.slf4j.LoggerFactory;
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getBasicExperimentMetadata_result result = new getBasicExperimentMetadata_result();
+            getBasicExperiment_result result = new getBasicExperiment_result();
             if (e instanceof org.apache.airavata.api.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.api.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -1543,25 +1650,25 @@ import org.slf4j.LoggerFactory;
         return false;
       }
 
-      public void start(I iface, getBasicExperimentMetadata_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.BasicMetadata> resultHandler) throws TException {
-        iface.getBasicExperimentMetadata(args.airavataExperimentId,resultHandler);
+      public void start(I iface, getBasicExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.experiment.Experiment> resultHandler) throws TException {
+        iface.getBasicExperiment(args.airavataExperimentId,resultHandler);
       }
     }
 
-    public static class configureExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, configureExperiment_args, Void> {
-      public configureExperiment() {
-        super("configureExperiment");
+    public static class updateExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateExperiment_args, Void> {
+      public updateExperiment() {
+        super("updateExperiment");
       }
 
-      public configureExperiment_args getEmptyArgsInstance() {
-        return new configureExperiment_args();
+      public updateExperiment_args getEmptyArgsInstance() {
+        return new updateExperiment_args();
       }
 
       public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new AsyncMethodCallback<Void>() { 
           public void onComplete(Void o) {
-            configureExperiment_result result = new configureExperiment_result();
+            updateExperiment_result result = new updateExperiment_result();
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -1573,7 +1680,7 @@ import org.slf4j.LoggerFactory;
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            configureExperiment_result result = new configureExperiment_result();
+            updateExperiment_result result = new updateExperiment_result();
             if (e instanceof org.apache.airavata.api.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.api.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -1614,25 +1721,25 @@ import org.slf4j.LoggerFactory;
         return false;
       }
 
-      public void start(I iface, configureExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
-        iface.configureExperiment(args.airavataExperimentId, args.experimentConfigurationData,resultHandler);
+      public void start(I iface, updateExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+        iface.updateExperiment(args.airavataExperimentId, args.experiment,resultHandler);
       }
     }
 
-    public static class getExperimentConfiguration<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getExperimentConfiguration_args, org.apache.airavata.model.experiment.ConfigurationData> {
-      public getExperimentConfiguration() {
-        super("getExperimentConfiguration");
+    public static class getExperimentStatus<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getExperimentStatus_args, org.apache.airavata.model.workspace.experiment.ExperimentStatus> {
+      public getExperimentStatus() {
+        super("getExperimentStatus");
       }
 
-      public getExperimentConfiguration_args getEmptyArgsInstance() {
-        return new getExperimentConfiguration_args();
+      public getExperimentStatus_args getEmptyArgsInstance() {
+        return new getExperimentStatus_args();
       }
 
-      public AsyncMethodCallback<org.apache.airavata.model.experiment.ConfigurationData> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<org.apache.airavata.model.workspace.experiment.ExperimentStatus> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<org.apache.airavata.model.experiment.ConfigurationData>() { 
-          public void onComplete(org.apache.airavata.model.experiment.ConfigurationData o) {
-            getExperimentConfiguration_result result = new getExperimentConfiguration_result();
+        return new AsyncMethodCallback<org.apache.airavata.model.workspace.experiment.ExperimentStatus>() { 
+          public void onComplete(org.apache.airavata.model.workspace.experiment.ExperimentStatus o) {
+            getExperimentStatus_result result = new getExperimentStatus_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -1645,7 +1752,7 @@ import org.slf4j.LoggerFactory;
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getExperimentConfiguration_result result = new getExperimentConfiguration_result();
+            getExperimentStatus_result result = new getExperimentStatus_result();
             if (e instanceof org.apache.airavata.api.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.api.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -1686,25 +1793,25 @@ import org.slf4j.LoggerFactory;
         return false;
       }
 
-      public void start(I iface, getExperimentConfiguration_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ConfigurationData> resultHandler) throws TException {
-        iface.getExperimentConfiguration(args.airavataExperimentId,resultHandler);
+      public void start(I iface, getExperimentStatus_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.experiment.ExperimentStatus> resultHandler) throws TException {
+        iface.getExperimentStatus(args.airavataExperimentId,resultHandler);
       }
     }
 
-    public static class launchConfiguredExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, launchConfiguredExperiment_args, Void> {
-      public launchConfiguredExperiment() {
-        super("launchConfiguredExperiment");
+    public static class launchExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, launchExperiment_args, Void> {
+      public launchExperiment() {
+        super("launchExperiment");
       }
 
-      public launchConfiguredExperiment_args getEmptyArgsInstance() {
-        return new launchConfiguredExperiment_args();
+      public launchExperiment_args getEmptyArgsInstance() {
+        return new launchExperiment_args();
       }
 
       public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new AsyncMethodCallback<Void>() { 
           public void onComplete(Void o) {
-            launchConfiguredExperiment_result result = new launchConfiguredExperiment_result();
+            launchExperiment_result result = new launchExperiment_result();
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -1716,7 +1823,7 @@ import org.slf4j.LoggerFactory;
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            launchConfiguredExperiment_result result = new launchConfiguredExperiment_result();
+            launchExperiment_result result = new launchExperiment_result();
             if (e instanceof org.apache.airavata.api.error.InvalidRequestException) {
                         result.ire = (org.apache.airavata.api.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -1757,25 +1864,25 @@ import org.slf4j.LoggerFactory;
        

<TRUNCATED>

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

Posted by sm...@apache.org.
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/DataTransferDetails.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/DataTransferDetails.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/DataTransferDetails.java
new file mode 100644
index 0000000..335af56
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/DataTransferDetails.java
@@ -0,0 +1,702 @@
+    /*
+     * 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;
+
+@SuppressWarnings("all") public class DataTransferDetails implements org.apache.thrift.TBase<DataTransferDetails, DataTransferDetails._Fields>, java.io.Serializable, Cloneable, Comparable<DataTransferDetails> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataTransferDetails");
+
+  private static final org.apache.thrift.protocol.TField TRANSFER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("transferID", 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 TRANSFER_DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("transferDescription", org.apache.thrift.protocol.TType.STRING, (short)3);
+  private static final org.apache.thrift.protocol.TField TRANSFER_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("transferStatus", org.apache.thrift.protocol.TType.STRUCT, (short)4);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new DataTransferDetailsStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new DataTransferDetailsTupleSchemeFactory());
+  }
+
+  private String transferID; // required
+  private long creationTime; // optional
+  private String transferDescription; // required
+  private TransferStatus transferStatus; // 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 {
+    TRANSFER_ID((short)1, "transferID"),
+    CREATION_TIME((short)2, "creationTime"),
+    TRANSFER_DESCRIPTION((short)3, "transferDescription"),
+    TRANSFER_STATUS((short)4, "transferStatus");
+
+    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: // TRANSFER_ID
+          return TRANSFER_ID;
+        case 2: // CREATION_TIME
+          return CREATION_TIME;
+        case 3: // TRANSFER_DESCRIPTION
+          return TRANSFER_DESCRIPTION;
+        case 4: // TRANSFER_STATUS
+          return TRANSFER_STATUS;
+        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.TRANSFER_STATUS};
+  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.TRANSFER_ID, new org.apache.thrift.meta_data.FieldMetaData("transferID", 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.TRANSFER_DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("transferDescription", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.TRANSFER_STATUS, new org.apache.thrift.meta_data.FieldMetaData("transferStatus", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TransferStatus.class)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(DataTransferDetails.class, metaDataMap);
+  }
+
+  public DataTransferDetails() {
+    this.transferID = "DO_NOT_SET_AT_CLIENTS";
+
+  }
+
+  public DataTransferDetails(
+    String transferID,
+    String transferDescription)
+  {
+    this();
+    this.transferID = transferID;
+    this.transferDescription = transferDescription;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public DataTransferDetails(DataTransferDetails other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.isSetTransferID()) {
+      this.transferID = other.transferID;
+    }
+    this.creationTime = other.creationTime;
+    if (other.isSetTransferDescription()) {
+      this.transferDescription = other.transferDescription;
+    }
+    if (other.isSetTransferStatus()) {
+      this.transferStatus = new TransferStatus(other.transferStatus);
+    }
+  }
+
+  public DataTransferDetails deepCopy() {
+    return new DataTransferDetails(this);
+  }
+
+  @Override
+  public void clear() {
+    this.transferID = "DO_NOT_SET_AT_CLIENTS";
+
+    setCreationTimeIsSet(false);
+    this.creationTime = 0;
+    this.transferDescription = null;
+    this.transferStatus = null;
+  }
+
+  public String getTransferID() {
+    return this.transferID;
+  }
+
+  public void setTransferID(String transferID) {
+    this.transferID = transferID;
+  }
+
+  public void unsetTransferID() {
+    this.transferID = null;
+  }
+
+  /** Returns true if field transferID is set (has been assigned a value) and false otherwise */
+  public boolean isSetTransferID() {
+    return this.transferID != null;
+  }
+
+  public void setTransferIDIsSet(boolean value) {
+    if (!value) {
+      this.transferID = 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 getTransferDescription() {
+    return this.transferDescription;
+  }
+
+  public void setTransferDescription(String transferDescription) {
+    this.transferDescription = transferDescription;
+  }
+
+  public void unsetTransferDescription() {
+    this.transferDescription = null;
+  }
+
+  /** Returns true if field transferDescription is set (has been assigned a value) and false otherwise */
+  public boolean isSetTransferDescription() {
+    return this.transferDescription != null;
+  }
+
+  public void setTransferDescriptionIsSet(boolean value) {
+    if (!value) {
+      this.transferDescription = null;
+    }
+  }
+
+  public TransferStatus getTransferStatus() {
+    return this.transferStatus;
+  }
+
+  public void setTransferStatus(TransferStatus transferStatus) {
+    this.transferStatus = transferStatus;
+  }
+
+  public void unsetTransferStatus() {
+    this.transferStatus = null;
+  }
+
+  /** Returns true if field transferStatus is set (has been assigned a value) and false otherwise */
+  public boolean isSetTransferStatus() {
+    return this.transferStatus != null;
+  }
+
+  public void setTransferStatusIsSet(boolean value) {
+    if (!value) {
+      this.transferStatus = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case TRANSFER_ID:
+      if (value == null) {
+        unsetTransferID();
+      } else {
+        setTransferID((String)value);
+      }
+      break;
+
+    case CREATION_TIME:
+      if (value == null) {
+        unsetCreationTime();
+      } else {
+        setCreationTime((Long)value);
+      }
+      break;
+
+    case TRANSFER_DESCRIPTION:
+      if (value == null) {
+        unsetTransferDescription();
+      } else {
+        setTransferDescription((String)value);
+      }
+      break;
+
+    case TRANSFER_STATUS:
+      if (value == null) {
+        unsetTransferStatus();
+      } else {
+        setTransferStatus((TransferStatus)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case TRANSFER_ID:
+      return getTransferID();
+
+    case CREATION_TIME:
+      return Long.valueOf(getCreationTime());
+
+    case TRANSFER_DESCRIPTION:
+      return getTransferDescription();
+
+    case TRANSFER_STATUS:
+      return getTransferStatus();
+
+    }
+    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 TRANSFER_ID:
+      return isSetTransferID();
+    case CREATION_TIME:
+      return isSetCreationTime();
+    case TRANSFER_DESCRIPTION:
+      return isSetTransferDescription();
+    case TRANSFER_STATUS:
+      return isSetTransferStatus();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof DataTransferDetails)
+      return this.equals((DataTransferDetails)that);
+    return false;
+  }
+
+  public boolean equals(DataTransferDetails that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_transferID = true && this.isSetTransferID();
+    boolean that_present_transferID = true && that.isSetTransferID();
+    if (this_present_transferID || that_present_transferID) {
+      if (!(this_present_transferID && that_present_transferID))
+        return false;
+      if (!this.transferID.equals(that.transferID))
+        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_transferDescription = true && this.isSetTransferDescription();
+    boolean that_present_transferDescription = true && that.isSetTransferDescription();
+    if (this_present_transferDescription || that_present_transferDescription) {
+      if (!(this_present_transferDescription && that_present_transferDescription))
+        return false;
+      if (!this.transferDescription.equals(that.transferDescription))
+        return false;
+    }
+
+    boolean this_present_transferStatus = true && this.isSetTransferStatus();
+    boolean that_present_transferStatus = true && that.isSetTransferStatus();
+    if (this_present_transferStatus || that_present_transferStatus) {
+      if (!(this_present_transferStatus && that_present_transferStatus))
+        return false;
+      if (!this.transferStatus.equals(that.transferStatus))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  @Override
+  public int compareTo(DataTransferDetails other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetTransferID()).compareTo(other.isSetTransferID());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTransferID()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transferID, other.transferID);
+      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(isSetTransferDescription()).compareTo(other.isSetTransferDescription());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTransferDescription()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transferDescription, other.transferDescription);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTransferStatus()).compareTo(other.isSetTransferStatus());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTransferStatus()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transferStatus, other.transferStatus);
+      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("DataTransferDetails(");
+    boolean first = true;
+
+    sb.append("transferID:");
+    if (this.transferID == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.transferID);
+    }
+    first = false;
+    if (isSetCreationTime()) {
+      if (!first) sb.append(", ");
+      sb.append("creationTime:");
+      sb.append(this.creationTime);
+      first = false;
+    }
+    if (!first) sb.append(", ");
+    sb.append("transferDescription:");
+    if (this.transferDescription == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.transferDescription);
+    }
+    first = false;
+    if (isSetTransferStatus()) {
+      if (!first) sb.append(", ");
+      sb.append("transferStatus:");
+      if (this.transferStatus == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.transferStatus);
+      }
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!isSetTransferID()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'transferID' is unset! Struct:" + toString());
+    }
+
+    if (!isSetTransferDescription()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'transferDescription' is unset! Struct:" + toString());
+    }
+
+    // check for sub-struct validity
+    if (transferStatus != null) {
+      transferStatus.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 DataTransferDetailsStandardSchemeFactory implements SchemeFactory {
+    public DataTransferDetailsStandardScheme getScheme() {
+      return new DataTransferDetailsStandardScheme();
+    }
+  }
+
+  private static class DataTransferDetailsStandardScheme extends StandardScheme<DataTransferDetails> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, DataTransferDetails 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: // TRANSFER_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.transferID = iprot.readString();
+              struct.setTransferIDIsSet(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: // TRANSFER_DESCRIPTION
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.transferDescription = iprot.readString();
+              struct.setTransferDescriptionIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // TRANSFER_STATUS
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.transferStatus = new TransferStatus();
+              struct.transferStatus.read(iprot);
+              struct.setTransferStatusIsSet(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, DataTransferDetails struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.transferID != null) {
+        oprot.writeFieldBegin(TRANSFER_ID_FIELD_DESC);
+        oprot.writeString(struct.transferID);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetCreationTime()) {
+        oprot.writeFieldBegin(CREATION_TIME_FIELD_DESC);
+        oprot.writeI64(struct.creationTime);
+        oprot.writeFieldEnd();
+      }
+      if (struct.transferDescription != null) {
+        oprot.writeFieldBegin(TRANSFER_DESCRIPTION_FIELD_DESC);
+        oprot.writeString(struct.transferDescription);
+        oprot.writeFieldEnd();
+      }
+      if (struct.transferStatus != null) {
+        if (struct.isSetTransferStatus()) {
+          oprot.writeFieldBegin(TRANSFER_STATUS_FIELD_DESC);
+          struct.transferStatus.write(oprot);
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class DataTransferDetailsTupleSchemeFactory implements SchemeFactory {
+    public DataTransferDetailsTupleScheme getScheme() {
+      return new DataTransferDetailsTupleScheme();
+    }
+  }
+
+  private static class DataTransferDetailsTupleScheme extends TupleScheme<DataTransferDetails> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, DataTransferDetails struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeString(struct.transferID);
+      oprot.writeString(struct.transferDescription);
+      BitSet optionals = new BitSet();
+      if (struct.isSetCreationTime()) {
+        optionals.set(0);
+      }
+      if (struct.isSetTransferStatus()) {
+        optionals.set(1);
+      }
+      oprot.writeBitSet(optionals, 2);
+      if (struct.isSetCreationTime()) {
+        oprot.writeI64(struct.creationTime);
+      }
+      if (struct.isSetTransferStatus()) {
+        struct.transferStatus.write(oprot);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, DataTransferDetails struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.transferID = iprot.readString();
+      struct.setTransferIDIsSet(true);
+      struct.transferDescription = iprot.readString();
+      struct.setTransferDescriptionIsSet(true);
+      BitSet incoming = iprot.readBitSet(2);
+      if (incoming.get(0)) {
+        struct.creationTime = iprot.readI64();
+        struct.setCreationTimeIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.transferStatus = new TransferStatus();
+        struct.transferStatus.read(iprot);
+        struct.setTransferStatusIsSet(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/ErrorCategory.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ErrorCategory.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ErrorCategory.java
new file mode 100644
index 0000000..d2a6c12
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ErrorCategory.java
@@ -0,0 +1,79 @@
+    /*
+     * 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 ErrorCategory implements org.apache.thrift.TEnum {
+  FILE_SYSTEM_FAILURE(0),
+  APPLICATION_FAILURE(1),
+  RESOURCE_NODE_FAILURE(2),
+  DISK_FULL(3),
+  INSUFFICIENT_ALLOCATION(4),
+  SYSTEM_MAINTENANCE(5),
+  AIRAVATA_INTERNAL_ERROR(6),
+  CANNOT_BE_DETERMINED(7);
+
+  private final int value;
+
+  private ErrorCategory(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 ErrorCategory findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return FILE_SYSTEM_FAILURE;
+      case 1:
+        return APPLICATION_FAILURE;
+      case 2:
+        return RESOURCE_NODE_FAILURE;
+      case 3:
+        return DISK_FULL;
+      case 4:
+        return INSUFFICIENT_ALLOCATION;
+      case 5:
+        return SYSTEM_MAINTENANCE;
+      case 6:
+        return AIRAVATA_INTERNAL_ERROR;
+      case 7:
+        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/ErrorDetails.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ErrorDetails.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ErrorDetails.java
new file mode 100644
index 0000000..cdf3d1c
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ErrorDetails.java
@@ -0,0 +1,1287 @@
+    /*
+     * 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;
+
+@SuppressWarnings("all") public class ErrorDetails implements org.apache.thrift.TBase<ErrorDetails, ErrorDetails._Fields>, java.io.Serializable, Cloneable, Comparable<ErrorDetails> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ErrorDetails");
+
+  private static final org.apache.thrift.protocol.TField ERROR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("errorID", 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 ACTUAL_ERROR_MESSAGE_FIELD_DESC = new org.apache.thrift.protocol.TField("actualErrorMessage", org.apache.thrift.protocol.TType.STRING, (short)3);
+  private static final org.apache.thrift.protocol.TField USER_FRIENDLY_MESSAGE_FIELD_DESC = new org.apache.thrift.protocol.TField("userFriendlyMessage", org.apache.thrift.protocol.TType.STRING, (short)4);
+  private static final org.apache.thrift.protocol.TField ERROR_CATEGORY_FIELD_DESC = new org.apache.thrift.protocol.TField("errorCategory", org.apache.thrift.protocol.TType.I32, (short)5);
+  private static final org.apache.thrift.protocol.TField TRANSIENT_OR_PERSISTENT_FIELD_DESC = new org.apache.thrift.protocol.TField("transientOrPersistent", org.apache.thrift.protocol.TType.BOOL, (short)6);
+  private static final org.apache.thrift.protocol.TField CORRECTIVE_ACTION_FIELD_DESC = new org.apache.thrift.protocol.TField("correctiveAction", org.apache.thrift.protocol.TType.I32, (short)7);
+  private static final org.apache.thrift.protocol.TField ACTIONABLE_GROUP_FIELD_DESC = new org.apache.thrift.protocol.TField("actionableGroup", org.apache.thrift.protocol.TType.I32, (short)8);
+  private static final org.apache.thrift.protocol.TField ROOT_CAUSE_ERROR_ID_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("rootCauseErrorIdList", org.apache.thrift.protocol.TType.LIST, (short)9);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new ErrorDetailsStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new ErrorDetailsTupleSchemeFactory());
+  }
+
+  private String errorID; // required
+  private long creationTime; // optional
+  private String actualErrorMessage; // optional
+  private String userFriendlyMessage; // optional
+  private ErrorCategory errorCategory; // optional
+  private boolean transientOrPersistent; // optional
+  private CorrectiveAction correctiveAction; // optional
+  private ActionableGroup actionableGroup; // optional
+  private List<String> rootCauseErrorIdList; // 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 {
+    ERROR_ID((short)1, "errorID"),
+    CREATION_TIME((short)2, "creationTime"),
+    ACTUAL_ERROR_MESSAGE((short)3, "actualErrorMessage"),
+    USER_FRIENDLY_MESSAGE((short)4, "userFriendlyMessage"),
+    /**
+     * 
+     * @see ErrorCategory
+     */
+    ERROR_CATEGORY((short)5, "errorCategory"),
+    TRANSIENT_OR_PERSISTENT((short)6, "transientOrPersistent"),
+    /**
+     * 
+     * @see CorrectiveAction
+     */
+    CORRECTIVE_ACTION((short)7, "correctiveAction"),
+    /**
+     * 
+     * @see ActionableGroup
+     */
+    ACTIONABLE_GROUP((short)8, "actionableGroup"),
+    ROOT_CAUSE_ERROR_ID_LIST((short)9, "rootCauseErrorIdList");
+
+    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: // ERROR_ID
+          return ERROR_ID;
+        case 2: // CREATION_TIME
+          return CREATION_TIME;
+        case 3: // ACTUAL_ERROR_MESSAGE
+          return ACTUAL_ERROR_MESSAGE;
+        case 4: // USER_FRIENDLY_MESSAGE
+          return USER_FRIENDLY_MESSAGE;
+        case 5: // ERROR_CATEGORY
+          return ERROR_CATEGORY;
+        case 6: // TRANSIENT_OR_PERSISTENT
+          return TRANSIENT_OR_PERSISTENT;
+        case 7: // CORRECTIVE_ACTION
+          return CORRECTIVE_ACTION;
+        case 8: // ACTIONABLE_GROUP
+          return ACTIONABLE_GROUP;
+        case 9: // ROOT_CAUSE_ERROR_ID_LIST
+          return ROOT_CAUSE_ERROR_ID_LIST;
+        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 static final int __TRANSIENTORPERSISTENT_ISSET_ID = 1;
+  private byte __isset_bitfield = 0;
+  private _Fields optionals[] = {_Fields.CREATION_TIME,_Fields.ACTUAL_ERROR_MESSAGE,_Fields.USER_FRIENDLY_MESSAGE,_Fields.ERROR_CATEGORY,_Fields.TRANSIENT_OR_PERSISTENT,_Fields.CORRECTIVE_ACTION,_Fields.ACTIONABLE_GROUP,_Fields.ROOT_CAUSE_ERROR_ID_LIST};
+  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.ERROR_ID, new org.apache.thrift.meta_data.FieldMetaData("errorID", 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.ACTUAL_ERROR_MESSAGE, new org.apache.thrift.meta_data.FieldMetaData("actualErrorMessage", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.USER_FRIENDLY_MESSAGE, new org.apache.thrift.meta_data.FieldMetaData("userFriendlyMessage", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.ERROR_CATEGORY, new org.apache.thrift.meta_data.FieldMetaData("errorCategory", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, ErrorCategory.class)));
+    tmpMap.put(_Fields.TRANSIENT_OR_PERSISTENT, new org.apache.thrift.meta_data.FieldMetaData("transientOrPersistent", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.CORRECTIVE_ACTION, new org.apache.thrift.meta_data.FieldMetaData("correctiveAction", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, CorrectiveAction.class)));
+    tmpMap.put(_Fields.ACTIONABLE_GROUP, new org.apache.thrift.meta_data.FieldMetaData("actionableGroup", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, ActionableGroup.class)));
+    tmpMap.put(_Fields.ROOT_CAUSE_ERROR_ID_LIST, new org.apache.thrift.meta_data.FieldMetaData("rootCauseErrorIdList", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ErrorDetails.class, metaDataMap);
+  }
+
+  public ErrorDetails() {
+    this.errorID = "DO_NOT_SET_AT_CLIENTS";
+
+    this.transientOrPersistent = false;
+
+  }
+
+  public ErrorDetails(
+    String errorID)
+  {
+    this();
+    this.errorID = errorID;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public ErrorDetails(ErrorDetails other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.isSetErrorID()) {
+      this.errorID = other.errorID;
+    }
+    this.creationTime = other.creationTime;
+    if (other.isSetActualErrorMessage()) {
+      this.actualErrorMessage = other.actualErrorMessage;
+    }
+    if (other.isSetUserFriendlyMessage()) {
+      this.userFriendlyMessage = other.userFriendlyMessage;
+    }
+    if (other.isSetErrorCategory()) {
+      this.errorCategory = other.errorCategory;
+    }
+    this.transientOrPersistent = other.transientOrPersistent;
+    if (other.isSetCorrectiveAction()) {
+      this.correctiveAction = other.correctiveAction;
+    }
+    if (other.isSetActionableGroup()) {
+      this.actionableGroup = other.actionableGroup;
+    }
+    if (other.isSetRootCauseErrorIdList()) {
+      List<String> __this__rootCauseErrorIdList = new ArrayList<String>(other.rootCauseErrorIdList);
+      this.rootCauseErrorIdList = __this__rootCauseErrorIdList;
+    }
+  }
+
+  public ErrorDetails deepCopy() {
+    return new ErrorDetails(this);
+  }
+
+  @Override
+  public void clear() {
+    this.errorID = "DO_NOT_SET_AT_CLIENTS";
+
+    setCreationTimeIsSet(false);
+    this.creationTime = 0;
+    this.actualErrorMessage = null;
+    this.userFriendlyMessage = null;
+    this.errorCategory = null;
+    this.transientOrPersistent = false;
+
+    this.correctiveAction = null;
+    this.actionableGroup = null;
+    this.rootCauseErrorIdList = null;
+  }
+
+  public String getErrorID() {
+    return this.errorID;
+  }
+
+  public void setErrorID(String errorID) {
+    this.errorID = errorID;
+  }
+
+  public void unsetErrorID() {
+    this.errorID = null;
+  }
+
+  /** Returns true if field errorID is set (has been assigned a value) and false otherwise */
+  public boolean isSetErrorID() {
+    return this.errorID != null;
+  }
+
+  public void setErrorIDIsSet(boolean value) {
+    if (!value) {
+      this.errorID = 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 getActualErrorMessage() {
+    return this.actualErrorMessage;
+  }
+
+  public void setActualErrorMessage(String actualErrorMessage) {
+    this.actualErrorMessage = actualErrorMessage;
+  }
+
+  public void unsetActualErrorMessage() {
+    this.actualErrorMessage = null;
+  }
+
+  /** Returns true if field actualErrorMessage is set (has been assigned a value) and false otherwise */
+  public boolean isSetActualErrorMessage() {
+    return this.actualErrorMessage != null;
+  }
+
+  public void setActualErrorMessageIsSet(boolean value) {
+    if (!value) {
+      this.actualErrorMessage = null;
+    }
+  }
+
+  public String getUserFriendlyMessage() {
+    return this.userFriendlyMessage;
+  }
+
+  public void setUserFriendlyMessage(String userFriendlyMessage) {
+    this.userFriendlyMessage = userFriendlyMessage;
+  }
+
+  public void unsetUserFriendlyMessage() {
+    this.userFriendlyMessage = null;
+  }
+
+  /** Returns true if field userFriendlyMessage is set (has been assigned a value) and false otherwise */
+  public boolean isSetUserFriendlyMessage() {
+    return this.userFriendlyMessage != null;
+  }
+
+  public void setUserFriendlyMessageIsSet(boolean value) {
+    if (!value) {
+      this.userFriendlyMessage = null;
+    }
+  }
+
+  /**
+   * 
+   * @see ErrorCategory
+   */
+  public ErrorCategory getErrorCategory() {
+    return this.errorCategory;
+  }
+
+  /**
+   * 
+   * @see ErrorCategory
+   */
+  public void setErrorCategory(ErrorCategory errorCategory) {
+    this.errorCategory = errorCategory;
+  }
+
+  public void unsetErrorCategory() {
+    this.errorCategory = null;
+  }
+
+  /** Returns true if field errorCategory is set (has been assigned a value) and false otherwise */
+  public boolean isSetErrorCategory() {
+    return this.errorCategory != null;
+  }
+
+  public void setErrorCategoryIsSet(boolean value) {
+    if (!value) {
+      this.errorCategory = null;
+    }
+  }
+
+  public boolean isTransientOrPersistent() {
+    return this.transientOrPersistent;
+  }
+
+  public void setTransientOrPersistent(boolean transientOrPersistent) {
+    this.transientOrPersistent = transientOrPersistent;
+    setTransientOrPersistentIsSet(true);
+  }
+
+  public void unsetTransientOrPersistent() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TRANSIENTORPERSISTENT_ISSET_ID);
+  }
+
+  /** Returns true if field transientOrPersistent is set (has been assigned a value) and false otherwise */
+  public boolean isSetTransientOrPersistent() {
+    return EncodingUtils.testBit(__isset_bitfield, __TRANSIENTORPERSISTENT_ISSET_ID);
+  }
+
+  public void setTransientOrPersistentIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TRANSIENTORPERSISTENT_ISSET_ID, value);
+  }
+
+  /**
+   * 
+   * @see CorrectiveAction
+   */
+  public CorrectiveAction getCorrectiveAction() {
+    return this.correctiveAction;
+  }
+
+  /**
+   * 
+   * @see CorrectiveAction
+   */
+  public void setCorrectiveAction(CorrectiveAction correctiveAction) {
+    this.correctiveAction = correctiveAction;
+  }
+
+  public void unsetCorrectiveAction() {
+    this.correctiveAction = null;
+  }
+
+  /** Returns true if field correctiveAction is set (has been assigned a value) and false otherwise */
+  public boolean isSetCorrectiveAction() {
+    return this.correctiveAction != null;
+  }
+
+  public void setCorrectiveActionIsSet(boolean value) {
+    if (!value) {
+      this.correctiveAction = null;
+    }
+  }
+
+  /**
+   * 
+   * @see ActionableGroup
+   */
+  public ActionableGroup getActionableGroup() {
+    return this.actionableGroup;
+  }
+
+  /**
+   * 
+   * @see ActionableGroup
+   */
+  public void setActionableGroup(ActionableGroup actionableGroup) {
+    this.actionableGroup = actionableGroup;
+  }
+
+  public void unsetActionableGroup() {
+    this.actionableGroup = null;
+  }
+
+  /** Returns true if field actionableGroup is set (has been assigned a value) and false otherwise */
+  public boolean isSetActionableGroup() {
+    return this.actionableGroup != null;
+  }
+
+  public void setActionableGroupIsSet(boolean value) {
+    if (!value) {
+      this.actionableGroup = null;
+    }
+  }
+
+  public int getRootCauseErrorIdListSize() {
+    return (this.rootCauseErrorIdList == null) ? 0 : this.rootCauseErrorIdList.size();
+  }
+
+  public java.util.Iterator<String> getRootCauseErrorIdListIterator() {
+    return (this.rootCauseErrorIdList == null) ? null : this.rootCauseErrorIdList.iterator();
+  }
+
+  public void addToRootCauseErrorIdList(String elem) {
+    if (this.rootCauseErrorIdList == null) {
+      this.rootCauseErrorIdList = new ArrayList<String>();
+    }
+    this.rootCauseErrorIdList.add(elem);
+  }
+
+  public List<String> getRootCauseErrorIdList() {
+    return this.rootCauseErrorIdList;
+  }
+
+  public void setRootCauseErrorIdList(List<String> rootCauseErrorIdList) {
+    this.rootCauseErrorIdList = rootCauseErrorIdList;
+  }
+
+  public void unsetRootCauseErrorIdList() {
+    this.rootCauseErrorIdList = null;
+  }
+
+  /** Returns true if field rootCauseErrorIdList is set (has been assigned a value) and false otherwise */
+  public boolean isSetRootCauseErrorIdList() {
+    return this.rootCauseErrorIdList != null;
+  }
+
+  public void setRootCauseErrorIdListIsSet(boolean value) {
+    if (!value) {
+      this.rootCauseErrorIdList = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case ERROR_ID:
+      if (value == null) {
+        unsetErrorID();
+      } else {
+        setErrorID((String)value);
+      }
+      break;
+
+    case CREATION_TIME:
+      if (value == null) {
+        unsetCreationTime();
+      } else {
+        setCreationTime((Long)value);
+      }
+      break;
+
+    case ACTUAL_ERROR_MESSAGE:
+      if (value == null) {
+        unsetActualErrorMessage();
+      } else {
+        setActualErrorMessage((String)value);
+      }
+      break;
+
+    case USER_FRIENDLY_MESSAGE:
+      if (value == null) {
+        unsetUserFriendlyMessage();
+      } else {
+        setUserFriendlyMessage((String)value);
+      }
+      break;
+
+    case ERROR_CATEGORY:
+      if (value == null) {
+        unsetErrorCategory();
+      } else {
+        setErrorCategory((ErrorCategory)value);
+      }
+      break;
+
+    case TRANSIENT_OR_PERSISTENT:
+      if (value == null) {
+        unsetTransientOrPersistent();
+      } else {
+        setTransientOrPersistent((Boolean)value);
+      }
+      break;
+
+    case CORRECTIVE_ACTION:
+      if (value == null) {
+        unsetCorrectiveAction();
+      } else {
+        setCorrectiveAction((CorrectiveAction)value);
+      }
+      break;
+
+    case ACTIONABLE_GROUP:
+      if (value == null) {
+        unsetActionableGroup();
+      } else {
+        setActionableGroup((ActionableGroup)value);
+      }
+      break;
+
+    case ROOT_CAUSE_ERROR_ID_LIST:
+      if (value == null) {
+        unsetRootCauseErrorIdList();
+      } else {
+        setRootCauseErrorIdList((List<String>)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case ERROR_ID:
+      return getErrorID();
+
+    case CREATION_TIME:
+      return Long.valueOf(getCreationTime());
+
+    case ACTUAL_ERROR_MESSAGE:
+      return getActualErrorMessage();
+
+    case USER_FRIENDLY_MESSAGE:
+      return getUserFriendlyMessage();
+
+    case ERROR_CATEGORY:
+      return getErrorCategory();
+
+    case TRANSIENT_OR_PERSISTENT:
+      return Boolean.valueOf(isTransientOrPersistent());
+
+    case CORRECTIVE_ACTION:
+      return getCorrectiveAction();
+
+    case ACTIONABLE_GROUP:
+      return getActionableGroup();
+
+    case ROOT_CAUSE_ERROR_ID_LIST:
+      return getRootCauseErrorIdList();
+
+    }
+    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 ERROR_ID:
+      return isSetErrorID();
+    case CREATION_TIME:
+      return isSetCreationTime();
+    case ACTUAL_ERROR_MESSAGE:
+      return isSetActualErrorMessage();
+    case USER_FRIENDLY_MESSAGE:
+      return isSetUserFriendlyMessage();
+    case ERROR_CATEGORY:
+      return isSetErrorCategory();
+    case TRANSIENT_OR_PERSISTENT:
+      return isSetTransientOrPersistent();
+    case CORRECTIVE_ACTION:
+      return isSetCorrectiveAction();
+    case ACTIONABLE_GROUP:
+      return isSetActionableGroup();
+    case ROOT_CAUSE_ERROR_ID_LIST:
+      return isSetRootCauseErrorIdList();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof ErrorDetails)
+      return this.equals((ErrorDetails)that);
+    return false;
+  }
+
+  public boolean equals(ErrorDetails that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_errorID = true && this.isSetErrorID();
+    boolean that_present_errorID = true && that.isSetErrorID();
+    if (this_present_errorID || that_present_errorID) {
+      if (!(this_present_errorID && that_present_errorID))
+        return false;
+      if (!this.errorID.equals(that.errorID))
+        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_actualErrorMessage = true && this.isSetActualErrorMessage();
+    boolean that_present_actualErrorMessage = true && that.isSetActualErrorMessage();
+    if (this_present_actualErrorMessage || that_present_actualErrorMessage) {
+      if (!(this_present_actualErrorMessage && that_present_actualErrorMessage))
+        return false;
+      if (!this.actualErrorMessage.equals(that.actualErrorMessage))
+        return false;
+    }
+
+    boolean this_present_userFriendlyMessage = true && this.isSetUserFriendlyMessage();
+    boolean that_present_userFriendlyMessage = true && that.isSetUserFriendlyMessage();
+    if (this_present_userFriendlyMessage || that_present_userFriendlyMessage) {
+      if (!(this_present_userFriendlyMessage && that_present_userFriendlyMessage))
+        return false;
+      if (!this.userFriendlyMessage.equals(that.userFriendlyMessage))
+        return false;
+    }
+
+    boolean this_present_errorCategory = true && this.isSetErrorCategory();
+    boolean that_present_errorCategory = true && that.isSetErrorCategory();
+    if (this_present_errorCategory || that_present_errorCategory) {
+      if (!(this_present_errorCategory && that_present_errorCategory))
+        return false;
+      if (!this.errorCategory.equals(that.errorCategory))
+        return false;
+    }
+
+    boolean this_present_transientOrPersistent = true && this.isSetTransientOrPersistent();
+    boolean that_present_transientOrPersistent = true && that.isSetTransientOrPersistent();
+    if (this_present_transientOrPersistent || that_present_transientOrPersistent) {
+      if (!(this_present_transientOrPersistent && that_present_transientOrPersistent))
+        return false;
+      if (this.transientOrPersistent != that.transientOrPersistent)
+        return false;
+    }
+
+    boolean this_present_correctiveAction = true && this.isSetCorrectiveAction();
+    boolean that_present_correctiveAction = true && that.isSetCorrectiveAction();
+    if (this_present_correctiveAction || that_present_correctiveAction) {
+      if (!(this_present_correctiveAction && that_present_correctiveAction))
+        return false;
+      if (!this.correctiveAction.equals(that.correctiveAction))
+        return false;
+    }
+
+    boolean this_present_actionableGroup = true && this.isSetActionableGroup();
+    boolean that_present_actionableGroup = true && that.isSetActionableGroup();
+    if (this_present_actionableGroup || that_present_actionableGroup) {
+      if (!(this_present_actionableGroup && that_present_actionableGroup))
+        return false;
+      if (!this.actionableGroup.equals(that.actionableGroup))
+        return false;
+    }
+
+    boolean this_present_rootCauseErrorIdList = true && this.isSetRootCauseErrorIdList();
+    boolean that_present_rootCauseErrorIdList = true && that.isSetRootCauseErrorIdList();
+    if (this_present_rootCauseErrorIdList || that_present_rootCauseErrorIdList) {
+      if (!(this_present_rootCauseErrorIdList && that_present_rootCauseErrorIdList))
+        return false;
+      if (!this.rootCauseErrorIdList.equals(that.rootCauseErrorIdList))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  @Override
+  public int compareTo(ErrorDetails other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetErrorID()).compareTo(other.isSetErrorID());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetErrorID()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.errorID, other.errorID);
+      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(isSetActualErrorMessage()).compareTo(other.isSetActualErrorMessage());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetActualErrorMessage()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.actualErrorMessage, other.actualErrorMessage);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetUserFriendlyMessage()).compareTo(other.isSetUserFriendlyMessage());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetUserFriendlyMessage()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userFriendlyMessage, other.userFriendlyMessage);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetErrorCategory()).compareTo(other.isSetErrorCategory());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetErrorCategory()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.errorCategory, other.errorCategory);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTransientOrPersistent()).compareTo(other.isSetTransientOrPersistent());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTransientOrPersistent()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transientOrPersistent, other.transientOrPersistent);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetCorrectiveAction()).compareTo(other.isSetCorrectiveAction());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetCorrectiveAction()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.correctiveAction, other.correctiveAction);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetActionableGroup()).compareTo(other.isSetActionableGroup());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetActionableGroup()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.actionableGroup, other.actionableGroup);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetRootCauseErrorIdList()).compareTo(other.isSetRootCauseErrorIdList());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetRootCauseErrorIdList()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rootCauseErrorIdList, other.rootCauseErrorIdList);
+      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("ErrorDetails(");
+    boolean first = true;
+
+    sb.append("errorID:");
+    if (this.errorID == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.errorID);
+    }
+    first = false;
+    if (isSetCreationTime()) {
+      if (!first) sb.append(", ");
+      sb.append("creationTime:");
+      sb.append(this.creationTime);
+      first = false;
+    }
+    if (isSetActualErrorMessage()) {
+      if (!first) sb.append(", ");
+      sb.append("actualErrorMessage:");
+      if (this.actualErrorMessage == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.actualErrorMessage);
+      }
+      first = false;
+    }
+    if (isSetUserFriendlyMessage()) {
+      if (!first) sb.append(", ");
+      sb.append("userFriendlyMessage:");
+      if (this.userFriendlyMessage == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.userFriendlyMessage);
+      }
+      first = false;
+    }
+    if (isSetErrorCategory()) {
+      if (!first) sb.append(", ");
+      sb.append("errorCategory:");
+      if (this.errorCategory == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.errorCategory);
+      }
+      first = false;
+    }
+    if (isSetTransientOrPersistent()) {
+      if (!first) sb.append(", ");
+      sb.append("transientOrPersistent:");
+      sb.append(this.transientOrPersistent);
+      first = false;
+    }
+    if (isSetCorrectiveAction()) {
+      if (!first) sb.append(", ");
+      sb.append("correctiveAction:");
+      if (this.correctiveAction == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.correctiveAction);
+      }
+      first = false;
+    }
+    if (isSetActionableGroup()) {
+      if (!first) sb.append(", ");
+      sb.append("actionableGroup:");
+      if (this.actionableGroup == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.actionableGroup);
+      }
+      first = false;
+    }
+    if (isSetRootCauseErrorIdList()) {
+      if (!first) sb.append(", ");
+      sb.append("rootCauseErrorIdList:");
+      if (this.rootCauseErrorIdList == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.rootCauseErrorIdList);
+      }
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!isSetErrorID()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'errorID' 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 {
+      // 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 ErrorDetailsStandardSchemeFactory implements SchemeFactory {
+    public ErrorDetailsStandardScheme getScheme() {
+      return new ErrorDetailsStandardScheme();
+    }
+  }
+
+  private static class ErrorDetailsStandardScheme extends StandardScheme<ErrorDetails> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, ErrorDetails 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: // ERROR_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.errorID = iprot.readString();
+              struct.setErrorIDIsSet(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: // ACTUAL_ERROR_MESSAGE
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.actualErrorMessage = iprot.readString();
+              struct.setActualErrorMessageIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // USER_FRIENDLY_MESSAGE
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.userFriendlyMessage = iprot.readString();
+              struct.setUserFriendlyMessageIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // ERROR_CATEGORY
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.errorCategory = ErrorCategory.findByValue(iprot.readI32());
+              struct.setErrorCategoryIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 6: // TRANSIENT_OR_PERSISTENT
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.transientOrPersistent = iprot.readBool();
+              struct.setTransientOrPersistentIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 7: // CORRECTIVE_ACTION
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.correctiveAction = CorrectiveAction.findByValue(iprot.readI32());
+              struct.setCorrectiveActionIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 8: // ACTIONABLE_GROUP
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.actionableGroup = ActionableGroup.findByValue(iprot.readI32());
+              struct.setActionableGroupIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 9: // ROOT_CAUSE_ERROR_ID_LIST
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
+                struct.rootCauseErrorIdList = new ArrayList<String>(_list0.size);
+                for (int _i1 = 0; _i1 < _list0.size; ++_i1)
+                {
+                  String _elem2;
+                  _elem2 = iprot.readString();
+                  struct.rootCauseErrorIdList.add(_elem2);
+                }
+                iprot.readListEnd();
+              }
+              struct.setRootCauseErrorIdListIsSet(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, ErrorDetails struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.errorID != null) {
+        oprot.writeFieldBegin(ERROR_ID_FIELD_DESC);
+        oprot.writeString(struct.errorID);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetCreationTime()) {
+        oprot.writeFieldBegin(CREATION_TIME_FIELD_DESC);
+        oprot.writeI64(struct.creationTime);
+        oprot.writeFieldEnd();
+      }
+      if (struct.actualErrorMessage != null) {
+        if (struct.isSetActualErrorMessage()) {
+          oprot.writeFieldBegin(ACTUAL_ERROR_MESSAGE_FIELD_DESC);
+          oprot.writeString(struct.actualErrorMessage);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.userFriendlyMessage != null) {
+        if (struct.isSetUserFriendlyMessage()) {
+          oprot.writeFieldBegin(USER_FRIENDLY_MESSAGE_FIELD_DESC);
+          oprot.writeString(struct.userFriendlyMessage);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.errorCategory != null) {
+        if (struct.isSetErrorCategory()) {
+          oprot.writeFieldBegin(ERROR_CATEGORY_FIELD_DESC);
+          oprot.writeI32(struct.errorCategory.getValue());
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetTransientOrPersistent()) {
+        oprot.writeFieldBegin(TRANSIENT_OR_PERSISTENT_FIELD_DESC);
+        oprot.writeBool(struct.transientOrPersistent);
+        oprot.writeFieldEnd();
+      }
+      if (struct.correctiveAction != null) {
+        if (struct.isSetCorrectiveAction()) {
+          oprot.writeFieldBegin(CORRECTIVE_ACTION_FIELD_DESC);
+          oprot.writeI32(struct.correctiveAction.getValue());
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.actionableGroup != null) {
+        if (struct.isSetActionableGroup()) {
+          oprot.writeFieldBegin(ACTIONABLE_GROUP_FIELD_DESC);
+          oprot.writeI32(struct.actionableGroup.getValue());
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.rootCauseErrorIdList != null) {
+        if (struct.isSetRootCauseErrorIdList()) {
+          oprot.writeFieldBegin(ROOT_CAUSE_ERROR_ID_LIST_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.rootCauseErrorIdList.size()));
+            for (String _iter3 : struct.rootCauseErrorIdList)
+            {
+              oprot.writeString(_iter3);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class ErrorDetailsTupleSchemeFactory implements SchemeFactory {
+    public ErrorDetailsTupleScheme getScheme() {
+      return new ErrorDetailsTupleScheme();
+    }
+  }
+
+  private static class ErrorDetailsTupleScheme extends TupleScheme<ErrorDetails> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, ErrorDetails struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeString(struct.errorID);
+      BitSet optionals = new BitSet();
+      if (struct.isSetCreationTime()) {
+        optionals.set(0);
+      }
+      if (struct.isSetActualErrorMessage()) {
+        optionals.set(1);
+      }
+      if (struct.isSetUserFriendlyMessage()) {
+        optionals.set(2);
+      }
+      if (struct.isSetErrorCategory()) {
+        optionals.set(3);
+      }
+      if (struct.isSetTransientOrPersistent()) {
+        optionals.set(4);
+      }
+      if (struct.isSetCorrectiveAction()) {
+        optionals.set(5);
+      }
+      if (struct.isSetActionableGroup()) {
+        optionals.set(6);
+      }
+      if (struct.isSetRootCauseErrorIdList()) {
+        optionals.set(7);
+      }
+      oprot.writeBitSet(optionals, 8);
+      if (struct.isSetCreationTime()) {
+        oprot.writeI64(struct.creationTime);
+      }
+      if (struct.isSetActualErrorMessage()) {
+        oprot.writeString(struct.actualErrorMessage);
+      }
+      if (struct.isSetUserFriendlyMessage()) {
+        oprot.writeString(struct.userFriendlyMessage);
+      }
+      if (struct.isSetErrorCategory()) {
+        oprot.writeI32(struct.errorCategory.getValue());
+      }
+      if (struct.isSetTransientOrPersistent()) {
+        oprot.writeBool(struct.transientOrPersistent);
+      }
+      if (struct.isSetCorrectiveAction()) {
+        oprot.writeI32(struct.correctiveAction.getValue());
+      }
+      if (struct.isSetActionableGroup()) {
+        oprot.writeI32(struct.actionableGroup.getValue());
+      }
+      if (struct.isSetRootCauseErrorIdList()) {
+        {
+          oprot.writeI32(struct.rootCauseErrorIdList.size());
+          for (String _iter4 : struct.rootCauseErrorIdList)
+          {
+            oprot.writeString(_iter4);
+          }
+        }
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, ErrorDetails struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.errorID = iprot.readString();
+      struct.setErrorIDIsSet(true);
+      BitSet incoming = iprot.readBitSet(8);
+      if (incoming.get(0)) {
+        struct.creationTime = iprot.readI64();
+        struct.setCreationTimeIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.actualErrorMessage = iprot.readString();
+        struct.setActualErrorMessageIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.userFriendlyMessage = iprot.readString();
+        struct.setUserFriendlyMessageIsSet(true);
+      }
+      if (incoming.get(3)) {
+        struct.errorCategory = ErrorCategory.findByValue(iprot.readI32());
+        struct.setErrorCategoryIsSet(true);
+      }
+      if (incoming.get(4)) {
+        struct.transientOrPersistent = iprot.readBool();
+        struct.setTransientOrPersistentIsSet(true);
+      }
+      if (incoming.get(5)) {
+        struct.correctiveAction = CorrectiveAction.findByValue(iprot.readI32());
+        struct.setCorrectiveActionIsSet(true);
+      }
+      if (incoming.get(6)) {
+        struct.actionableGroup = ActionableGroup.findByValue(iprot.readI32());
+        struct.setActionableGroupIsSet(true);
+      }
+      if (incoming.get(7)) {
+        {
+          org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.rootCauseErrorIdList = new ArrayList<String>(_list5.size);
+          for (int _i6 = 0; _i6 < _list5.size; ++_i6)
+          {
+            String _elem7;
+            _elem7 = iprot.readString();
+            struct.rootCauseErrorIdList.add(_elem7);
+          }
+        }
+        struct.setRootCauseErrorIdListIsSet(true);
+      }
+    }
+  }
+
+}
+


[23/23] git commit: Commiting the generated data from modified models - AIRAVATA-1017

Posted by sm...@apache.org.
Commiting the generated data from modified models - AIRAVATA-1017


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/b46488d5
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/b46488d5
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/b46488d5

Branch: refs/heads/master
Commit: b46488d5cc23e5f0a6794842b8b3b9ce60f115b2
Parents: 7126528
Author: Suresh Marru <sm...@apache.org>
Authored: Mon Feb 17 22:40:35 2014 -0500
Committer: Suresh Marru <sm...@apache.org>
Committed: Mon Feb 17 22:40:35 2014 -0500

----------------------------------------------------------------------
 airavata-api/README                             |   32 +-
 .../java/org/apache/airavata/api/Airavata.java  | 3123 +++++++++++++-----
 .../model/experiment/ActionableGroup.java       |   70 -
 .../experiment/AdvancedInputDataHandling.java   |  700 ----
 .../experiment/AdvancedOutputDataHandling.java  |  604 ----
 .../model/experiment/ApplicationStatus.java     |  497 ---
 .../model/experiment/BasicMetadata.java         |  910 -----
 .../ComputationalResourceScheduling.java        | 1173 -------
 .../model/experiment/ConfigurationData.java     | 1390 --------
 .../model/experiment/CorrectiveAction.java      |   64 -
 .../model/experiment/DataObjectType.java        |  706 ----
 .../model/experiment/DataTransferDetails.java   |  699 ----
 .../model/experiment/ErrorCategory.java         |   79 -
 .../airavata/model/experiment/ErrorDetails.java | 1287 --------
 .../model/experiment/ExecutionState.java        |   85 -
 .../model/experiment/ExecutionStatus.java       |  509 ---
 .../airavata/model/experiment/Experiment.java   | 2294 -------------
 .../model/experiment/ExperimentState.java       |   82 -
 .../model/experiment/ExperimentStatus.java      |  509 ---
 .../airavata/model/experiment/JobDetails.java   |  960 ------
 .../airavata/model/experiment/JobState.java     |   82 -
 .../airavata/model/experiment/JobStatus.java    |  509 ---
 .../experiment/QualityOfServiceParams.java      |  602 ----
 .../airavata/model/experiment/TaskDetails.java  | 1904 -----------
 .../model/experiment/TransferState.java         |   82 -
 .../model/experiment/TransferStatus.java        |  509 ---
 .../model/experiment/UserConfigurationData.java | 1016 ------
 .../model/experiment/WorkflowNodeDetails.java   | 1329 --------
 .../model/experiment/WorkflowNodeState.java     |   73 -
 .../model/experiment/WorkflowNodeStatus.java    |  509 ---
 .../model/util/ExperimentModelUtil.java         |  126 -
 .../airavata/model/workspace/Gateway.java       |  494 +++
 .../apache/airavata/model/workspace/Group.java  |  500 +++
 .../airavata/model/workspace/Project.java       | 1093 ++++++
 .../apache/airavata/model/workspace/User.java   |  554 ++++
 .../workspace/experiment/ActionableGroup.java   |   70 +
 .../experiment/AdvancedInputDataHandling.java   |  700 ++++
 .../experiment/AdvancedOutputDataHandling.java  |  604 ++++
 .../workspace/experiment/ApplicationStatus.java |  497 +++
 .../ComputationalResourceScheduling.java        | 1173 +++++++
 .../workspace/experiment/CorrectiveAction.java  |   64 +
 .../workspace/experiment/DataObjectType.java    |  706 ++++
 .../experiment/DataTransferDetails.java         |  702 ++++
 .../workspace/experiment/ErrorCategory.java     |   79 +
 .../workspace/experiment/ErrorDetails.java      | 1287 ++++++++
 .../model/workspace/experiment/Experiment.java  | 2400 ++++++++++++++
 .../workspace/experiment/ExperimentState.java   |   82 +
 .../workspace/experiment/ExperimentStatus.java  |  509 +++
 .../model/workspace/experiment/JobDetails.java  |  963 ++++++
 .../model/workspace/experiment/JobState.java    |   82 +
 .../model/workspace/experiment/JobStatus.java   |  509 +++
 .../experiment/QualityOfServiceParams.java      |  602 ++++
 .../model/workspace/experiment/TaskDetails.java | 1907 +++++++++++
 .../model/workspace/experiment/TaskState.java   |   91 +
 .../model/workspace/experiment/TaskStatus.java  |  509 +++
 .../workspace/experiment/TransferState.java     |   82 +
 .../workspace/experiment/TransferStatus.java    |  509 +++
 .../experiment/UserConfigurationData.java       | 1016 ++++++
 .../experiment/WorkflowNodeDetails.java         | 1329 ++++++++
 .../workspace/experiment/WorkflowNodeState.java |   73 +
 .../experiment/WorkflowNodeStatus.java          |  509 +++
 .../experiment/experimentModelConstants.java    |   59 +
 airavata-api/airavata-model-utils/pom.xml       |   43 +
 .../model/util/ExperimentModelUtil.java         |  126 +
 .../airavataAPI.thrift                          |   14 +-
 .../workspaceModel.thrift                       |    4 +-
 66 files changed, 22209 insertions(+), 20246 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/README
----------------------------------------------------------------------
diff --git a/airavata-api/README b/airavata-api/README
index ecd9646..fda5b44 100644
--- a/airavata-api/README
+++ b/airavata-api/README
@@ -18,24 +18,33 @@ Gateway
   |- Groups (Groups is explicitly defined with a set of users within it)
   |   |-Users
   |
-  |- User
-  |   |- Group Ids (A user can be in one or more groups)
-  |   |- Workspace
+  |-Workspace
+  |   |- User
+  |   |   |- Group Ids (A user can be in one or more groups)
   |   |   |-Project
   |   |   |   |- Experiment
   |   |   |   |   |- Summary (Derived Information)
-  |   |   |   |   |- Configuration Data
-  |   |   |   |   |   |- Basic Metadata
-  |   |   |   |   |   |- Application/Workflow Id
-  |   |   |   |   |   |- Experiment Inputs
+  |   |   |   |   |- Name
+  |   |   |   |   |- Description
+  |   |   |   |   |- Application/Workflow Template Id
+  |   |   |   |   |- Workflow Instance Id
+  |   |   |   |   |- User Configuration Data
   |   |   |   |   |   |- Scheduling Information
   |   |   |   |   |   |- Quality of Service Parameters
-  |   |   |   |   |- Generated Data
+  |   |   |   |   |- Experiment Inputs
+  |   |   |   |   |- Experiment Outputs
+  |   |   |   |   |- Experiment Status
+  |   |   |   |   |- Workflow Nodes
+  |   |   |   |   |   |- Node Inputs
+  |   |   |   |   |   |- Node Outputs
+  |   |   |   |   |   |- Node Status
+  |   |   |   |   |   |- Tasks
+  |   |   |   |   |   |   |- Application Id
+  |   |   |   |   |   |   |- Application Inputs
+  |   |   |   |   |   |   |- Application Outputs
   |   |   |   |   |   |- Intermediate Data
   |   |   |   |   |   |- Final Output Data
-  |   |   |   |   |- Monitoring Data
-  |   |   |   |   |- Provenance Data
-  |   |   |   |   |- Execution Errors
+  |   |   |   |   |- Experiment Errors
   |   |   |   |   |   |- User Friendly Message
   |   |   |   |   |   |- Raw Exception
   |   |   |   |   |   |- Error Category
@@ -45,4 +54,3 @@ Gateway
 
 
 
-


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

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/TaskDetails.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/TaskDetails.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/TaskDetails.java
deleted file mode 100644
index 352692f..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/TaskDetails.java
+++ /dev/null
@@ -1,1904 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A structure holding the 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 EXECUTION_SCHEDULING_FIELD_DESC = new org.apache.thrift.protocol.TField("executionScheduling", 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 EXECUTION_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("executionStatus", 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 executionScheduling; // optional
-  private AdvancedInputDataHandling advancedInputDataHandling; // optional
-  private AdvancedOutputDataHandling advancedOutputDataHandling; // optional
-  private ExecutionStatus executionStatus; // 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"),
-    EXECUTION_SCHEDULING((short)7, "executionScheduling"),
-    ADVANCED_INPUT_DATA_HANDLING((short)8, "advancedInputDataHandling"),
-    ADVANCED_OUTPUT_DATA_HANDLING((short)9, "advancedOutputDataHandling"),
-    EXECUTION_STATUS((short)10, "executionStatus"),
-    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: // EXECUTION_SCHEDULING
-          return EXECUTION_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: // EXECUTION_STATUS
-          return EXECUTION_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.EXECUTION_SCHEDULING,_Fields.ADVANCED_INPUT_DATA_HANDLING,_Fields.ADVANCED_OUTPUT_DATA_HANDLING,_Fields.EXECUTION_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.EXECUTION_SCHEDULING, new org.apache.thrift.meta_data.FieldMetaData("executionScheduling", 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.EXECUTION_STATUS, new org.apache.thrift.meta_data.FieldMetaData("executionStatus", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ExecutionStatus.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() {
-  }
-
-  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.isSetExecutionScheduling()) {
-      this.executionScheduling = new ComputationalResourceScheduling(other.executionScheduling);
-    }
-    if (other.isSetAdvancedInputDataHandling()) {
-      this.advancedInputDataHandling = new AdvancedInputDataHandling(other.advancedInputDataHandling);
-    }
-    if (other.isSetAdvancedOutputDataHandling()) {
-      this.advancedOutputDataHandling = new AdvancedOutputDataHandling(other.advancedOutputDataHandling);
-    }
-    if (other.isSetExecutionStatus()) {
-      this.executionStatus = new ExecutionStatus(other.executionStatus);
-    }
-    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 = null;
-    setCreationTimeIsSet(false);
-    this.creationTime = 0;
-    this.applicationId = null;
-    this.applicationVersion = null;
-    this.applicationInputs = null;
-    this.applicationOutputs = null;
-    this.executionScheduling = null;
-    this.advancedInputDataHandling = null;
-    this.advancedOutputDataHandling = null;
-    this.executionStatus = 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 getExecutionScheduling() {
-    return this.executionScheduling;
-  }
-
-  public void setExecutionScheduling(ComputationalResourceScheduling executionScheduling) {
-    this.executionScheduling = executionScheduling;
-  }
-
-  public void unsetExecutionScheduling() {
-    this.executionScheduling = null;
-  }
-
-  /** Returns true if field executionScheduling is set (has been assigned a value) and false otherwise */
-  public boolean isSetExecutionScheduling() {
-    return this.executionScheduling != null;
-  }
-
-  public void setExecutionSchedulingIsSet(boolean value) {
-    if (!value) {
-      this.executionScheduling = 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 ExecutionStatus getExecutionStatus() {
-    return this.executionStatus;
-  }
-
-  public void setExecutionStatus(ExecutionStatus executionStatus) {
-    this.executionStatus = executionStatus;
-  }
-
-  public void unsetExecutionStatus() {
-    this.executionStatus = null;
-  }
-
-  /** Returns true if field executionStatus is set (has been assigned a value) and false otherwise */
-  public boolean isSetExecutionStatus() {
-    return this.executionStatus != null;
-  }
-
-  public void setExecutionStatusIsSet(boolean value) {
-    if (!value) {
-      this.executionStatus = 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 EXECUTION_SCHEDULING:
-      if (value == null) {
-        unsetExecutionScheduling();
-      } else {
-        setExecutionScheduling((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 EXECUTION_STATUS:
-      if (value == null) {
-        unsetExecutionStatus();
-      } else {
-        setExecutionStatus((ExecutionStatus)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 EXECUTION_SCHEDULING:
-      return getExecutionScheduling();
-
-    case ADVANCED_INPUT_DATA_HANDLING:
-      return getAdvancedInputDataHandling();
-
-    case ADVANCED_OUTPUT_DATA_HANDLING:
-      return getAdvancedOutputDataHandling();
-
-    case EXECUTION_STATUS:
-      return getExecutionStatus();
-
-    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 EXECUTION_SCHEDULING:
-      return isSetExecutionScheduling();
-    case ADVANCED_INPUT_DATA_HANDLING:
-      return isSetAdvancedInputDataHandling();
-    case ADVANCED_OUTPUT_DATA_HANDLING:
-      return isSetAdvancedOutputDataHandling();
-    case EXECUTION_STATUS:
-      return isSetExecutionStatus();
-    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_executionScheduling = true && this.isSetExecutionScheduling();
-    boolean that_present_executionScheduling = true && that.isSetExecutionScheduling();
-    if (this_present_executionScheduling || that_present_executionScheduling) {
-      if (!(this_present_executionScheduling && that_present_executionScheduling))
-        return false;
-      if (!this.executionScheduling.equals(that.executionScheduling))
-        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_executionStatus = true && this.isSetExecutionStatus();
-    boolean that_present_executionStatus = true && that.isSetExecutionStatus();
-    if (this_present_executionStatus || that_present_executionStatus) {
-      if (!(this_present_executionStatus && that_present_executionStatus))
-        return false;
-      if (!this.executionStatus.equals(that.executionStatus))
-        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(isSetExecutionScheduling()).compareTo(other.isSetExecutionScheduling());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetExecutionScheduling()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.executionScheduling, other.executionScheduling);
-      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(isSetExecutionStatus()).compareTo(other.isSetExecutionStatus());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetExecutionStatus()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.executionStatus, other.executionStatus);
-      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 (isSetExecutionScheduling()) {
-      if (!first) sb.append(", ");
-      sb.append("executionScheduling:");
-      if (this.executionScheduling == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.executionScheduling);
-      }
-      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 (isSetExecutionStatus()) {
-      if (!first) sb.append(", ");
-      sb.append("executionStatus:");
-      if (this.executionStatus == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.executionStatus);
-      }
-      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 (executionScheduling != null) {
-      executionScheduling.validate();
-    }
-    if (advancedInputDataHandling != null) {
-      advancedInputDataHandling.validate();
-    }
-    if (advancedOutputDataHandling != null) {
-      advancedOutputDataHandling.validate();
-    }
-    if (executionStatus != null) {
-      executionStatus.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: // EXECUTION_SCHEDULING
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-              struct.executionScheduling = new ComputationalResourceScheduling();
-              struct.executionScheduling.read(iprot);
-              struct.setExecutionSchedulingIsSet(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: // EXECUTION_STATUS
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-              struct.executionStatus = new ExecutionStatus();
-              struct.executionStatus.read(iprot);
-              struct.setExecutionStatusIsSet(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.executionScheduling != null) {
-        if (struct.isSetExecutionScheduling()) {
-          oprot.writeFieldBegin(EXECUTION_SCHEDULING_FIELD_DESC);
-          struct.executionScheduling.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.executionStatus != null) {
-        if (struct.isSetExecutionStatus()) {
-          oprot.writeFieldBegin(EXECUTION_STATUS_FIELD_DESC);
-          struct.executionStatus.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.isSetExecutionScheduling()) {
-        optionals.set(5);
-      }
-      if (struct.isSetAdvancedInputDataHandling()) {
-        optionals.set(6);
-      }
-      if (struct.isSetAdvancedOutputDataHandling()) {
-        optionals.set(7);
-      }
-      if (struct.isSetExecutionStatus()) {
-        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.isSetExecutionScheduling()) {
-        struct.executionScheduling.write(oprot);
-      }
-      if (struct.isSetAdvancedInputDataHandling()) {
-        struct.advancedInputDataHandling.write(oprot);
-      }
-      if (struct.isSetAdvancedOutputDataHandling()) {
-        struct.advancedOutputDataHandling.write(oprot);
-      }
-      if (struct.isSetExecutionStatus()) {
-        struct.executionStatus.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.executionScheduling = new ComputationalResourceScheduling();
-        struct.executionScheduling.read(iprot);
-        struct.setExecutionSchedulingIsSet(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.executionStatus = new ExecutionStatus();
-        struct.executionStatus.read(iprot);
-        struct.setExecutionStatusIsSet(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/experiment/TransferState.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/TransferState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/TransferState.java
deleted file mode 100644
index e7f5397..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/TransferState.java
+++ /dev/null
@@ -1,82 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
-@SuppressWarnings("all") public enum TransferState implements org.apache.thrift.TEnum {
-  SUBMITTED(0),
-  QUEUED(1),
-  ACTIVE(2),
-  COMPLETE(3),
-  CANCELED(4),
-  FAILED(5),
-  HELD(6),
-  SUSPENDED(7),
-  UNKNOWN(8);
-
-  private final int value;
-
-  private TransferState(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 TransferState findByValue(int value) { 
-    switch (value) {
-      case 0:
-        return SUBMITTED;
-      case 1:
-        return QUEUED;
-      case 2:
-        return ACTIVE;
-      case 3:
-        return COMPLETE;
-      case 4:
-        return CANCELED;
-      case 5:
-        return FAILED;
-      case 6:
-        return HELD;
-      case 7:
-        return SUSPENDED;
-      case 8:
-        return UNKNOWN;
-      default:
-        return null;
-    }
-  }
-}


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

Posted by sm...@apache.org.
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/TaskStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/TaskStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/TaskStatus.java
new file mode 100644
index 0000000..36cb631
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/TaskStatus.java
@@ -0,0 +1,509 @@
+    /*
+     * 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;
+
+@SuppressWarnings("all") public class TaskStatus implements org.apache.thrift.TBase<TaskStatus, TaskStatus._Fields>, java.io.Serializable, Cloneable, Comparable<TaskStatus> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskStatus");
+
+  private static final org.apache.thrift.protocol.TField EXECUTION_STATE_FIELD_DESC = new org.apache.thrift.protocol.TField("executionState", org.apache.thrift.protocol.TType.I32, (short)1);
+  private static final org.apache.thrift.protocol.TField TIME_OF_STATE_CHANGE_FIELD_DESC = new org.apache.thrift.protocol.TField("timeOfStateChange", org.apache.thrift.protocol.TType.I64, (short)2);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new TaskStatusStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new TaskStatusTupleSchemeFactory());
+  }
+
+  private TaskState executionState; // required
+  private long timeOfStateChange; // 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 {
+    /**
+     * 
+     * @see TaskState
+     */
+    EXECUTION_STATE((short)1, "executionState"),
+    TIME_OF_STATE_CHANGE((short)2, "timeOfStateChange");
+
+    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: // EXECUTION_STATE
+          return EXECUTION_STATE;
+        case 2: // TIME_OF_STATE_CHANGE
+          return TIME_OF_STATE_CHANGE;
+        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 __TIMEOFSTATECHANGE_ISSET_ID = 0;
+  private byte __isset_bitfield = 0;
+  private _Fields optionals[] = {_Fields.TIME_OF_STATE_CHANGE};
+  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.EXECUTION_STATE, new org.apache.thrift.meta_data.FieldMetaData("executionState", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TaskState.class)));
+    tmpMap.put(_Fields.TIME_OF_STATE_CHANGE, new org.apache.thrift.meta_data.FieldMetaData("timeOfStateChange", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TaskStatus.class, metaDataMap);
+  }
+
+  public TaskStatus() {
+  }
+
+  public TaskStatus(
+    TaskState executionState)
+  {
+    this();
+    this.executionState = executionState;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public TaskStatus(TaskStatus other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.isSetExecutionState()) {
+      this.executionState = other.executionState;
+    }
+    this.timeOfStateChange = other.timeOfStateChange;
+  }
+
+  public TaskStatus deepCopy() {
+    return new TaskStatus(this);
+  }
+
+  @Override
+  public void clear() {
+    this.executionState = null;
+    setTimeOfStateChangeIsSet(false);
+    this.timeOfStateChange = 0;
+  }
+
+  /**
+   * 
+   * @see TaskState
+   */
+  public TaskState getExecutionState() {
+    return this.executionState;
+  }
+
+  /**
+   * 
+   * @see TaskState
+   */
+  public void setExecutionState(TaskState executionState) {
+    this.executionState = executionState;
+  }
+
+  public void unsetExecutionState() {
+    this.executionState = null;
+  }
+
+  /** Returns true if field executionState is set (has been assigned a value) and false otherwise */
+  public boolean isSetExecutionState() {
+    return this.executionState != null;
+  }
+
+  public void setExecutionStateIsSet(boolean value) {
+    if (!value) {
+      this.executionState = null;
+    }
+  }
+
+  public long getTimeOfStateChange() {
+    return this.timeOfStateChange;
+  }
+
+  public void setTimeOfStateChange(long timeOfStateChange) {
+    this.timeOfStateChange = timeOfStateChange;
+    setTimeOfStateChangeIsSet(true);
+  }
+
+  public void unsetTimeOfStateChange() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
+  }
+
+  /** Returns true if field timeOfStateChange is set (has been assigned a value) and false otherwise */
+  public boolean isSetTimeOfStateChange() {
+    return EncodingUtils.testBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
+  }
+
+  public void setTimeOfStateChangeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID, value);
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case EXECUTION_STATE:
+      if (value == null) {
+        unsetExecutionState();
+      } else {
+        setExecutionState((TaskState)value);
+      }
+      break;
+
+    case TIME_OF_STATE_CHANGE:
+      if (value == null) {
+        unsetTimeOfStateChange();
+      } else {
+        setTimeOfStateChange((Long)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case EXECUTION_STATE:
+      return getExecutionState();
+
+    case TIME_OF_STATE_CHANGE:
+      return Long.valueOf(getTimeOfStateChange());
+
+    }
+    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 EXECUTION_STATE:
+      return isSetExecutionState();
+    case TIME_OF_STATE_CHANGE:
+      return isSetTimeOfStateChange();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof TaskStatus)
+      return this.equals((TaskStatus)that);
+    return false;
+  }
+
+  public boolean equals(TaskStatus that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_executionState = true && this.isSetExecutionState();
+    boolean that_present_executionState = true && that.isSetExecutionState();
+    if (this_present_executionState || that_present_executionState) {
+      if (!(this_present_executionState && that_present_executionState))
+        return false;
+      if (!this.executionState.equals(that.executionState))
+        return false;
+    }
+
+    boolean this_present_timeOfStateChange = true && this.isSetTimeOfStateChange();
+    boolean that_present_timeOfStateChange = true && that.isSetTimeOfStateChange();
+    if (this_present_timeOfStateChange || that_present_timeOfStateChange) {
+      if (!(this_present_timeOfStateChange && that_present_timeOfStateChange))
+        return false;
+      if (this.timeOfStateChange != that.timeOfStateChange)
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  @Override
+  public int compareTo(TaskStatus other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetExecutionState()).compareTo(other.isSetExecutionState());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetExecutionState()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.executionState, other.executionState);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTimeOfStateChange()).compareTo(other.isSetTimeOfStateChange());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTimeOfStateChange()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.timeOfStateChange, other.timeOfStateChange);
+      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("TaskStatus(");
+    boolean first = true;
+
+    sb.append("executionState:");
+    if (this.executionState == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.executionState);
+    }
+    first = false;
+    if (isSetTimeOfStateChange()) {
+      if (!first) sb.append(", ");
+      sb.append("timeOfStateChange:");
+      sb.append(this.timeOfStateChange);
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!isSetExecutionState()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'executionState' 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 {
+      // 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 TaskStatusStandardSchemeFactory implements SchemeFactory {
+    public TaskStatusStandardScheme getScheme() {
+      return new TaskStatusStandardScheme();
+    }
+  }
+
+  private static class TaskStatusStandardScheme extends StandardScheme<TaskStatus> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, TaskStatus 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: // EXECUTION_STATE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.executionState = TaskState.findByValue(iprot.readI32());
+              struct.setExecutionStateIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // TIME_OF_STATE_CHANGE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.timeOfStateChange = iprot.readI64();
+              struct.setTimeOfStateChangeIsSet(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, TaskStatus struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.executionState != null) {
+        oprot.writeFieldBegin(EXECUTION_STATE_FIELD_DESC);
+        oprot.writeI32(struct.executionState.getValue());
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetTimeOfStateChange()) {
+        oprot.writeFieldBegin(TIME_OF_STATE_CHANGE_FIELD_DESC);
+        oprot.writeI64(struct.timeOfStateChange);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class TaskStatusTupleSchemeFactory implements SchemeFactory {
+    public TaskStatusTupleScheme getScheme() {
+      return new TaskStatusTupleScheme();
+    }
+  }
+
+  private static class TaskStatusTupleScheme extends TupleScheme<TaskStatus> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, TaskStatus struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeI32(struct.executionState.getValue());
+      BitSet optionals = new BitSet();
+      if (struct.isSetTimeOfStateChange()) {
+        optionals.set(0);
+      }
+      oprot.writeBitSet(optionals, 1);
+      if (struct.isSetTimeOfStateChange()) {
+        oprot.writeI64(struct.timeOfStateChange);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, TaskStatus struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.executionState = TaskState.findByValue(iprot.readI32());
+      struct.setExecutionStateIsSet(true);
+      BitSet incoming = iprot.readBitSet(1);
+      if (incoming.get(0)) {
+        struct.timeOfStateChange = iprot.readI64();
+        struct.setTimeOfStateChangeIsSet(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/TransferState.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/TransferState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/TransferState.java
new file mode 100644
index 0000000..63d750f
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/TransferState.java
@@ -0,0 +1,82 @@
+    /*
+     * 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 TransferState implements org.apache.thrift.TEnum {
+  SUBMITTED(0),
+  QUEUED(1),
+  ACTIVE(2),
+  COMPLETE(3),
+  CANCELED(4),
+  FAILED(5),
+  HELD(6),
+  SUSPENDED(7),
+  UNKNOWN(8);
+
+  private final int value;
+
+  private TransferState(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 TransferState findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return SUBMITTED;
+      case 1:
+        return QUEUED;
+      case 2:
+        return ACTIVE;
+      case 3:
+        return COMPLETE;
+      case 4:
+        return CANCELED;
+      case 5:
+        return FAILED;
+      case 6:
+        return HELD;
+      case 7:
+        return SUSPENDED;
+      case 8:
+        return UNKNOWN;
+      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/TransferStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/TransferStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/TransferStatus.java
new file mode 100644
index 0000000..d0399a4
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/TransferStatus.java
@@ -0,0 +1,509 @@
+    /*
+     * 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;
+
+@SuppressWarnings("all") public class TransferStatus implements org.apache.thrift.TBase<TransferStatus, TransferStatus._Fields>, java.io.Serializable, Cloneable, Comparable<TransferStatus> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TransferStatus");
+
+  private static final org.apache.thrift.protocol.TField TRANSFER_STATE_FIELD_DESC = new org.apache.thrift.protocol.TField("transferState", org.apache.thrift.protocol.TType.I32, (short)1);
+  private static final org.apache.thrift.protocol.TField TIME_OF_STATE_CHANGE_FIELD_DESC = new org.apache.thrift.protocol.TField("timeOfStateChange", org.apache.thrift.protocol.TType.I64, (short)2);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new TransferStatusStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new TransferStatusTupleSchemeFactory());
+  }
+
+  private TransferState transferState; // required
+  private long timeOfStateChange; // 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 {
+    /**
+     * 
+     * @see TransferState
+     */
+    TRANSFER_STATE((short)1, "transferState"),
+    TIME_OF_STATE_CHANGE((short)2, "timeOfStateChange");
+
+    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: // TRANSFER_STATE
+          return TRANSFER_STATE;
+        case 2: // TIME_OF_STATE_CHANGE
+          return TIME_OF_STATE_CHANGE;
+        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 __TIMEOFSTATECHANGE_ISSET_ID = 0;
+  private byte __isset_bitfield = 0;
+  private _Fields optionals[] = {_Fields.TIME_OF_STATE_CHANGE};
+  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.TRANSFER_STATE, new org.apache.thrift.meta_data.FieldMetaData("transferState", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TransferState.class)));
+    tmpMap.put(_Fields.TIME_OF_STATE_CHANGE, new org.apache.thrift.meta_data.FieldMetaData("timeOfStateChange", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TransferStatus.class, metaDataMap);
+  }
+
+  public TransferStatus() {
+  }
+
+  public TransferStatus(
+    TransferState transferState)
+  {
+    this();
+    this.transferState = transferState;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public TransferStatus(TransferStatus other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.isSetTransferState()) {
+      this.transferState = other.transferState;
+    }
+    this.timeOfStateChange = other.timeOfStateChange;
+  }
+
+  public TransferStatus deepCopy() {
+    return new TransferStatus(this);
+  }
+
+  @Override
+  public void clear() {
+    this.transferState = null;
+    setTimeOfStateChangeIsSet(false);
+    this.timeOfStateChange = 0;
+  }
+
+  /**
+   * 
+   * @see TransferState
+   */
+  public TransferState getTransferState() {
+    return this.transferState;
+  }
+
+  /**
+   * 
+   * @see TransferState
+   */
+  public void setTransferState(TransferState transferState) {
+    this.transferState = transferState;
+  }
+
+  public void unsetTransferState() {
+    this.transferState = null;
+  }
+
+  /** Returns true if field transferState is set (has been assigned a value) and false otherwise */
+  public boolean isSetTransferState() {
+    return this.transferState != null;
+  }
+
+  public void setTransferStateIsSet(boolean value) {
+    if (!value) {
+      this.transferState = null;
+    }
+  }
+
+  public long getTimeOfStateChange() {
+    return this.timeOfStateChange;
+  }
+
+  public void setTimeOfStateChange(long timeOfStateChange) {
+    this.timeOfStateChange = timeOfStateChange;
+    setTimeOfStateChangeIsSet(true);
+  }
+
+  public void unsetTimeOfStateChange() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
+  }
+
+  /** Returns true if field timeOfStateChange is set (has been assigned a value) and false otherwise */
+  public boolean isSetTimeOfStateChange() {
+    return EncodingUtils.testBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
+  }
+
+  public void setTimeOfStateChangeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID, value);
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case TRANSFER_STATE:
+      if (value == null) {
+        unsetTransferState();
+      } else {
+        setTransferState((TransferState)value);
+      }
+      break;
+
+    case TIME_OF_STATE_CHANGE:
+      if (value == null) {
+        unsetTimeOfStateChange();
+      } else {
+        setTimeOfStateChange((Long)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case TRANSFER_STATE:
+      return getTransferState();
+
+    case TIME_OF_STATE_CHANGE:
+      return Long.valueOf(getTimeOfStateChange());
+
+    }
+    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 TRANSFER_STATE:
+      return isSetTransferState();
+    case TIME_OF_STATE_CHANGE:
+      return isSetTimeOfStateChange();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof TransferStatus)
+      return this.equals((TransferStatus)that);
+    return false;
+  }
+
+  public boolean equals(TransferStatus that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_transferState = true && this.isSetTransferState();
+    boolean that_present_transferState = true && that.isSetTransferState();
+    if (this_present_transferState || that_present_transferState) {
+      if (!(this_present_transferState && that_present_transferState))
+        return false;
+      if (!this.transferState.equals(that.transferState))
+        return false;
+    }
+
+    boolean this_present_timeOfStateChange = true && this.isSetTimeOfStateChange();
+    boolean that_present_timeOfStateChange = true && that.isSetTimeOfStateChange();
+    if (this_present_timeOfStateChange || that_present_timeOfStateChange) {
+      if (!(this_present_timeOfStateChange && that_present_timeOfStateChange))
+        return false;
+      if (this.timeOfStateChange != that.timeOfStateChange)
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  @Override
+  public int compareTo(TransferStatus other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetTransferState()).compareTo(other.isSetTransferState());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTransferState()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transferState, other.transferState);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTimeOfStateChange()).compareTo(other.isSetTimeOfStateChange());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTimeOfStateChange()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.timeOfStateChange, other.timeOfStateChange);
+      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("TransferStatus(");
+    boolean first = true;
+
+    sb.append("transferState:");
+    if (this.transferState == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.transferState);
+    }
+    first = false;
+    if (isSetTimeOfStateChange()) {
+      if (!first) sb.append(", ");
+      sb.append("timeOfStateChange:");
+      sb.append(this.timeOfStateChange);
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!isSetTransferState()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'transferState' 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 {
+      // 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 TransferStatusStandardSchemeFactory implements SchemeFactory {
+    public TransferStatusStandardScheme getScheme() {
+      return new TransferStatusStandardScheme();
+    }
+  }
+
+  private static class TransferStatusStandardScheme extends StandardScheme<TransferStatus> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, TransferStatus 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: // TRANSFER_STATE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.transferState = TransferState.findByValue(iprot.readI32());
+              struct.setTransferStateIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // TIME_OF_STATE_CHANGE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.timeOfStateChange = iprot.readI64();
+              struct.setTimeOfStateChangeIsSet(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, TransferStatus struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.transferState != null) {
+        oprot.writeFieldBegin(TRANSFER_STATE_FIELD_DESC);
+        oprot.writeI32(struct.transferState.getValue());
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetTimeOfStateChange()) {
+        oprot.writeFieldBegin(TIME_OF_STATE_CHANGE_FIELD_DESC);
+        oprot.writeI64(struct.timeOfStateChange);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class TransferStatusTupleSchemeFactory implements SchemeFactory {
+    public TransferStatusTupleScheme getScheme() {
+      return new TransferStatusTupleScheme();
+    }
+  }
+
+  private static class TransferStatusTupleScheme extends TupleScheme<TransferStatus> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, TransferStatus struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeI32(struct.transferState.getValue());
+      BitSet optionals = new BitSet();
+      if (struct.isSetTimeOfStateChange()) {
+        optionals.set(0);
+      }
+      oprot.writeBitSet(optionals, 1);
+      if (struct.isSetTimeOfStateChange()) {
+        oprot.writeI64(struct.timeOfStateChange);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, TransferStatus struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.transferState = TransferState.findByValue(iprot.readI32());
+      struct.setTransferStateIsSet(true);
+      BitSet incoming = iprot.readBitSet(1);
+      if (incoming.get(0)) {
+        struct.timeOfStateChange = iprot.readI64();
+        struct.setTimeOfStateChangeIsSet(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/UserConfigurationData.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/UserConfigurationData.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/UserConfigurationData.java
new file mode 100644
index 0000000..7e8b8c8
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/UserConfigurationData.java
@@ -0,0 +1,1016 @@
+    /*
+     * 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 experiment configuration.
+ * 
+ * 
+ */
+@SuppressWarnings("all") public class UserConfigurationData implements org.apache.thrift.TBase<UserConfigurationData, UserConfigurationData._Fields>, java.io.Serializable, Cloneable, Comparable<UserConfigurationData> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UserConfigurationData");
+
+  private static final org.apache.thrift.protocol.TField AIRAVATA_AUTO_SCHEDULE_FIELD_DESC = new org.apache.thrift.protocol.TField("airavataAutoSchedule", org.apache.thrift.protocol.TType.BOOL, (short)1);
+  private static final org.apache.thrift.protocol.TField OVERRIDE_MANUAL_SCHEDULED_PARAMS_FIELD_DESC = new org.apache.thrift.protocol.TField("overrideManualScheduledParams", org.apache.thrift.protocol.TType.BOOL, (short)2);
+  private static final org.apache.thrift.protocol.TField SHARE_EXPERIMENT_PUBLICLY_FIELD_DESC = new org.apache.thrift.protocol.TField("shareExperimentPublicly", org.apache.thrift.protocol.TType.BOOL, (short)3);
+  private static final org.apache.thrift.protocol.TField COMPUTATIONAL_RESOURCE_SCHEDULING_FIELD_DESC = new org.apache.thrift.protocol.TField("computationalResourceScheduling", org.apache.thrift.protocol.TType.STRUCT, (short)4);
+  private static final org.apache.thrift.protocol.TField ADVANCE_INPUT_DATA_HANDLING_FIELD_DESC = new org.apache.thrift.protocol.TField("advanceInputDataHandling", org.apache.thrift.protocol.TType.STRUCT, (short)5);
+  private static final org.apache.thrift.protocol.TField ADVANCE_OUTPUT_DATA_HANDLING_FIELD_DESC = new org.apache.thrift.protocol.TField("advanceOutputDataHandling", org.apache.thrift.protocol.TType.STRUCT, (short)6);
+  private static final org.apache.thrift.protocol.TField QOS_PARAMS_FIELD_DESC = new org.apache.thrift.protocol.TField("qosParams", org.apache.thrift.protocol.TType.STRUCT, (short)7);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new UserConfigurationDataStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new UserConfigurationDataTupleSchemeFactory());
+  }
+
+  private boolean airavataAutoSchedule; // required
+  private boolean overrideManualScheduledParams; // required
+  private boolean shareExperimentPublicly; // optional
+  private ComputationalResourceScheduling computationalResourceScheduling; // optional
+  private AdvancedInputDataHandling advanceInputDataHandling; // optional
+  private AdvancedOutputDataHandling advanceOutputDataHandling; // optional
+  private QualityOfServiceParams qosParams; // 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 {
+    AIRAVATA_AUTO_SCHEDULE((short)1, "airavataAutoSchedule"),
+    OVERRIDE_MANUAL_SCHEDULED_PARAMS((short)2, "overrideManualScheduledParams"),
+    SHARE_EXPERIMENT_PUBLICLY((short)3, "shareExperimentPublicly"),
+    COMPUTATIONAL_RESOURCE_SCHEDULING((short)4, "computationalResourceScheduling"),
+    ADVANCE_INPUT_DATA_HANDLING((short)5, "advanceInputDataHandling"),
+    ADVANCE_OUTPUT_DATA_HANDLING((short)6, "advanceOutputDataHandling"),
+    QOS_PARAMS((short)7, "qosParams");
+
+    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: // AIRAVATA_AUTO_SCHEDULE
+          return AIRAVATA_AUTO_SCHEDULE;
+        case 2: // OVERRIDE_MANUAL_SCHEDULED_PARAMS
+          return OVERRIDE_MANUAL_SCHEDULED_PARAMS;
+        case 3: // SHARE_EXPERIMENT_PUBLICLY
+          return SHARE_EXPERIMENT_PUBLICLY;
+        case 4: // COMPUTATIONAL_RESOURCE_SCHEDULING
+          return COMPUTATIONAL_RESOURCE_SCHEDULING;
+        case 5: // ADVANCE_INPUT_DATA_HANDLING
+          return ADVANCE_INPUT_DATA_HANDLING;
+        case 6: // ADVANCE_OUTPUT_DATA_HANDLING
+          return ADVANCE_OUTPUT_DATA_HANDLING;
+        case 7: // QOS_PARAMS
+          return QOS_PARAMS;
+        default:
+          return null;
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, throwing an exception
+     * if it is not found.
+     */
+    public static _Fields findByThriftIdOrThrow(int fieldId) {
+      _Fields fields = findByThriftId(fieldId);
+      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+      return fields;
+    }
+
+    /**
+     * Find the _Fields constant that matches name, or null if its not found.
+     */
+    public static _Fields findByName(String name) {
+      return byName.get(name);
+    }
+
+    private final short _thriftId;
+    private final String _fieldName;
+
+    _Fields(short thriftId, String fieldName) {
+      _thriftId = thriftId;
+      _fieldName = fieldName;
+    }
+
+    public short getThriftFieldId() {
+      return _thriftId;
+    }
+
+    public String getFieldName() {
+      return _fieldName;
+    }
+  }
+
+  // isset id assignments
+  private static final int __AIRAVATAAUTOSCHEDULE_ISSET_ID = 0;
+  private static final int __OVERRIDEMANUALSCHEDULEDPARAMS_ISSET_ID = 1;
+  private static final int __SHAREEXPERIMENTPUBLICLY_ISSET_ID = 2;
+  private byte __isset_bitfield = 0;
+  private _Fields optionals[] = {_Fields.SHARE_EXPERIMENT_PUBLICLY,_Fields.COMPUTATIONAL_RESOURCE_SCHEDULING,_Fields.ADVANCE_INPUT_DATA_HANDLING,_Fields.ADVANCE_OUTPUT_DATA_HANDLING,_Fields.QOS_PARAMS};
+  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+  static {
+    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    tmpMap.put(_Fields.AIRAVATA_AUTO_SCHEDULE, new org.apache.thrift.meta_data.FieldMetaData("airavataAutoSchedule", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.OVERRIDE_MANUAL_SCHEDULED_PARAMS, new org.apache.thrift.meta_data.FieldMetaData("overrideManualScheduledParams", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.SHARE_EXPERIMENT_PUBLICLY, new org.apache.thrift.meta_data.FieldMetaData("shareExperimentPublicly", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.COMPUTATIONAL_RESOURCE_SCHEDULING, new org.apache.thrift.meta_data.FieldMetaData("computationalResourceScheduling", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ComputationalResourceScheduling.class)));
+    tmpMap.put(_Fields.ADVANCE_INPUT_DATA_HANDLING, new org.apache.thrift.meta_data.FieldMetaData("advanceInputDataHandling", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, AdvancedInputDataHandling.class)));
+    tmpMap.put(_Fields.ADVANCE_OUTPUT_DATA_HANDLING, new org.apache.thrift.meta_data.FieldMetaData("advanceOutputDataHandling", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, AdvancedOutputDataHandling.class)));
+    tmpMap.put(_Fields.QOS_PARAMS, new org.apache.thrift.meta_data.FieldMetaData("qosParams", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, QualityOfServiceParams.class)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(UserConfigurationData.class, metaDataMap);
+  }
+
+  public UserConfigurationData() {
+    this.airavataAutoSchedule = false;
+
+    this.overrideManualScheduledParams = false;
+
+    this.shareExperimentPublicly = false;
+
+  }
+
+  public UserConfigurationData(
+    boolean airavataAutoSchedule,
+    boolean overrideManualScheduledParams)
+  {
+    this();
+    this.airavataAutoSchedule = airavataAutoSchedule;
+    setAiravataAutoScheduleIsSet(true);
+    this.overrideManualScheduledParams = overrideManualScheduledParams;
+    setOverrideManualScheduledParamsIsSet(true);
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public UserConfigurationData(UserConfigurationData other) {
+    __isset_bitfield = other.__isset_bitfield;
+    this.airavataAutoSchedule = other.airavataAutoSchedule;
+    this.overrideManualScheduledParams = other.overrideManualScheduledParams;
+    this.shareExperimentPublicly = other.shareExperimentPublicly;
+    if (other.isSetComputationalResourceScheduling()) {
+      this.computationalResourceScheduling = new ComputationalResourceScheduling(other.computationalResourceScheduling);
+    }
+    if (other.isSetAdvanceInputDataHandling()) {
+      this.advanceInputDataHandling = new AdvancedInputDataHandling(other.advanceInputDataHandling);
+    }
+    if (other.isSetAdvanceOutputDataHandling()) {
+      this.advanceOutputDataHandling = new AdvancedOutputDataHandling(other.advanceOutputDataHandling);
+    }
+    if (other.isSetQosParams()) {
+      this.qosParams = new QualityOfServiceParams(other.qosParams);
+    }
+  }
+
+  public UserConfigurationData deepCopy() {
+    return new UserConfigurationData(this);
+  }
+
+  @Override
+  public void clear() {
+    this.airavataAutoSchedule = false;
+
+    this.overrideManualScheduledParams = false;
+
+    this.shareExperimentPublicly = false;
+
+    this.computationalResourceScheduling = null;
+    this.advanceInputDataHandling = null;
+    this.advanceOutputDataHandling = null;
+    this.qosParams = null;
+  }
+
+  public boolean isAiravataAutoSchedule() {
+    return this.airavataAutoSchedule;
+  }
+
+  public void setAiravataAutoSchedule(boolean airavataAutoSchedule) {
+    this.airavataAutoSchedule = airavataAutoSchedule;
+    setAiravataAutoScheduleIsSet(true);
+  }
+
+  public void unsetAiravataAutoSchedule() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __AIRAVATAAUTOSCHEDULE_ISSET_ID);
+  }
+
+  /** Returns true if field airavataAutoSchedule is set (has been assigned a value) and false otherwise */
+  public boolean isSetAiravataAutoSchedule() {
+    return EncodingUtils.testBit(__isset_bitfield, __AIRAVATAAUTOSCHEDULE_ISSET_ID);
+  }
+
+  public void setAiravataAutoScheduleIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __AIRAVATAAUTOSCHEDULE_ISSET_ID, value);
+  }
+
+  public boolean isOverrideManualScheduledParams() {
+    return this.overrideManualScheduledParams;
+  }
+
+  public void setOverrideManualScheduledParams(boolean overrideManualScheduledParams) {
+    this.overrideManualScheduledParams = overrideManualScheduledParams;
+    setOverrideManualScheduledParamsIsSet(true);
+  }
+
+  public void unsetOverrideManualScheduledParams() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __OVERRIDEMANUALSCHEDULEDPARAMS_ISSET_ID);
+  }
+
+  /** Returns true if field overrideManualScheduledParams is set (has been assigned a value) and false otherwise */
+  public boolean isSetOverrideManualScheduledParams() {
+    return EncodingUtils.testBit(__isset_bitfield, __OVERRIDEMANUALSCHEDULEDPARAMS_ISSET_ID);
+  }
+
+  public void setOverrideManualScheduledParamsIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __OVERRIDEMANUALSCHEDULEDPARAMS_ISSET_ID, value);
+  }
+
+  public boolean isShareExperimentPublicly() {
+    return this.shareExperimentPublicly;
+  }
+
+  public void setShareExperimentPublicly(boolean shareExperimentPublicly) {
+    this.shareExperimentPublicly = shareExperimentPublicly;
+    setShareExperimentPubliclyIsSet(true);
+  }
+
+  public void unsetShareExperimentPublicly() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SHAREEXPERIMENTPUBLICLY_ISSET_ID);
+  }
+
+  /** Returns true if field shareExperimentPublicly is set (has been assigned a value) and false otherwise */
+  public boolean isSetShareExperimentPublicly() {
+    return EncodingUtils.testBit(__isset_bitfield, __SHAREEXPERIMENTPUBLICLY_ISSET_ID);
+  }
+
+  public void setShareExperimentPubliclyIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SHAREEXPERIMENTPUBLICLY_ISSET_ID, value);
+  }
+
+  public ComputationalResourceScheduling getComputationalResourceScheduling() {
+    return this.computationalResourceScheduling;
+  }
+
+  public void setComputationalResourceScheduling(ComputationalResourceScheduling computationalResourceScheduling) {
+    this.computationalResourceScheduling = computationalResourceScheduling;
+  }
+
+  public void unsetComputationalResourceScheduling() {
+    this.computationalResourceScheduling = null;
+  }
+
+  /** Returns true if field computationalResourceScheduling is set (has been assigned a value) and false otherwise */
+  public boolean isSetComputationalResourceScheduling() {
+    return this.computationalResourceScheduling != null;
+  }
+
+  public void setComputationalResourceSchedulingIsSet(boolean value) {
+    if (!value) {
+      this.computationalResourceScheduling = null;
+    }
+  }
+
+  public AdvancedInputDataHandling getAdvanceInputDataHandling() {
+    return this.advanceInputDataHandling;
+  }
+
+  public void setAdvanceInputDataHandling(AdvancedInputDataHandling advanceInputDataHandling) {
+    this.advanceInputDataHandling = advanceInputDataHandling;
+  }
+
+  public void unsetAdvanceInputDataHandling() {
+    this.advanceInputDataHandling = null;
+  }
+
+  /** Returns true if field advanceInputDataHandling is set (has been assigned a value) and false otherwise */
+  public boolean isSetAdvanceInputDataHandling() {
+    return this.advanceInputDataHandling != null;
+  }
+
+  public void setAdvanceInputDataHandlingIsSet(boolean value) {
+    if (!value) {
+      this.advanceInputDataHandling = null;
+    }
+  }
+
+  public AdvancedOutputDataHandling getAdvanceOutputDataHandling() {
+    return this.advanceOutputDataHandling;
+  }
+
+  public void setAdvanceOutputDataHandling(AdvancedOutputDataHandling advanceOutputDataHandling) {
+    this.advanceOutputDataHandling = advanceOutputDataHandling;
+  }
+
+  public void unsetAdvanceOutputDataHandling() {
+    this.advanceOutputDataHandling = null;
+  }
+
+  /** Returns true if field advanceOutputDataHandling is set (has been assigned a value) and false otherwise */
+  public boolean isSetAdvanceOutputDataHandling() {
+    return this.advanceOutputDataHandling != null;
+  }
+
+  public void setAdvanceOutputDataHandlingIsSet(boolean value) {
+    if (!value) {
+      this.advanceOutputDataHandling = null;
+    }
+  }
+
+  public QualityOfServiceParams getQosParams() {
+    return this.qosParams;
+  }
+
+  public void setQosParams(QualityOfServiceParams qosParams) {
+    this.qosParams = qosParams;
+  }
+
+  public void unsetQosParams() {
+    this.qosParams = null;
+  }
+
+  /** Returns true if field qosParams is set (has been assigned a value) and false otherwise */
+  public boolean isSetQosParams() {
+    return this.qosParams != null;
+  }
+
+  public void setQosParamsIsSet(boolean value) {
+    if (!value) {
+      this.qosParams = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case AIRAVATA_AUTO_SCHEDULE:
+      if (value == null) {
+        unsetAiravataAutoSchedule();
+      } else {
+        setAiravataAutoSchedule((Boolean)value);
+      }
+      break;
+
+    case OVERRIDE_MANUAL_SCHEDULED_PARAMS:
+      if (value == null) {
+        unsetOverrideManualScheduledParams();
+      } else {
+        setOverrideManualScheduledParams((Boolean)value);
+      }
+      break;
+
+    case SHARE_EXPERIMENT_PUBLICLY:
+      if (value == null) {
+        unsetShareExperimentPublicly();
+      } else {
+        setShareExperimentPublicly((Boolean)value);
+      }
+      break;
+
+    case COMPUTATIONAL_RESOURCE_SCHEDULING:
+      if (value == null) {
+        unsetComputationalResourceScheduling();
+      } else {
+        setComputationalResourceScheduling((ComputationalResourceScheduling)value);
+      }
+      break;
+
+    case ADVANCE_INPUT_DATA_HANDLING:
+      if (value == null) {
+        unsetAdvanceInputDataHandling();
+      } else {
+        setAdvanceInputDataHandling((AdvancedInputDataHandling)value);
+      }
+      break;
+
+    case ADVANCE_OUTPUT_DATA_HANDLING:
+      if (value == null) {
+        unsetAdvanceOutputDataHandling();
+      } else {
+        setAdvanceOutputDataHandling((AdvancedOutputDataHandling)value);
+      }
+      break;
+
+    case QOS_PARAMS:
+      if (value == null) {
+        unsetQosParams();
+      } else {
+        setQosParams((QualityOfServiceParams)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case AIRAVATA_AUTO_SCHEDULE:
+      return Boolean.valueOf(isAiravataAutoSchedule());
+
+    case OVERRIDE_MANUAL_SCHEDULED_PARAMS:
+      return Boolean.valueOf(isOverrideManualScheduledParams());
+
+    case SHARE_EXPERIMENT_PUBLICLY:
+      return Boolean.valueOf(isShareExperimentPublicly());
+
+    case COMPUTATIONAL_RESOURCE_SCHEDULING:
+      return getComputationalResourceScheduling();
+
+    case ADVANCE_INPUT_DATA_HANDLING:
+      return getAdvanceInputDataHandling();
+
+    case ADVANCE_OUTPUT_DATA_HANDLING:
+      return getAdvanceOutputDataHandling();
+
+    case QOS_PARAMS:
+      return getQosParams();
+
+    }
+    throw new IllegalStateException();
+  }
+
+  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  public boolean isSet(_Fields field) {
+    if (field == null) {
+      throw new IllegalArgumentException();
+    }
+
+    switch (field) {
+    case AIRAVATA_AUTO_SCHEDULE:
+      return isSetAiravataAutoSchedule();
+    case OVERRIDE_MANUAL_SCHEDULED_PARAMS:
+      return isSetOverrideManualScheduledParams();
+    case SHARE_EXPERIMENT_PUBLICLY:
+      return isSetShareExperimentPublicly();
+    case COMPUTATIONAL_RESOURCE_SCHEDULING:
+      return isSetComputationalResourceScheduling();
+    case ADVANCE_INPUT_DATA_HANDLING:
+      return isSetAdvanceInputDataHandling();
+    case ADVANCE_OUTPUT_DATA_HANDLING:
+      return isSetAdvanceOutputDataHandling();
+    case QOS_PARAMS:
+      return isSetQosParams();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof UserConfigurationData)
+      return this.equals((UserConfigurationData)that);
+    return false;
+  }
+
+  public boolean equals(UserConfigurationData that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_airavataAutoSchedule = true;
+    boolean that_present_airavataAutoSchedule = true;
+    if (this_present_airavataAutoSchedule || that_present_airavataAutoSchedule) {
+      if (!(this_present_airavataAutoSchedule && that_present_airavataAutoSchedule))
+        return false;
+      if (this.airavataAutoSchedule != that.airavataAutoSchedule)
+        return false;
+    }
+
+    boolean this_present_overrideManualScheduledParams = true;
+    boolean that_present_overrideManualScheduledParams = true;
+    if (this_present_overrideManualScheduledParams || that_present_overrideManualScheduledParams) {
+      if (!(this_present_overrideManualScheduledParams && that_present_overrideManualScheduledParams))
+        return false;
+      if (this.overrideManualScheduledParams != that.overrideManualScheduledParams)
+        return false;
+    }
+
+    boolean this_present_shareExperimentPublicly = true && this.isSetShareExperimentPublicly();
+    boolean that_present_shareExperimentPublicly = true && that.isSetShareExperimentPublicly();
+    if (this_present_shareExperimentPublicly || that_present_shareExperimentPublicly) {
+      if (!(this_present_shareExperimentPublicly && that_present_shareExperimentPublicly))
+        return false;
+      if (this.shareExperimentPublicly != that.shareExperimentPublicly)
+        return false;
+    }
+
+    boolean this_present_computationalResourceScheduling = true && this.isSetComputationalResourceScheduling();
+    boolean that_present_computationalResourceScheduling = true && that.isSetComputationalResourceScheduling();
+    if (this_present_computationalResourceScheduling || that_present_computationalResourceScheduling) {
+      if (!(this_present_computationalResourceScheduling && that_present_computationalResourceScheduling))
+        return false;
+      if (!this.computationalResourceScheduling.equals(that.computationalResourceScheduling))
+        return false;
+    }
+
+    boolean this_present_advanceInputDataHandling = true && this.isSetAdvanceInputDataHandling();
+    boolean that_present_advanceInputDataHandling = true && that.isSetAdvanceInputDataHandling();
+    if (this_present_advanceInputDataHandling || that_present_advanceInputDataHandling) {
+      if (!(this_present_advanceInputDataHandling && that_present_advanceInputDataHandling))
+        return false;
+      if (!this.advanceInputDataHandling.equals(that.advanceInputDataHandling))
+        return false;
+    }
+
+    boolean this_present_advanceOutputDataHandling = true && this.isSetAdvanceOutputDataHandling();
+    boolean that_present_advanceOutputDataHandling = true && that.isSetAdvanceOutputDataHandling();
+    if (this_present_advanceOutputDataHandling || that_present_advanceOutputDataHandling) {
+      if (!(this_present_advanceOutputDataHandling && that_present_advanceOutputDataHandling))
+        return false;
+      if (!this.advanceOutputDataHandling.equals(that.advanceOutputDataHandling))
+        return false;
+    }
+
+    boolean this_present_qosParams = true && this.isSetQosParams();
+    boolean that_present_qosParams = true && that.isSetQosParams();
+    if (this_present_qosParams || that_present_qosParams) {
+      if (!(this_present_qosParams && that_present_qosParams))
+        return false;
+      if (!this.qosParams.equals(that.qosParams))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  @Override
+  public int compareTo(UserConfigurationData other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetAiravataAutoSchedule()).compareTo(other.isSetAiravataAutoSchedule());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetAiravataAutoSchedule()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.airavataAutoSchedule, other.airavataAutoSchedule);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetOverrideManualScheduledParams()).compareTo(other.isSetOverrideManualScheduledParams());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetOverrideManualScheduledParams()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.overrideManualScheduledParams, other.overrideManualScheduledParams);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetShareExperimentPublicly()).compareTo(other.isSetShareExperimentPublicly());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetShareExperimentPublicly()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.shareExperimentPublicly, other.shareExperimentPublicly);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetComputationalResourceScheduling()).compareTo(other.isSetComputationalResourceScheduling());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetComputationalResourceScheduling()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.computationalResourceScheduling, other.computationalResourceScheduling);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetAdvanceInputDataHandling()).compareTo(other.isSetAdvanceInputDataHandling());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetAdvanceInputDataHandling()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.advanceInputDataHandling, other.advanceInputDataHandling);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetAdvanceOutputDataHandling()).compareTo(other.isSetAdvanceOutputDataHandling());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetAdvanceOutputDataHandling()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.advanceOutputDataHandling, other.advanceOutputDataHandling);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetQosParams()).compareTo(other.isSetQosParams());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetQosParams()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.qosParams, other.qosParams);
+      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("UserConfigurationData(");
+    boolean first = true;
+
+    sb.append("airavataAutoSchedule:");
+    sb.append(this.airavataAutoSchedule);
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("overrideManualScheduledParams:");
+    sb.append(this.overrideManualScheduledParams);
+    first = false;
+    if (isSetShareExperimentPublicly()) {
+      if (!first) sb.append(", ");
+      sb.append("shareExperimentPublicly:");
+      sb.append(this.shareExperimentPublicly);
+      first = false;
+    }
+    if (isSetComputationalResourceScheduling()) {
+      if (!first) sb.append(", ");
+      sb.append("computationalResourceScheduling:");
+      if (this.computationalResourceScheduling == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.computationalResourceScheduling);
+      }
+      first = false;
+    }
+    if (isSetAdvanceInputDataHandling()) {
+      if (!first) sb.append(", ");
+      sb.append("advanceInputDataHandling:");
+      if (this.advanceInputDataHandling == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.advanceInputDataHandling);
+      }
+      first = false;
+    }
+    if (isSetAdvanceOutputDataHandling()) {
+      if (!first) sb.append(", ");
+      sb.append("advanceOutputDataHandling:");
+      if (this.advanceOutputDataHandling == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.advanceOutputDataHandling);
+      }
+      first = false;
+    }
+    if (isSetQosParams()) {
+      if (!first) sb.append(", ");
+      sb.append("qosParams:");
+      if (this.qosParams == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.qosParams);
+      }
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!isSetAiravataAutoSchedule()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'airavataAutoSchedule' is unset! Struct:" + toString());
+    }
+
+    if (!isSetOverrideManualScheduledParams()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'overrideManualScheduledParams' is unset! Struct:" + toString());
+    }
+
+    // check for sub-struct validity
+    if (computationalResourceScheduling != null) {
+      computationalResourceScheduling.validate();
+    }
+    if (advanceInputDataHandling != null) {
+      advanceInputDataHandling.validate();
+    }
+    if (advanceOutputDataHandling != null) {
+      advanceOutputDataHandling.validate();
+    }
+    if (qosParams != null) {
+      qosParams.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 UserConfigurationDataStandardSchemeFactory implements SchemeFactory {
+    public UserConfigurationDataStandardScheme getScheme() {
+      return new UserConfigurationDataStandardScheme();
+    }
+  }
+
+  private static class UserConfigurationDataStandardScheme extends StandardScheme<UserConfigurationData> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, UserConfigurationData struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // AIRAVATA_AUTO_SCHEDULE
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.airavataAutoSchedule = iprot.readBool();
+              struct.setAiravataAutoScheduleIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // OVERRIDE_MANUAL_SCHEDULED_PARAMS
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.overrideManualScheduledParams = iprot.readBool();
+              struct.setOverrideManualScheduledParamsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // SHARE_EXPERIMENT_PUBLICLY
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.shareExperimentPublicly = iprot.readBool();
+              struct.setShareExperimentPubliclyIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // COMPUTATIONAL_RESOURCE_SCHEDULING
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.computationalResourceScheduling = new ComputationalResourceScheduling();
+              struct.computationalResourceScheduling.read(iprot);
+              struct.setComputationalResourceSchedulingIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // ADVANCE_INPUT_DATA_HANDLING
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.advanceInputDataHandling = new AdvancedInputDataHandling();
+              struct.advanceInputDataHandling.read(iprot);
+              struct.setAdvanceInputDataHandlingIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 6: // ADVANCE_OUTPUT_DATA_HANDLING
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.advanceOutputDataHandling = new AdvancedOutputDataHandling();
+              struct.advanceOutputDataHandling.read(iprot);
+              struct.setAdvanceOutputDataHandlingIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 7: // QOS_PARAMS
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.qosParams = new QualityOfServiceParams();
+              struct.qosParams.read(iprot);
+              struct.setQosParamsIsSet(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, UserConfigurationData struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      oprot.writeFieldBegin(AIRAVATA_AUTO_SCHEDULE_FIELD_DESC);
+      oprot.writeBool(struct.airavataAutoSchedule);
+      oprot.writeFieldEnd();
+      oprot.writeFieldBegin(OVERRIDE_MANUAL_SCHEDULED_PARAMS_FIELD_DESC);
+      oprot.writeBool(struct.overrideManualScheduledParams);
+      oprot.writeFieldEnd();
+      if (struct.isSetShareExperimentPublicly()) {
+        oprot.writeFieldBegin(SHARE_EXPERIMENT_PUBLICLY_FIELD_DESC);
+        oprot.writeBool(struct.shareExperimentPublicly);
+        oprot.writeFieldEnd();
+      }
+      if (struct.computationalResourceScheduling != null) {
+        if (struct.isSetComputationalResourceScheduling()) {
+          oprot.writeFieldBegin(COMPUTATIONAL_RESOURCE_SCHEDULING_FIELD_DESC);
+          struct.computationalResourceScheduling.write(oprot);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.advanceInputDataHandling != null) {
+        if (struct.isSetAdvanceInputDataHandling()) {
+          oprot.writeFieldBegin(ADVANCE_INPUT_DATA_HANDLING_FIELD_DESC);
+          struct.advanceInputDataHandling.write(oprot);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.advanceOutputDataHandling != null) {
+        if (struct.isSetAdvanceOutputDataHandling()) {
+          oprot.writeFieldBegin(ADVANCE_OUTPUT_DATA_HANDLING_FIELD_DESC);
+          struct.advanceOutputDataHandling.write(oprot);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.qosParams != null) {
+        if (struct.isSetQosParams()) {
+          oprot.writeFieldBegin(QOS_PARAMS_FIELD_DESC);
+          struct.qosParams.write(oprot);
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class UserConfigurationDataTupleSchemeFactory implements SchemeFactory {
+    public UserConfigurationDataTupleScheme getScheme() {
+      return new UserConfigurationDataTupleScheme();
+    }
+  }
+
+  private static class UserConfigurationDataTupleScheme extends TupleScheme<UserConfigurationData> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, UserConfigurationData struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeBool(struct.airavataAutoSchedule);
+      oprot.writeBool(struct.overrideManualScheduledParams);
+      BitSet optionals = new BitSet();
+      if (struct.isSetShareExperimentPublicly()) {
+        optionals.set(0);
+      }
+      if (struct.isSetComputationalResourceScheduling()) {
+        optionals.set(1);
+      }
+      if (struct.isSetAdvanceInputDataHandling()) {
+        optionals.set(2);
+      }
+      if (struct.isSetAdvanceOutputDataHandling()) {
+        optionals.set(3);
+      }
+      if (struct.isSetQosParams()) {
+        optionals.set(4);
+      }
+      oprot.writeBitSet(optionals, 5);
+      if (struct.isSetShareExperimentPublicly()) {
+        oprot.writeBool(struct.shareExperimentPublicly);
+      }
+      if (struct.isSetComputationalResourceScheduling()) {
+        struct.computationalResourceScheduling.write(oprot);
+      }
+      if (struct.isSetAdvanceInputDataHandling()) {
+        struct.advanceInputDataHandling.write(oprot);
+      }
+      if (struct.isSetAdvanceOutputDataHandling()) {
+        struct.advanceOutputDataHandling.write(oprot);
+      }
+      if (struct.isSetQosParams()) {
+        struct.qosParams.write(oprot);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, UserConfigurationData struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.airavataAutoSchedule = iprot.readBool();
+      struct.setAiravataAutoScheduleIsSet(true);
+      struct.overrideManualScheduledParams = iprot.readBool();
+      struct.setOverrideManualScheduledParamsIsSet(true);
+      BitSet incoming = iprot.readBitSet(5);
+      if (incoming.get(0)) {
+        struct.shareExperimentPublicly = iprot.readBool();
+        struct.setShareExperimentPubliclyIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.computationalResourceScheduling = new ComputationalResourceScheduling();
+        struct.computationalResourceScheduling.read(iprot);
+        struct.setComputationalResourceSchedulingIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.advanceInputDataHandling = new AdvancedInputDataHandling();
+        struct.advanceInputDataHandling.read(iprot);
+        struct.setAdvanceInputDataHandlingIsSet(true);
+      }
+      if (incoming.get(3)) {
+        struct.advanceOutputDataHandling = new AdvancedOutputDataHandling();
+        struct.advanceOutputDataHandling.read(iprot);
+        struct.setAdvanceOutputDataHandlingIsSet(true);
+      }
+      if (incoming.get(4)) {
+        struct.qosParams = new QualityOfServiceParams();
+        struct.qosParams.read(iprot);
+        struct.setQosParamsIsSet(true);
+      }
+    }
+  }
+
+}
+


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

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExecutionStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExecutionStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExecutionStatus.java
deleted file mode 100644
index 6b83d73..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExecutionStatus.java
+++ /dev/null
@@ -1,509 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@SuppressWarnings("all") public class ExecutionStatus implements org.apache.thrift.TBase<ExecutionStatus, ExecutionStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ExecutionStatus> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExecutionStatus");
-
-  private static final org.apache.thrift.protocol.TField EXECUTION_STATE_FIELD_DESC = new org.apache.thrift.protocol.TField("executionState", org.apache.thrift.protocol.TType.I32, (short)1);
-  private static final org.apache.thrift.protocol.TField TIME_OF_STATE_CHANGE_FIELD_DESC = new org.apache.thrift.protocol.TField("timeOfStateChange", org.apache.thrift.protocol.TType.I64, (short)2);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new ExecutionStatusStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new ExecutionStatusTupleSchemeFactory());
-  }
-
-  private ExecutionState executionState; // required
-  private long timeOfStateChange; // 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 {
-    /**
-     * 
-     * @see ExecutionState
-     */
-    EXECUTION_STATE((short)1, "executionState"),
-    TIME_OF_STATE_CHANGE((short)2, "timeOfStateChange");
-
-    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: // EXECUTION_STATE
-          return EXECUTION_STATE;
-        case 2: // TIME_OF_STATE_CHANGE
-          return TIME_OF_STATE_CHANGE;
-        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 __TIMEOFSTATECHANGE_ISSET_ID = 0;
-  private byte __isset_bitfield = 0;
-  private _Fields optionals[] = {_Fields.TIME_OF_STATE_CHANGE};
-  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.EXECUTION_STATE, new org.apache.thrift.meta_data.FieldMetaData("executionState", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, ExecutionState.class)));
-    tmpMap.put(_Fields.TIME_OF_STATE_CHANGE, new org.apache.thrift.meta_data.FieldMetaData("timeOfStateChange", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
-    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ExecutionStatus.class, metaDataMap);
-  }
-
-  public ExecutionStatus() {
-  }
-
-  public ExecutionStatus(
-    ExecutionState executionState)
-  {
-    this();
-    this.executionState = executionState;
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public ExecutionStatus(ExecutionStatus other) {
-    __isset_bitfield = other.__isset_bitfield;
-    if (other.isSetExecutionState()) {
-      this.executionState = other.executionState;
-    }
-    this.timeOfStateChange = other.timeOfStateChange;
-  }
-
-  public ExecutionStatus deepCopy() {
-    return new ExecutionStatus(this);
-  }
-
-  @Override
-  public void clear() {
-    this.executionState = null;
-    setTimeOfStateChangeIsSet(false);
-    this.timeOfStateChange = 0;
-  }
-
-  /**
-   * 
-   * @see ExecutionState
-   */
-  public ExecutionState getExecutionState() {
-    return this.executionState;
-  }
-
-  /**
-   * 
-   * @see ExecutionState
-   */
-  public void setExecutionState(ExecutionState executionState) {
-    this.executionState = executionState;
-  }
-
-  public void unsetExecutionState() {
-    this.executionState = null;
-  }
-
-  /** Returns true if field executionState is set (has been assigned a value) and false otherwise */
-  public boolean isSetExecutionState() {
-    return this.executionState != null;
-  }
-
-  public void setExecutionStateIsSet(boolean value) {
-    if (!value) {
-      this.executionState = null;
-    }
-  }
-
-  public long getTimeOfStateChange() {
-    return this.timeOfStateChange;
-  }
-
-  public void setTimeOfStateChange(long timeOfStateChange) {
-    this.timeOfStateChange = timeOfStateChange;
-    setTimeOfStateChangeIsSet(true);
-  }
-
-  public void unsetTimeOfStateChange() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
-  }
-
-  /** Returns true if field timeOfStateChange is set (has been assigned a value) and false otherwise */
-  public boolean isSetTimeOfStateChange() {
-    return EncodingUtils.testBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
-  }
-
-  public void setTimeOfStateChangeIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID, value);
-  }
-
-  public void setFieldValue(_Fields field, Object value) {
-    switch (field) {
-    case EXECUTION_STATE:
-      if (value == null) {
-        unsetExecutionState();
-      } else {
-        setExecutionState((ExecutionState)value);
-      }
-      break;
-
-    case TIME_OF_STATE_CHANGE:
-      if (value == null) {
-        unsetTimeOfStateChange();
-      } else {
-        setTimeOfStateChange((Long)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case EXECUTION_STATE:
-      return getExecutionState();
-
-    case TIME_OF_STATE_CHANGE:
-      return Long.valueOf(getTimeOfStateChange());
-
-    }
-    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 EXECUTION_STATE:
-      return isSetExecutionState();
-    case TIME_OF_STATE_CHANGE:
-      return isSetTimeOfStateChange();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof ExecutionStatus)
-      return this.equals((ExecutionStatus)that);
-    return false;
-  }
-
-  public boolean equals(ExecutionStatus that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_executionState = true && this.isSetExecutionState();
-    boolean that_present_executionState = true && that.isSetExecutionState();
-    if (this_present_executionState || that_present_executionState) {
-      if (!(this_present_executionState && that_present_executionState))
-        return false;
-      if (!this.executionState.equals(that.executionState))
-        return false;
-    }
-
-    boolean this_present_timeOfStateChange = true && this.isSetTimeOfStateChange();
-    boolean that_present_timeOfStateChange = true && that.isSetTimeOfStateChange();
-    if (this_present_timeOfStateChange || that_present_timeOfStateChange) {
-      if (!(this_present_timeOfStateChange && that_present_timeOfStateChange))
-        return false;
-      if (this.timeOfStateChange != that.timeOfStateChange)
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    return 0;
-  }
-
-  @Override
-  public int compareTo(ExecutionStatus other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = Boolean.valueOf(isSetExecutionState()).compareTo(other.isSetExecutionState());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetExecutionState()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.executionState, other.executionState);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetTimeOfStateChange()).compareTo(other.isSetTimeOfStateChange());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetTimeOfStateChange()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.timeOfStateChange, other.timeOfStateChange);
-      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("ExecutionStatus(");
-    boolean first = true;
-
-    sb.append("executionState:");
-    if (this.executionState == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.executionState);
-    }
-    first = false;
-    if (isSetTimeOfStateChange()) {
-      if (!first) sb.append(", ");
-      sb.append("timeOfStateChange:");
-      sb.append(this.timeOfStateChange);
-      first = false;
-    }
-    sb.append(")");
-    return sb.toString();
-  }
-
-  public void validate() throws org.apache.thrift.TException {
-    // check for required fields
-    if (!isSetExecutionState()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'executionState' 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 {
-      // 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 ExecutionStatusStandardSchemeFactory implements SchemeFactory {
-    public ExecutionStatusStandardScheme getScheme() {
-      return new ExecutionStatusStandardScheme();
-    }
-  }
-
-  private static class ExecutionStatusStandardScheme extends StandardScheme<ExecutionStatus> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, ExecutionStatus 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: // EXECUTION_STATE
-            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              struct.executionState = ExecutionState.findByValue(iprot.readI32());
-              struct.setExecutionStateIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 2: // TIME_OF_STATE_CHANGE
-            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
-              struct.timeOfStateChange = iprot.readI64();
-              struct.setTimeOfStateChangeIsSet(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, ExecutionStatus struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.executionState != null) {
-        oprot.writeFieldBegin(EXECUTION_STATE_FIELD_DESC);
-        oprot.writeI32(struct.executionState.getValue());
-        oprot.writeFieldEnd();
-      }
-      if (struct.isSetTimeOfStateChange()) {
-        oprot.writeFieldBegin(TIME_OF_STATE_CHANGE_FIELD_DESC);
-        oprot.writeI64(struct.timeOfStateChange);
-        oprot.writeFieldEnd();
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class ExecutionStatusTupleSchemeFactory implements SchemeFactory {
-    public ExecutionStatusTupleScheme getScheme() {
-      return new ExecutionStatusTupleScheme();
-    }
-  }
-
-  private static class ExecutionStatusTupleScheme extends TupleScheme<ExecutionStatus> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, ExecutionStatus struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      oprot.writeI32(struct.executionState.getValue());
-      BitSet optionals = new BitSet();
-      if (struct.isSetTimeOfStateChange()) {
-        optionals.set(0);
-      }
-      oprot.writeBitSet(optionals, 1);
-      if (struct.isSetTimeOfStateChange()) {
-        oprot.writeI64(struct.timeOfStateChange);
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, ExecutionStatus struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      struct.executionState = ExecutionState.findByValue(iprot.readI32());
-      struct.setExecutionStateIsSet(true);
-      BitSet incoming = iprot.readBitSet(1);
-      if (incoming.get(0)) {
-        struct.timeOfStateChange = iprot.readI64();
-        struct.setTimeOfStateChangeIsSet(true);
-      }
-    }
-  }
-
-}
-


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

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ConfigurationData.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ConfigurationData.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ConfigurationData.java
deleted file mode 100644
index 84aa9ee..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ConfigurationData.java
+++ /dev/null
@@ -1,1390 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A structure holding the experiment configuration.
- * 
- * 
- */
-@SuppressWarnings("all") public class ConfigurationData implements org.apache.thrift.TBase<ConfigurationData, ConfigurationData._Fields>, java.io.Serializable, Cloneable, Comparable<ConfigurationData> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ConfigurationData");
-
-  private static final org.apache.thrift.protocol.TField BASIC_METADATA_FIELD_DESC = new org.apache.thrift.protocol.TField("basicMetadata", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-  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)2);
-  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)3);
-  private static final org.apache.thrift.protocol.TField WORKFLOW_TEMPLATE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("workflowTemplateId", org.apache.thrift.protocol.TType.STRING, (short)4);
-  private static final org.apache.thrift.protocol.TField WORKLFOW_TEMPLATE_VERSION_FIELD_DESC = new org.apache.thrift.protocol.TField("worklfowTemplateVersion", org.apache.thrift.protocol.TType.STRING, (short)5);
-  private static final org.apache.thrift.protocol.TField EXPERIMENT_INPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentInputs", org.apache.thrift.protocol.TType.MAP, (short)6);
-  private static final org.apache.thrift.protocol.TField COMPUTATIONAL_RESOURCE_SCHEDULING_FIELD_DESC = new org.apache.thrift.protocol.TField("computationalResourceScheduling", org.apache.thrift.protocol.TType.STRUCT, (short)7);
-  private static final org.apache.thrift.protocol.TField ADVANCE_INPUT_DATA_HANDLING_FIELD_DESC = new org.apache.thrift.protocol.TField("advanceInputDataHandling", org.apache.thrift.protocol.TType.STRUCT, (short)8);
-  private static final org.apache.thrift.protocol.TField ADVANCE_OUTPUT_DATA_HANDLING_FIELD_DESC = new org.apache.thrift.protocol.TField("advanceOutputDataHandling", org.apache.thrift.protocol.TType.STRUCT, (short)9);
-  private static final org.apache.thrift.protocol.TField QOS_PARAMS_FIELD_DESC = new org.apache.thrift.protocol.TField("qosParams", org.apache.thrift.protocol.TType.STRUCT, (short)10);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new ConfigurationDataStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new ConfigurationDataTupleSchemeFactory());
-  }
-
-  private BasicMetadata basicMetadata; // optional
-  private String applicationId; // optional
-  private String applicationVersion; // optional
-  private String workflowTemplateId; // optional
-  private String worklfowTemplateVersion; // optional
-  private Map<String,String> experimentInputs; // optional
-  private ComputationalResourceScheduling computationalResourceScheduling; // optional
-  private AdvancedInputDataHandling advanceInputDataHandling; // optional
-  private AdvancedOutputDataHandling advanceOutputDataHandling; // optional
-  private QualityOfServiceParams qosParams; // 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 {
-    BASIC_METADATA((short)1, "basicMetadata"),
-    APPLICATION_ID((short)2, "applicationId"),
-    APPLICATION_VERSION((short)3, "applicationVersion"),
-    WORKFLOW_TEMPLATE_ID((short)4, "workflowTemplateId"),
-    WORKLFOW_TEMPLATE_VERSION((short)5, "worklfowTemplateVersion"),
-    EXPERIMENT_INPUTS((short)6, "experimentInputs"),
-    COMPUTATIONAL_RESOURCE_SCHEDULING((short)7, "computationalResourceScheduling"),
-    ADVANCE_INPUT_DATA_HANDLING((short)8, "advanceInputDataHandling"),
-    ADVANCE_OUTPUT_DATA_HANDLING((short)9, "advanceOutputDataHandling"),
-    QOS_PARAMS((short)10, "qosParams");
-
-    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: // BASIC_METADATA
-          return BASIC_METADATA;
-        case 2: // APPLICATION_ID
-          return APPLICATION_ID;
-        case 3: // APPLICATION_VERSION
-          return APPLICATION_VERSION;
-        case 4: // WORKFLOW_TEMPLATE_ID
-          return WORKFLOW_TEMPLATE_ID;
-        case 5: // WORKLFOW_TEMPLATE_VERSION
-          return WORKLFOW_TEMPLATE_VERSION;
-        case 6: // EXPERIMENT_INPUTS
-          return EXPERIMENT_INPUTS;
-        case 7: // COMPUTATIONAL_RESOURCE_SCHEDULING
-          return COMPUTATIONAL_RESOURCE_SCHEDULING;
-        case 8: // ADVANCE_INPUT_DATA_HANDLING
-          return ADVANCE_INPUT_DATA_HANDLING;
-        case 9: // ADVANCE_OUTPUT_DATA_HANDLING
-          return ADVANCE_OUTPUT_DATA_HANDLING;
-        case 10: // QOS_PARAMS
-          return QOS_PARAMS;
-        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.BASIC_METADATA,_Fields.APPLICATION_ID,_Fields.APPLICATION_VERSION,_Fields.WORKFLOW_TEMPLATE_ID,_Fields.WORKLFOW_TEMPLATE_VERSION,_Fields.EXPERIMENT_INPUTS,_Fields.COMPUTATIONAL_RESOURCE_SCHEDULING,_Fields.ADVANCE_INPUT_DATA_HANDLING,_Fields.ADVANCE_OUTPUT_DATA_HANDLING,_Fields.QOS_PARAMS};
-  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.BASIC_METADATA, new org.apache.thrift.meta_data.FieldMetaData("basicMetadata", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, BasicMetadata.class)));
-    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.WORKFLOW_TEMPLATE_ID, new org.apache.thrift.meta_data.FieldMetaData("workflowTemplateId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.WORKLFOW_TEMPLATE_VERSION, new org.apache.thrift.meta_data.FieldMetaData("worklfowTemplateVersion", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.EXPERIMENT_INPUTS, new org.apache.thrift.meta_data.FieldMetaData("experimentInputs", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
-            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
-            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
-    tmpMap.put(_Fields.COMPUTATIONAL_RESOURCE_SCHEDULING, new org.apache.thrift.meta_data.FieldMetaData("computationalResourceScheduling", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ComputationalResourceScheduling.class)));
-    tmpMap.put(_Fields.ADVANCE_INPUT_DATA_HANDLING, new org.apache.thrift.meta_data.FieldMetaData("advanceInputDataHandling", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, AdvancedInputDataHandling.class)));
-    tmpMap.put(_Fields.ADVANCE_OUTPUT_DATA_HANDLING, new org.apache.thrift.meta_data.FieldMetaData("advanceOutputDataHandling", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, AdvancedOutputDataHandling.class)));
-    tmpMap.put(_Fields.QOS_PARAMS, new org.apache.thrift.meta_data.FieldMetaData("qosParams", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, QualityOfServiceParams.class)));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
-    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ConfigurationData.class, metaDataMap);
-  }
-
-  public ConfigurationData() {
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public ConfigurationData(ConfigurationData other) {
-    if (other.isSetBasicMetadata()) {
-      this.basicMetadata = new BasicMetadata(other.basicMetadata);
-    }
-    if (other.isSetApplicationId()) {
-      this.applicationId = other.applicationId;
-    }
-    if (other.isSetApplicationVersion()) {
-      this.applicationVersion = other.applicationVersion;
-    }
-    if (other.isSetWorkflowTemplateId()) {
-      this.workflowTemplateId = other.workflowTemplateId;
-    }
-    if (other.isSetWorklfowTemplateVersion()) {
-      this.worklfowTemplateVersion = other.worklfowTemplateVersion;
-    }
-    if (other.isSetExperimentInputs()) {
-      Map<String,String> __this__experimentInputs = new HashMap<String,String>(other.experimentInputs);
-      this.experimentInputs = __this__experimentInputs;
-    }
-    if (other.isSetComputationalResourceScheduling()) {
-      this.computationalResourceScheduling = new ComputationalResourceScheduling(other.computationalResourceScheduling);
-    }
-    if (other.isSetAdvanceInputDataHandling()) {
-      this.advanceInputDataHandling = new AdvancedInputDataHandling(other.advanceInputDataHandling);
-    }
-    if (other.isSetAdvanceOutputDataHandling()) {
-      this.advanceOutputDataHandling = new AdvancedOutputDataHandling(other.advanceOutputDataHandling);
-    }
-    if (other.isSetQosParams()) {
-      this.qosParams = new QualityOfServiceParams(other.qosParams);
-    }
-  }
-
-  public ConfigurationData deepCopy() {
-    return new ConfigurationData(this);
-  }
-
-  @Override
-  public void clear() {
-    this.basicMetadata = null;
-    this.applicationId = null;
-    this.applicationVersion = null;
-    this.workflowTemplateId = null;
-    this.worklfowTemplateVersion = null;
-    this.experimentInputs = null;
-    this.computationalResourceScheduling = null;
-    this.advanceInputDataHandling = null;
-    this.advanceOutputDataHandling = null;
-    this.qosParams = null;
-  }
-
-  public BasicMetadata getBasicMetadata() {
-    return this.basicMetadata;
-  }
-
-  public void setBasicMetadata(BasicMetadata basicMetadata) {
-    this.basicMetadata = basicMetadata;
-  }
-
-  public void unsetBasicMetadata() {
-    this.basicMetadata = null;
-  }
-
-  /** Returns true if field basicMetadata is set (has been assigned a value) and false otherwise */
-  public boolean isSetBasicMetadata() {
-    return this.basicMetadata != null;
-  }
-
-  public void setBasicMetadataIsSet(boolean value) {
-    if (!value) {
-      this.basicMetadata = null;
-    }
-  }
-
-  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 String getWorkflowTemplateId() {
-    return this.workflowTemplateId;
-  }
-
-  public void setWorkflowTemplateId(String workflowTemplateId) {
-    this.workflowTemplateId = workflowTemplateId;
-  }
-
-  public void unsetWorkflowTemplateId() {
-    this.workflowTemplateId = null;
-  }
-
-  /** Returns true if field workflowTemplateId is set (has been assigned a value) and false otherwise */
-  public boolean isSetWorkflowTemplateId() {
-    return this.workflowTemplateId != null;
-  }
-
-  public void setWorkflowTemplateIdIsSet(boolean value) {
-    if (!value) {
-      this.workflowTemplateId = null;
-    }
-  }
-
-  public String getWorklfowTemplateVersion() {
-    return this.worklfowTemplateVersion;
-  }
-
-  public void setWorklfowTemplateVersion(String worklfowTemplateVersion) {
-    this.worklfowTemplateVersion = worklfowTemplateVersion;
-  }
-
-  public void unsetWorklfowTemplateVersion() {
-    this.worklfowTemplateVersion = null;
-  }
-
-  /** Returns true if field worklfowTemplateVersion is set (has been assigned a value) and false otherwise */
-  public boolean isSetWorklfowTemplateVersion() {
-    return this.worklfowTemplateVersion != null;
-  }
-
-  public void setWorklfowTemplateVersionIsSet(boolean value) {
-    if (!value) {
-      this.worklfowTemplateVersion = null;
-    }
-  }
-
-  public int getExperimentInputsSize() {
-    return (this.experimentInputs == null) ? 0 : this.experimentInputs.size();
-  }
-
-  public void putToExperimentInputs(String key, String val) {
-    if (this.experimentInputs == null) {
-      this.experimentInputs = new HashMap<String,String>();
-    }
-    this.experimentInputs.put(key, val);
-  }
-
-  public Map<String,String> getExperimentInputs() {
-    return this.experimentInputs;
-  }
-
-  public void setExperimentInputs(Map<String,String> experimentInputs) {
-    this.experimentInputs = experimentInputs;
-  }
-
-  public void unsetExperimentInputs() {
-    this.experimentInputs = null;
-  }
-
-  /** Returns true if field experimentInputs is set (has been assigned a value) and false otherwise */
-  public boolean isSetExperimentInputs() {
-    return this.experimentInputs != null;
-  }
-
-  public void setExperimentInputsIsSet(boolean value) {
-    if (!value) {
-      this.experimentInputs = null;
-    }
-  }
-
-  public ComputationalResourceScheduling getComputationalResourceScheduling() {
-    return this.computationalResourceScheduling;
-  }
-
-  public void setComputationalResourceScheduling(ComputationalResourceScheduling computationalResourceScheduling) {
-    this.computationalResourceScheduling = computationalResourceScheduling;
-  }
-
-  public void unsetComputationalResourceScheduling() {
-    this.computationalResourceScheduling = null;
-  }
-
-  /** Returns true if field computationalResourceScheduling is set (has been assigned a value) and false otherwise */
-  public boolean isSetComputationalResourceScheduling() {
-    return this.computationalResourceScheduling != null;
-  }
-
-  public void setComputationalResourceSchedulingIsSet(boolean value) {
-    if (!value) {
-      this.computationalResourceScheduling = null;
-    }
-  }
-
-  public AdvancedInputDataHandling getAdvanceInputDataHandling() {
-    return this.advanceInputDataHandling;
-  }
-
-  public void setAdvanceInputDataHandling(AdvancedInputDataHandling advanceInputDataHandling) {
-    this.advanceInputDataHandling = advanceInputDataHandling;
-  }
-
-  public void unsetAdvanceInputDataHandling() {
-    this.advanceInputDataHandling = null;
-  }
-
-  /** Returns true if field advanceInputDataHandling is set (has been assigned a value) and false otherwise */
-  public boolean isSetAdvanceInputDataHandling() {
-    return this.advanceInputDataHandling != null;
-  }
-
-  public void setAdvanceInputDataHandlingIsSet(boolean value) {
-    if (!value) {
-      this.advanceInputDataHandling = null;
-    }
-  }
-
-  public AdvancedOutputDataHandling getAdvanceOutputDataHandling() {
-    return this.advanceOutputDataHandling;
-  }
-
-  public void setAdvanceOutputDataHandling(AdvancedOutputDataHandling advanceOutputDataHandling) {
-    this.advanceOutputDataHandling = advanceOutputDataHandling;
-  }
-
-  public void unsetAdvanceOutputDataHandling() {
-    this.advanceOutputDataHandling = null;
-  }
-
-  /** Returns true if field advanceOutputDataHandling is set (has been assigned a value) and false otherwise */
-  public boolean isSetAdvanceOutputDataHandling() {
-    return this.advanceOutputDataHandling != null;
-  }
-
-  public void setAdvanceOutputDataHandlingIsSet(boolean value) {
-    if (!value) {
-      this.advanceOutputDataHandling = null;
-    }
-  }
-
-  public QualityOfServiceParams getQosParams() {
-    return this.qosParams;
-  }
-
-  public void setQosParams(QualityOfServiceParams qosParams) {
-    this.qosParams = qosParams;
-  }
-
-  public void unsetQosParams() {
-    this.qosParams = null;
-  }
-
-  /** Returns true if field qosParams is set (has been assigned a value) and false otherwise */
-  public boolean isSetQosParams() {
-    return this.qosParams != null;
-  }
-
-  public void setQosParamsIsSet(boolean value) {
-    if (!value) {
-      this.qosParams = null;
-    }
-  }
-
-  public void setFieldValue(_Fields field, Object value) {
-    switch (field) {
-    case BASIC_METADATA:
-      if (value == null) {
-        unsetBasicMetadata();
-      } else {
-        setBasicMetadata((BasicMetadata)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 WORKFLOW_TEMPLATE_ID:
-      if (value == null) {
-        unsetWorkflowTemplateId();
-      } else {
-        setWorkflowTemplateId((String)value);
-      }
-      break;
-
-    case WORKLFOW_TEMPLATE_VERSION:
-      if (value == null) {
-        unsetWorklfowTemplateVersion();
-      } else {
-        setWorklfowTemplateVersion((String)value);
-      }
-      break;
-
-    case EXPERIMENT_INPUTS:
-      if (value == null) {
-        unsetExperimentInputs();
-      } else {
-        setExperimentInputs((Map<String,String>)value);
-      }
-      break;
-
-    case COMPUTATIONAL_RESOURCE_SCHEDULING:
-      if (value == null) {
-        unsetComputationalResourceScheduling();
-      } else {
-        setComputationalResourceScheduling((ComputationalResourceScheduling)value);
-      }
-      break;
-
-    case ADVANCE_INPUT_DATA_HANDLING:
-      if (value == null) {
-        unsetAdvanceInputDataHandling();
-      } else {
-        setAdvanceInputDataHandling((AdvancedInputDataHandling)value);
-      }
-      break;
-
-    case ADVANCE_OUTPUT_DATA_HANDLING:
-      if (value == null) {
-        unsetAdvanceOutputDataHandling();
-      } else {
-        setAdvanceOutputDataHandling((AdvancedOutputDataHandling)value);
-      }
-      break;
-
-    case QOS_PARAMS:
-      if (value == null) {
-        unsetQosParams();
-      } else {
-        setQosParams((QualityOfServiceParams)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case BASIC_METADATA:
-      return getBasicMetadata();
-
-    case APPLICATION_ID:
-      return getApplicationId();
-
-    case APPLICATION_VERSION:
-      return getApplicationVersion();
-
-    case WORKFLOW_TEMPLATE_ID:
-      return getWorkflowTemplateId();
-
-    case WORKLFOW_TEMPLATE_VERSION:
-      return getWorklfowTemplateVersion();
-
-    case EXPERIMENT_INPUTS:
-      return getExperimentInputs();
-
-    case COMPUTATIONAL_RESOURCE_SCHEDULING:
-      return getComputationalResourceScheduling();
-
-    case ADVANCE_INPUT_DATA_HANDLING:
-      return getAdvanceInputDataHandling();
-
-    case ADVANCE_OUTPUT_DATA_HANDLING:
-      return getAdvanceOutputDataHandling();
-
-    case QOS_PARAMS:
-      return getQosParams();
-
-    }
-    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 BASIC_METADATA:
-      return isSetBasicMetadata();
-    case APPLICATION_ID:
-      return isSetApplicationId();
-    case APPLICATION_VERSION:
-      return isSetApplicationVersion();
-    case WORKFLOW_TEMPLATE_ID:
-      return isSetWorkflowTemplateId();
-    case WORKLFOW_TEMPLATE_VERSION:
-      return isSetWorklfowTemplateVersion();
-    case EXPERIMENT_INPUTS:
-      return isSetExperimentInputs();
-    case COMPUTATIONAL_RESOURCE_SCHEDULING:
-      return isSetComputationalResourceScheduling();
-    case ADVANCE_INPUT_DATA_HANDLING:
-      return isSetAdvanceInputDataHandling();
-    case ADVANCE_OUTPUT_DATA_HANDLING:
-      return isSetAdvanceOutputDataHandling();
-    case QOS_PARAMS:
-      return isSetQosParams();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof ConfigurationData)
-      return this.equals((ConfigurationData)that);
-    return false;
-  }
-
-  public boolean equals(ConfigurationData that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_basicMetadata = true && this.isSetBasicMetadata();
-    boolean that_present_basicMetadata = true && that.isSetBasicMetadata();
-    if (this_present_basicMetadata || that_present_basicMetadata) {
-      if (!(this_present_basicMetadata && that_present_basicMetadata))
-        return false;
-      if (!this.basicMetadata.equals(that.basicMetadata))
-        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_workflowTemplateId = true && this.isSetWorkflowTemplateId();
-    boolean that_present_workflowTemplateId = true && that.isSetWorkflowTemplateId();
-    if (this_present_workflowTemplateId || that_present_workflowTemplateId) {
-      if (!(this_present_workflowTemplateId && that_present_workflowTemplateId))
-        return false;
-      if (!this.workflowTemplateId.equals(that.workflowTemplateId))
-        return false;
-    }
-
-    boolean this_present_worklfowTemplateVersion = true && this.isSetWorklfowTemplateVersion();
-    boolean that_present_worklfowTemplateVersion = true && that.isSetWorklfowTemplateVersion();
-    if (this_present_worklfowTemplateVersion || that_present_worklfowTemplateVersion) {
-      if (!(this_present_worklfowTemplateVersion && that_present_worklfowTemplateVersion))
-        return false;
-      if (!this.worklfowTemplateVersion.equals(that.worklfowTemplateVersion))
-        return false;
-    }
-
-    boolean this_present_experimentInputs = true && this.isSetExperimentInputs();
-    boolean that_present_experimentInputs = true && that.isSetExperimentInputs();
-    if (this_present_experimentInputs || that_present_experimentInputs) {
-      if (!(this_present_experimentInputs && that_present_experimentInputs))
-        return false;
-      if (!this.experimentInputs.equals(that.experimentInputs))
-        return false;
-    }
-
-    boolean this_present_computationalResourceScheduling = true && this.isSetComputationalResourceScheduling();
-    boolean that_present_computationalResourceScheduling = true && that.isSetComputationalResourceScheduling();
-    if (this_present_computationalResourceScheduling || that_present_computationalResourceScheduling) {
-      if (!(this_present_computationalResourceScheduling && that_present_computationalResourceScheduling))
-        return false;
-      if (!this.computationalResourceScheduling.equals(that.computationalResourceScheduling))
-        return false;
-    }
-
-    boolean this_present_advanceInputDataHandling = true && this.isSetAdvanceInputDataHandling();
-    boolean that_present_advanceInputDataHandling = true && that.isSetAdvanceInputDataHandling();
-    if (this_present_advanceInputDataHandling || that_present_advanceInputDataHandling) {
-      if (!(this_present_advanceInputDataHandling && that_present_advanceInputDataHandling))
-        return false;
-      if (!this.advanceInputDataHandling.equals(that.advanceInputDataHandling))
-        return false;
-    }
-
-    boolean this_present_advanceOutputDataHandling = true && this.isSetAdvanceOutputDataHandling();
-    boolean that_present_advanceOutputDataHandling = true && that.isSetAdvanceOutputDataHandling();
-    if (this_present_advanceOutputDataHandling || that_present_advanceOutputDataHandling) {
-      if (!(this_present_advanceOutputDataHandling && that_present_advanceOutputDataHandling))
-        return false;
-      if (!this.advanceOutputDataHandling.equals(that.advanceOutputDataHandling))
-        return false;
-    }
-
-    boolean this_present_qosParams = true && this.isSetQosParams();
-    boolean that_present_qosParams = true && that.isSetQosParams();
-    if (this_present_qosParams || that_present_qosParams) {
-      if (!(this_present_qosParams && that_present_qosParams))
-        return false;
-      if (!this.qosParams.equals(that.qosParams))
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    return 0;
-  }
-
-  @Override
-  public int compareTo(ConfigurationData other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = Boolean.valueOf(isSetBasicMetadata()).compareTo(other.isSetBasicMetadata());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetBasicMetadata()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.basicMetadata, other.basicMetadata);
-      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(isSetWorkflowTemplateId()).compareTo(other.isSetWorkflowTemplateId());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetWorkflowTemplateId()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.workflowTemplateId, other.workflowTemplateId);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetWorklfowTemplateVersion()).compareTo(other.isSetWorklfowTemplateVersion());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetWorklfowTemplateVersion()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.worklfowTemplateVersion, other.worklfowTemplateVersion);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetExperimentInputs()).compareTo(other.isSetExperimentInputs());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetExperimentInputs()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentInputs, other.experimentInputs);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetComputationalResourceScheduling()).compareTo(other.isSetComputationalResourceScheduling());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetComputationalResourceScheduling()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.computationalResourceScheduling, other.computationalResourceScheduling);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetAdvanceInputDataHandling()).compareTo(other.isSetAdvanceInputDataHandling());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetAdvanceInputDataHandling()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.advanceInputDataHandling, other.advanceInputDataHandling);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetAdvanceOutputDataHandling()).compareTo(other.isSetAdvanceOutputDataHandling());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetAdvanceOutputDataHandling()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.advanceOutputDataHandling, other.advanceOutputDataHandling);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetQosParams()).compareTo(other.isSetQosParams());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetQosParams()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.qosParams, other.qosParams);
-      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("ConfigurationData(");
-    boolean first = true;
-
-    if (isSetBasicMetadata()) {
-      sb.append("basicMetadata:");
-      if (this.basicMetadata == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.basicMetadata);
-      }
-      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 (isSetWorkflowTemplateId()) {
-      if (!first) sb.append(", ");
-      sb.append("workflowTemplateId:");
-      if (this.workflowTemplateId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.workflowTemplateId);
-      }
-      first = false;
-    }
-    if (isSetWorklfowTemplateVersion()) {
-      if (!first) sb.append(", ");
-      sb.append("worklfowTemplateVersion:");
-      if (this.worklfowTemplateVersion == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.worklfowTemplateVersion);
-      }
-      first = false;
-    }
-    if (isSetExperimentInputs()) {
-      if (!first) sb.append(", ");
-      sb.append("experimentInputs:");
-      if (this.experimentInputs == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.experimentInputs);
-      }
-      first = false;
-    }
-    if (isSetComputationalResourceScheduling()) {
-      if (!first) sb.append(", ");
-      sb.append("computationalResourceScheduling:");
-      if (this.computationalResourceScheduling == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.computationalResourceScheduling);
-      }
-      first = false;
-    }
-    if (isSetAdvanceInputDataHandling()) {
-      if (!first) sb.append(", ");
-      sb.append("advanceInputDataHandling:");
-      if (this.advanceInputDataHandling == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.advanceInputDataHandling);
-      }
-      first = false;
-    }
-    if (isSetAdvanceOutputDataHandling()) {
-      if (!first) sb.append(", ");
-      sb.append("advanceOutputDataHandling:");
-      if (this.advanceOutputDataHandling == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.advanceOutputDataHandling);
-      }
-      first = false;
-    }
-    if (isSetQosParams()) {
-      if (!first) sb.append(", ");
-      sb.append("qosParams:");
-      if (this.qosParams == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.qosParams);
-      }
-      first = false;
-    }
-    sb.append(")");
-    return sb.toString();
-  }
-
-  public void validate() throws org.apache.thrift.TException {
-    // check for required fields
-    // check for sub-struct validity
-    if (basicMetadata != null) {
-      basicMetadata.validate();
-    }
-    if (computationalResourceScheduling != null) {
-      computationalResourceScheduling.validate();
-    }
-    if (advanceInputDataHandling != null) {
-      advanceInputDataHandling.validate();
-    }
-    if (advanceOutputDataHandling != null) {
-      advanceOutputDataHandling.validate();
-    }
-    if (qosParams != null) {
-      qosParams.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 {
-      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 ConfigurationDataStandardSchemeFactory implements SchemeFactory {
-    public ConfigurationDataStandardScheme getScheme() {
-      return new ConfigurationDataStandardScheme();
-    }
-  }
-
-  private static class ConfigurationDataStandardScheme extends StandardScheme<ConfigurationData> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, ConfigurationData 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: // BASIC_METADATA
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-              struct.basicMetadata = new BasicMetadata();
-              struct.basicMetadata.read(iprot);
-              struct.setBasicMetadataIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 2: // 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 3: // 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 4: // WORKFLOW_TEMPLATE_ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.workflowTemplateId = iprot.readString();
-              struct.setWorkflowTemplateIdIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 5: // WORKLFOW_TEMPLATE_VERSION
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.worklfowTemplateVersion = iprot.readString();
-              struct.setWorklfowTemplateVersionIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 6: // EXPERIMENT_INPUTS
-            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
-              {
-                org.apache.thrift.protocol.TMap _map0 = iprot.readMapBegin();
-                struct.experimentInputs = new HashMap<String,String>(2*_map0.size);
-                for (int _i1 = 0; _i1 < _map0.size; ++_i1)
-                {
-                  String _key2;
-                  String _val3;
-                  _key2 = iprot.readString();
-                  _val3 = iprot.readString();
-                  struct.experimentInputs.put(_key2, _val3);
-                }
-                iprot.readMapEnd();
-              }
-              struct.setExperimentInputsIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 7: // COMPUTATIONAL_RESOURCE_SCHEDULING
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-              struct.computationalResourceScheduling = new ComputationalResourceScheduling();
-              struct.computationalResourceScheduling.read(iprot);
-              struct.setComputationalResourceSchedulingIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 8: // ADVANCE_INPUT_DATA_HANDLING
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-              struct.advanceInputDataHandling = new AdvancedInputDataHandling();
-              struct.advanceInputDataHandling.read(iprot);
-              struct.setAdvanceInputDataHandlingIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 9: // ADVANCE_OUTPUT_DATA_HANDLING
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-              struct.advanceOutputDataHandling = new AdvancedOutputDataHandling();
-              struct.advanceOutputDataHandling.read(iprot);
-              struct.setAdvanceOutputDataHandlingIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 10: // QOS_PARAMS
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-              struct.qosParams = new QualityOfServiceParams();
-              struct.qosParams.read(iprot);
-              struct.setQosParamsIsSet(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, ConfigurationData struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.basicMetadata != null) {
-        if (struct.isSetBasicMetadata()) {
-          oprot.writeFieldBegin(BASIC_METADATA_FIELD_DESC);
-          struct.basicMetadata.write(oprot);
-          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.workflowTemplateId != null) {
-        if (struct.isSetWorkflowTemplateId()) {
-          oprot.writeFieldBegin(WORKFLOW_TEMPLATE_ID_FIELD_DESC);
-          oprot.writeString(struct.workflowTemplateId);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.worklfowTemplateVersion != null) {
-        if (struct.isSetWorklfowTemplateVersion()) {
-          oprot.writeFieldBegin(WORKLFOW_TEMPLATE_VERSION_FIELD_DESC);
-          oprot.writeString(struct.worklfowTemplateVersion);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.experimentInputs != null) {
-        if (struct.isSetExperimentInputs()) {
-          oprot.writeFieldBegin(EXPERIMENT_INPUTS_FIELD_DESC);
-          {
-            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.experimentInputs.size()));
-            for (Map.Entry<String, String> _iter4 : struct.experimentInputs.entrySet())
-            {
-              oprot.writeString(_iter4.getKey());
-              oprot.writeString(_iter4.getValue());
-            }
-            oprot.writeMapEnd();
-          }
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.computationalResourceScheduling != null) {
-        if (struct.isSetComputationalResourceScheduling()) {
-          oprot.writeFieldBegin(COMPUTATIONAL_RESOURCE_SCHEDULING_FIELD_DESC);
-          struct.computationalResourceScheduling.write(oprot);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.advanceInputDataHandling != null) {
-        if (struct.isSetAdvanceInputDataHandling()) {
-          oprot.writeFieldBegin(ADVANCE_INPUT_DATA_HANDLING_FIELD_DESC);
-          struct.advanceInputDataHandling.write(oprot);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.advanceOutputDataHandling != null) {
-        if (struct.isSetAdvanceOutputDataHandling()) {
-          oprot.writeFieldBegin(ADVANCE_OUTPUT_DATA_HANDLING_FIELD_DESC);
-          struct.advanceOutputDataHandling.write(oprot);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.qosParams != null) {
-        if (struct.isSetQosParams()) {
-          oprot.writeFieldBegin(QOS_PARAMS_FIELD_DESC);
-          struct.qosParams.write(oprot);
-          oprot.writeFieldEnd();
-        }
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class ConfigurationDataTupleSchemeFactory implements SchemeFactory {
-    public ConfigurationDataTupleScheme getScheme() {
-      return new ConfigurationDataTupleScheme();
-    }
-  }
-
-  private static class ConfigurationDataTupleScheme extends TupleScheme<ConfigurationData> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, ConfigurationData struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      BitSet optionals = new BitSet();
-      if (struct.isSetBasicMetadata()) {
-        optionals.set(0);
-      }
-      if (struct.isSetApplicationId()) {
-        optionals.set(1);
-      }
-      if (struct.isSetApplicationVersion()) {
-        optionals.set(2);
-      }
-      if (struct.isSetWorkflowTemplateId()) {
-        optionals.set(3);
-      }
-      if (struct.isSetWorklfowTemplateVersion()) {
-        optionals.set(4);
-      }
-      if (struct.isSetExperimentInputs()) {
-        optionals.set(5);
-      }
-      if (struct.isSetComputationalResourceScheduling()) {
-        optionals.set(6);
-      }
-      if (struct.isSetAdvanceInputDataHandling()) {
-        optionals.set(7);
-      }
-      if (struct.isSetAdvanceOutputDataHandling()) {
-        optionals.set(8);
-      }
-      if (struct.isSetQosParams()) {
-        optionals.set(9);
-      }
-      oprot.writeBitSet(optionals, 10);
-      if (struct.isSetBasicMetadata()) {
-        struct.basicMetadata.write(oprot);
-      }
-      if (struct.isSetApplicationId()) {
-        oprot.writeString(struct.applicationId);
-      }
-      if (struct.isSetApplicationVersion()) {
-        oprot.writeString(struct.applicationVersion);
-      }
-      if (struct.isSetWorkflowTemplateId()) {
-        oprot.writeString(struct.workflowTemplateId);
-      }
-      if (struct.isSetWorklfowTemplateVersion()) {
-        oprot.writeString(struct.worklfowTemplateVersion);
-      }
-      if (struct.isSetExperimentInputs()) {
-        {
-          oprot.writeI32(struct.experimentInputs.size());
-          for (Map.Entry<String, String> _iter5 : struct.experimentInputs.entrySet())
-          {
-            oprot.writeString(_iter5.getKey());
-            oprot.writeString(_iter5.getValue());
-          }
-        }
-      }
-      if (struct.isSetComputationalResourceScheduling()) {
-        struct.computationalResourceScheduling.write(oprot);
-      }
-      if (struct.isSetAdvanceInputDataHandling()) {
-        struct.advanceInputDataHandling.write(oprot);
-      }
-      if (struct.isSetAdvanceOutputDataHandling()) {
-        struct.advanceOutputDataHandling.write(oprot);
-      }
-      if (struct.isSetQosParams()) {
-        struct.qosParams.write(oprot);
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, ConfigurationData struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(10);
-      if (incoming.get(0)) {
-        struct.basicMetadata = new BasicMetadata();
-        struct.basicMetadata.read(iprot);
-        struct.setBasicMetadataIsSet(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)) {
-        struct.workflowTemplateId = iprot.readString();
-        struct.setWorkflowTemplateIdIsSet(true);
-      }
-      if (incoming.get(4)) {
-        struct.worklfowTemplateVersion = iprot.readString();
-        struct.setWorklfowTemplateVersionIsSet(true);
-      }
-      if (incoming.get(5)) {
-        {
-          org.apache.thrift.protocol.TMap _map6 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.experimentInputs = new HashMap<String,String>(2*_map6.size);
-          for (int _i7 = 0; _i7 < _map6.size; ++_i7)
-          {
-            String _key8;
-            String _val9;
-            _key8 = iprot.readString();
-            _val9 = iprot.readString();
-            struct.experimentInputs.put(_key8, _val9);
-          }
-        }
-        struct.setExperimentInputsIsSet(true);
-      }
-      if (incoming.get(6)) {
-        struct.computationalResourceScheduling = new ComputationalResourceScheduling();
-        struct.computationalResourceScheduling.read(iprot);
-        struct.setComputationalResourceSchedulingIsSet(true);
-      }
-      if (incoming.get(7)) {
-        struct.advanceInputDataHandling = new AdvancedInputDataHandling();
-        struct.advanceInputDataHandling.read(iprot);
-        struct.setAdvanceInputDataHandlingIsSet(true);
-      }
-      if (incoming.get(8)) {
-        struct.advanceOutputDataHandling = new AdvancedOutputDataHandling();
-        struct.advanceOutputDataHandling.read(iprot);
-        struct.setAdvanceOutputDataHandlingIsSet(true);
-      }
-      if (incoming.get(9)) {
-        struct.qosParams = new QualityOfServiceParams();
-        struct.qosParams.read(iprot);
-        struct.setQosParamsIsSet(true);
-      }
-    }
-  }
-
-}
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/CorrectiveAction.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/CorrectiveAction.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/CorrectiveAction.java
deleted file mode 100644
index fa62d9d..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/CorrectiveAction.java
+++ /dev/null
@@ -1,64 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-
-import 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/experiment/DataObjectType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/DataObjectType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/DataObjectType.java
deleted file mode 100644
index f35b231..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/DataObjectType.java
+++ /dev/null
@@ -1,706 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A structure  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);
-      }
-    }
-  }
-
-}
-


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

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ActionableGroup.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ActionableGroup.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ActionableGroup.java
deleted file mode 100644
index e994bb3..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ActionableGroup.java
+++ /dev/null
@@ -1,70 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
-@SuppressWarnings("all") public enum ActionableGroup implements org.apache.thrift.TEnum {
-  RESOURCE_ADMINS(0),
-  AIRAVATA_ADMINS(1),
-  GATEWAYS_ADMINS(2),
-  USER(3),
-  CANNOT_BE_DETERMINED(4);
-
-  private final int value;
-
-  private ActionableGroup(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 ActionableGroup findByValue(int value) { 
-    switch (value) {
-      case 0:
-        return RESOURCE_ADMINS;
-      case 1:
-        return AIRAVATA_ADMINS;
-      case 2:
-        return GATEWAYS_ADMINS;
-      case 3:
-        return USER;
-      case 4:
-        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/experiment/AdvancedInputDataHandling.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/AdvancedInputDataHandling.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/AdvancedInputDataHandling.java
deleted file mode 100644
index 1ea9015..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/AdvancedInputDataHandling.java
+++ /dev/null
@@ -1,700 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A structure holding specified input data handling.
- * 
- */
-@SuppressWarnings("all") public class AdvancedInputDataHandling implements org.apache.thrift.TBase<AdvancedInputDataHandling, AdvancedInputDataHandling._Fields>, java.io.Serializable, Cloneable, Comparable<AdvancedInputDataHandling> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AdvancedInputDataHandling");
-
-  private static final org.apache.thrift.protocol.TField STAGE_INPUT_FILES_TO_WORKING_DIR_FIELD_DESC = new org.apache.thrift.protocol.TField("stageInputFilesToWorkingDir", org.apache.thrift.protocol.TType.BOOL, (short)1);
-  private static final org.apache.thrift.protocol.TField PARENT_WORKING_DIRECTORY_FIELD_DESC = new org.apache.thrift.protocol.TField("parentWorkingDirectory", org.apache.thrift.protocol.TType.STRING, (short)2);
-  private static final org.apache.thrift.protocol.TField UNIQUE_WORKING_DIRECTORY_FIELD_DESC = new org.apache.thrift.protocol.TField("uniqueWorkingDirectory", org.apache.thrift.protocol.TType.STRING, (short)3);
-  private static final org.apache.thrift.protocol.TField CLEAN_UP_WORKING_DIR_AFTER_JOB_FIELD_DESC = new org.apache.thrift.protocol.TField("cleanUpWorkingDirAfterJob", org.apache.thrift.protocol.TType.BOOL, (short)4);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new AdvancedInputDataHandlingStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new AdvancedInputDataHandlingTupleSchemeFactory());
-  }
-
-  private boolean stageInputFilesToWorkingDir; // optional
-  private String parentWorkingDirectory; // optional
-  private String uniqueWorkingDirectory; // optional
-  private boolean cleanUpWorkingDirAfterJob; // 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 {
-    STAGE_INPUT_FILES_TO_WORKING_DIR((short)1, "stageInputFilesToWorkingDir"),
-    PARENT_WORKING_DIRECTORY((short)2, "parentWorkingDirectory"),
-    UNIQUE_WORKING_DIRECTORY((short)3, "uniqueWorkingDirectory"),
-    CLEAN_UP_WORKING_DIR_AFTER_JOB((short)4, "cleanUpWorkingDirAfterJob");
-
-    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: // STAGE_INPUT_FILES_TO_WORKING_DIR
-          return STAGE_INPUT_FILES_TO_WORKING_DIR;
-        case 2: // PARENT_WORKING_DIRECTORY
-          return PARENT_WORKING_DIRECTORY;
-        case 3: // UNIQUE_WORKING_DIRECTORY
-          return UNIQUE_WORKING_DIRECTORY;
-        case 4: // CLEAN_UP_WORKING_DIR_AFTER_JOB
-          return CLEAN_UP_WORKING_DIR_AFTER_JOB;
-        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 __STAGEINPUTFILESTOWORKINGDIR_ISSET_ID = 0;
-  private static final int __CLEANUPWORKINGDIRAFTERJOB_ISSET_ID = 1;
-  private byte __isset_bitfield = 0;
-  private _Fields optionals[] = {_Fields.STAGE_INPUT_FILES_TO_WORKING_DIR,_Fields.PARENT_WORKING_DIRECTORY,_Fields.UNIQUE_WORKING_DIRECTORY,_Fields.CLEAN_UP_WORKING_DIR_AFTER_JOB};
-  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.STAGE_INPUT_FILES_TO_WORKING_DIR, new org.apache.thrift.meta_data.FieldMetaData("stageInputFilesToWorkingDir", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
-    tmpMap.put(_Fields.PARENT_WORKING_DIRECTORY, new org.apache.thrift.meta_data.FieldMetaData("parentWorkingDirectory", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.UNIQUE_WORKING_DIRECTORY, new org.apache.thrift.meta_data.FieldMetaData("uniqueWorkingDirectory", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.CLEAN_UP_WORKING_DIR_AFTER_JOB, new org.apache.thrift.meta_data.FieldMetaData("cleanUpWorkingDirAfterJob", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
-    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(AdvancedInputDataHandling.class, metaDataMap);
-  }
-
-  public AdvancedInputDataHandling() {
-    this.stageInputFilesToWorkingDir = false;
-
-    this.cleanUpWorkingDirAfterJob = false;
-
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public AdvancedInputDataHandling(AdvancedInputDataHandling other) {
-    __isset_bitfield = other.__isset_bitfield;
-    this.stageInputFilesToWorkingDir = other.stageInputFilesToWorkingDir;
-    if (other.isSetParentWorkingDirectory()) {
-      this.parentWorkingDirectory = other.parentWorkingDirectory;
-    }
-    if (other.isSetUniqueWorkingDirectory()) {
-      this.uniqueWorkingDirectory = other.uniqueWorkingDirectory;
-    }
-    this.cleanUpWorkingDirAfterJob = other.cleanUpWorkingDirAfterJob;
-  }
-
-  public AdvancedInputDataHandling deepCopy() {
-    return new AdvancedInputDataHandling(this);
-  }
-
-  @Override
-  public void clear() {
-    this.stageInputFilesToWorkingDir = false;
-
-    this.parentWorkingDirectory = null;
-    this.uniqueWorkingDirectory = null;
-    this.cleanUpWorkingDirAfterJob = false;
-
-  }
-
-  public boolean isStageInputFilesToWorkingDir() {
-    return this.stageInputFilesToWorkingDir;
-  }
-
-  public void setStageInputFilesToWorkingDir(boolean stageInputFilesToWorkingDir) {
-    this.stageInputFilesToWorkingDir = stageInputFilesToWorkingDir;
-    setStageInputFilesToWorkingDirIsSet(true);
-  }
-
-  public void unsetStageInputFilesToWorkingDir() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __STAGEINPUTFILESTOWORKINGDIR_ISSET_ID);
-  }
-
-  /** Returns true if field stageInputFilesToWorkingDir is set (has been assigned a value) and false otherwise */
-  public boolean isSetStageInputFilesToWorkingDir() {
-    return EncodingUtils.testBit(__isset_bitfield, __STAGEINPUTFILESTOWORKINGDIR_ISSET_ID);
-  }
-
-  public void setStageInputFilesToWorkingDirIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __STAGEINPUTFILESTOWORKINGDIR_ISSET_ID, value);
-  }
-
-  public String getParentWorkingDirectory() {
-    return this.parentWorkingDirectory;
-  }
-
-  public void setParentWorkingDirectory(String parentWorkingDirectory) {
-    this.parentWorkingDirectory = parentWorkingDirectory;
-  }
-
-  public void unsetParentWorkingDirectory() {
-    this.parentWorkingDirectory = null;
-  }
-
-  /** Returns true if field parentWorkingDirectory is set (has been assigned a value) and false otherwise */
-  public boolean isSetParentWorkingDirectory() {
-    return this.parentWorkingDirectory != null;
-  }
-
-  public void setParentWorkingDirectoryIsSet(boolean value) {
-    if (!value) {
-      this.parentWorkingDirectory = null;
-    }
-  }
-
-  public String getUniqueWorkingDirectory() {
-    return this.uniqueWorkingDirectory;
-  }
-
-  public void setUniqueWorkingDirectory(String uniqueWorkingDirectory) {
-    this.uniqueWorkingDirectory = uniqueWorkingDirectory;
-  }
-
-  public void unsetUniqueWorkingDirectory() {
-    this.uniqueWorkingDirectory = null;
-  }
-
-  /** Returns true if field uniqueWorkingDirectory is set (has been assigned a value) and false otherwise */
-  public boolean isSetUniqueWorkingDirectory() {
-    return this.uniqueWorkingDirectory != null;
-  }
-
-  public void setUniqueWorkingDirectoryIsSet(boolean value) {
-    if (!value) {
-      this.uniqueWorkingDirectory = null;
-    }
-  }
-
-  public boolean isCleanUpWorkingDirAfterJob() {
-    return this.cleanUpWorkingDirAfterJob;
-  }
-
-  public void setCleanUpWorkingDirAfterJob(boolean cleanUpWorkingDirAfterJob) {
-    this.cleanUpWorkingDirAfterJob = cleanUpWorkingDirAfterJob;
-    setCleanUpWorkingDirAfterJobIsSet(true);
-  }
-
-  public void unsetCleanUpWorkingDirAfterJob() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CLEANUPWORKINGDIRAFTERJOB_ISSET_ID);
-  }
-
-  /** Returns true if field cleanUpWorkingDirAfterJob is set (has been assigned a value) and false otherwise */
-  public boolean isSetCleanUpWorkingDirAfterJob() {
-    return EncodingUtils.testBit(__isset_bitfield, __CLEANUPWORKINGDIRAFTERJOB_ISSET_ID);
-  }
-
-  public void setCleanUpWorkingDirAfterJobIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CLEANUPWORKINGDIRAFTERJOB_ISSET_ID, value);
-  }
-
-  public void setFieldValue(_Fields field, Object value) {
-    switch (field) {
-    case STAGE_INPUT_FILES_TO_WORKING_DIR:
-      if (value == null) {
-        unsetStageInputFilesToWorkingDir();
-      } else {
-        setStageInputFilesToWorkingDir((Boolean)value);
-      }
-      break;
-
-    case PARENT_WORKING_DIRECTORY:
-      if (value == null) {
-        unsetParentWorkingDirectory();
-      } else {
-        setParentWorkingDirectory((String)value);
-      }
-      break;
-
-    case UNIQUE_WORKING_DIRECTORY:
-      if (value == null) {
-        unsetUniqueWorkingDirectory();
-      } else {
-        setUniqueWorkingDirectory((String)value);
-      }
-      break;
-
-    case CLEAN_UP_WORKING_DIR_AFTER_JOB:
-      if (value == null) {
-        unsetCleanUpWorkingDirAfterJob();
-      } else {
-        setCleanUpWorkingDirAfterJob((Boolean)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case STAGE_INPUT_FILES_TO_WORKING_DIR:
-      return Boolean.valueOf(isStageInputFilesToWorkingDir());
-
-    case PARENT_WORKING_DIRECTORY:
-      return getParentWorkingDirectory();
-
-    case UNIQUE_WORKING_DIRECTORY:
-      return getUniqueWorkingDirectory();
-
-    case CLEAN_UP_WORKING_DIR_AFTER_JOB:
-      return Boolean.valueOf(isCleanUpWorkingDirAfterJob());
-
-    }
-    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 STAGE_INPUT_FILES_TO_WORKING_DIR:
-      return isSetStageInputFilesToWorkingDir();
-    case PARENT_WORKING_DIRECTORY:
-      return isSetParentWorkingDirectory();
-    case UNIQUE_WORKING_DIRECTORY:
-      return isSetUniqueWorkingDirectory();
-    case CLEAN_UP_WORKING_DIR_AFTER_JOB:
-      return isSetCleanUpWorkingDirAfterJob();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof AdvancedInputDataHandling)
-      return this.equals((AdvancedInputDataHandling)that);
-    return false;
-  }
-
-  public boolean equals(AdvancedInputDataHandling that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_stageInputFilesToWorkingDir = true && this.isSetStageInputFilesToWorkingDir();
-    boolean that_present_stageInputFilesToWorkingDir = true && that.isSetStageInputFilesToWorkingDir();
-    if (this_present_stageInputFilesToWorkingDir || that_present_stageInputFilesToWorkingDir) {
-      if (!(this_present_stageInputFilesToWorkingDir && that_present_stageInputFilesToWorkingDir))
-        return false;
-      if (this.stageInputFilesToWorkingDir != that.stageInputFilesToWorkingDir)
-        return false;
-    }
-
-    boolean this_present_parentWorkingDirectory = true && this.isSetParentWorkingDirectory();
-    boolean that_present_parentWorkingDirectory = true && that.isSetParentWorkingDirectory();
-    if (this_present_parentWorkingDirectory || that_present_parentWorkingDirectory) {
-      if (!(this_present_parentWorkingDirectory && that_present_parentWorkingDirectory))
-        return false;
-      if (!this.parentWorkingDirectory.equals(that.parentWorkingDirectory))
-        return false;
-    }
-
-    boolean this_present_uniqueWorkingDirectory = true && this.isSetUniqueWorkingDirectory();
-    boolean that_present_uniqueWorkingDirectory = true && that.isSetUniqueWorkingDirectory();
-    if (this_present_uniqueWorkingDirectory || that_present_uniqueWorkingDirectory) {
-      if (!(this_present_uniqueWorkingDirectory && that_present_uniqueWorkingDirectory))
-        return false;
-      if (!this.uniqueWorkingDirectory.equals(that.uniqueWorkingDirectory))
-        return false;
-    }
-
-    boolean this_present_cleanUpWorkingDirAfterJob = true && this.isSetCleanUpWorkingDirAfterJob();
-    boolean that_present_cleanUpWorkingDirAfterJob = true && that.isSetCleanUpWorkingDirAfterJob();
-    if (this_present_cleanUpWorkingDirAfterJob || that_present_cleanUpWorkingDirAfterJob) {
-      if (!(this_present_cleanUpWorkingDirAfterJob && that_present_cleanUpWorkingDirAfterJob))
-        return false;
-      if (this.cleanUpWorkingDirAfterJob != that.cleanUpWorkingDirAfterJob)
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    return 0;
-  }
-
-  @Override
-  public int compareTo(AdvancedInputDataHandling other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = Boolean.valueOf(isSetStageInputFilesToWorkingDir()).compareTo(other.isSetStageInputFilesToWorkingDir());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetStageInputFilesToWorkingDir()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.stageInputFilesToWorkingDir, other.stageInputFilesToWorkingDir);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetParentWorkingDirectory()).compareTo(other.isSetParentWorkingDirectory());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetParentWorkingDirectory()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.parentWorkingDirectory, other.parentWorkingDirectory);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetUniqueWorkingDirectory()).compareTo(other.isSetUniqueWorkingDirectory());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetUniqueWorkingDirectory()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.uniqueWorkingDirectory, other.uniqueWorkingDirectory);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetCleanUpWorkingDirAfterJob()).compareTo(other.isSetCleanUpWorkingDirAfterJob());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetCleanUpWorkingDirAfterJob()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.cleanUpWorkingDirAfterJob, other.cleanUpWorkingDirAfterJob);
-      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("AdvancedInputDataHandling(");
-    boolean first = true;
-
-    if (isSetStageInputFilesToWorkingDir()) {
-      sb.append("stageInputFilesToWorkingDir:");
-      sb.append(this.stageInputFilesToWorkingDir);
-      first = false;
-    }
-    if (isSetParentWorkingDirectory()) {
-      if (!first) sb.append(", ");
-      sb.append("parentWorkingDirectory:");
-      if (this.parentWorkingDirectory == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.parentWorkingDirectory);
-      }
-      first = false;
-    }
-    if (isSetUniqueWorkingDirectory()) {
-      if (!first) sb.append(", ");
-      sb.append("uniqueWorkingDirectory:");
-      if (this.uniqueWorkingDirectory == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.uniqueWorkingDirectory);
-      }
-      first = false;
-    }
-    if (isSetCleanUpWorkingDirAfterJob()) {
-      if (!first) sb.append(", ");
-      sb.append("cleanUpWorkingDirAfterJob:");
-      sb.append(this.cleanUpWorkingDirAfterJob);
-      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 AdvancedInputDataHandlingStandardSchemeFactory implements SchemeFactory {
-    public AdvancedInputDataHandlingStandardScheme getScheme() {
-      return new AdvancedInputDataHandlingStandardScheme();
-    }
-  }
-
-  private static class AdvancedInputDataHandlingStandardScheme extends StandardScheme<AdvancedInputDataHandling> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, AdvancedInputDataHandling 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: // STAGE_INPUT_FILES_TO_WORKING_DIR
-            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
-              struct.stageInputFilesToWorkingDir = iprot.readBool();
-              struct.setStageInputFilesToWorkingDirIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 2: // PARENT_WORKING_DIRECTORY
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.parentWorkingDirectory = iprot.readString();
-              struct.setParentWorkingDirectoryIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 3: // UNIQUE_WORKING_DIRECTORY
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.uniqueWorkingDirectory = iprot.readString();
-              struct.setUniqueWorkingDirectoryIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 4: // CLEAN_UP_WORKING_DIR_AFTER_JOB
-            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
-              struct.cleanUpWorkingDirAfterJob = iprot.readBool();
-              struct.setCleanUpWorkingDirAfterJobIsSet(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, AdvancedInputDataHandling struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.isSetStageInputFilesToWorkingDir()) {
-        oprot.writeFieldBegin(STAGE_INPUT_FILES_TO_WORKING_DIR_FIELD_DESC);
-        oprot.writeBool(struct.stageInputFilesToWorkingDir);
-        oprot.writeFieldEnd();
-      }
-      if (struct.parentWorkingDirectory != null) {
-        if (struct.isSetParentWorkingDirectory()) {
-          oprot.writeFieldBegin(PARENT_WORKING_DIRECTORY_FIELD_DESC);
-          oprot.writeString(struct.parentWorkingDirectory);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.uniqueWorkingDirectory != null) {
-        if (struct.isSetUniqueWorkingDirectory()) {
-          oprot.writeFieldBegin(UNIQUE_WORKING_DIRECTORY_FIELD_DESC);
-          oprot.writeString(struct.uniqueWorkingDirectory);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.isSetCleanUpWorkingDirAfterJob()) {
-        oprot.writeFieldBegin(CLEAN_UP_WORKING_DIR_AFTER_JOB_FIELD_DESC);
-        oprot.writeBool(struct.cleanUpWorkingDirAfterJob);
-        oprot.writeFieldEnd();
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class AdvancedInputDataHandlingTupleSchemeFactory implements SchemeFactory {
-    public AdvancedInputDataHandlingTupleScheme getScheme() {
-      return new AdvancedInputDataHandlingTupleScheme();
-    }
-  }
-
-  private static class AdvancedInputDataHandlingTupleScheme extends TupleScheme<AdvancedInputDataHandling> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, AdvancedInputDataHandling struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      BitSet optionals = new BitSet();
-      if (struct.isSetStageInputFilesToWorkingDir()) {
-        optionals.set(0);
-      }
-      if (struct.isSetParentWorkingDirectory()) {
-        optionals.set(1);
-      }
-      if (struct.isSetUniqueWorkingDirectory()) {
-        optionals.set(2);
-      }
-      if (struct.isSetCleanUpWorkingDirAfterJob()) {
-        optionals.set(3);
-      }
-      oprot.writeBitSet(optionals, 4);
-      if (struct.isSetStageInputFilesToWorkingDir()) {
-        oprot.writeBool(struct.stageInputFilesToWorkingDir);
-      }
-      if (struct.isSetParentWorkingDirectory()) {
-        oprot.writeString(struct.parentWorkingDirectory);
-      }
-      if (struct.isSetUniqueWorkingDirectory()) {
-        oprot.writeString(struct.uniqueWorkingDirectory);
-      }
-      if (struct.isSetCleanUpWorkingDirAfterJob()) {
-        oprot.writeBool(struct.cleanUpWorkingDirAfterJob);
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, AdvancedInputDataHandling struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(4);
-      if (incoming.get(0)) {
-        struct.stageInputFilesToWorkingDir = iprot.readBool();
-        struct.setStageInputFilesToWorkingDirIsSet(true);
-      }
-      if (incoming.get(1)) {
-        struct.parentWorkingDirectory = iprot.readString();
-        struct.setParentWorkingDirectoryIsSet(true);
-      }
-      if (incoming.get(2)) {
-        struct.uniqueWorkingDirectory = iprot.readString();
-        struct.setUniqueWorkingDirectoryIsSet(true);
-      }
-      if (incoming.get(3)) {
-        struct.cleanUpWorkingDirAfterJob = iprot.readBool();
-        struct.setCleanUpWorkingDirAfterJobIsSet(true);
-      }
-    }
-  }
-
-}
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/AdvancedOutputDataHandling.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/AdvancedOutputDataHandling.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/AdvancedOutputDataHandling.java
deleted file mode 100644
index c2145f4..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/AdvancedOutputDataHandling.java
+++ /dev/null
@@ -1,604 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A structure holding specified output data handling.
- * 
- */
-@SuppressWarnings("all") public class AdvancedOutputDataHandling implements org.apache.thrift.TBase<AdvancedOutputDataHandling, AdvancedOutputDataHandling._Fields>, java.io.Serializable, Cloneable, Comparable<AdvancedOutputDataHandling> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AdvancedOutputDataHandling");
-
-  private static final org.apache.thrift.protocol.TField OUTPUT_DATA_DIR_FIELD_DESC = new org.apache.thrift.protocol.TField("outputDataDir", org.apache.thrift.protocol.TType.STRING, (short)2);
-  private static final org.apache.thrift.protocol.TField DATA_REGISTRY_URL_FIELD_DESC = new org.apache.thrift.protocol.TField("dataRegistryURL", org.apache.thrift.protocol.TType.STRING, (short)3);
-  private static final org.apache.thrift.protocol.TField PERSIST_OUTPUT_DATA_FIELD_DESC = new org.apache.thrift.protocol.TField("persistOutputData", org.apache.thrift.protocol.TType.BOOL, (short)4);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new AdvancedOutputDataHandlingStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new AdvancedOutputDataHandlingTupleSchemeFactory());
-  }
-
-  private String outputDataDir; // optional
-  private String dataRegistryURL; // optional
-  private boolean persistOutputData; // optional
-
-  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-  @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-    OUTPUT_DATA_DIR((short)2, "outputDataDir"),
-    DATA_REGISTRY_URL((short)3, "dataRegistryURL"),
-    PERSIST_OUTPUT_DATA((short)4, "persistOutputData");
-
-    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
-
-    static {
-      for (_Fields field : EnumSet.allOf(_Fields.class)) {
-        byName.put(field.getFieldName(), field);
-      }
-    }
-
-    /**
-     * Find the _Fields constant that matches fieldId, or null if its not found.
-     */
-    public static _Fields findByThriftId(int fieldId) {
-      switch(fieldId) {
-        case 2: // OUTPUT_DATA_DIR
-          return OUTPUT_DATA_DIR;
-        case 3: // DATA_REGISTRY_URL
-          return DATA_REGISTRY_URL;
-        case 4: // PERSIST_OUTPUT_DATA
-          return PERSIST_OUTPUT_DATA;
-        default:
-          return null;
-      }
-    }
-
-    /**
-     * Find the _Fields constant that matches fieldId, throwing an exception
-     * if it is not found.
-     */
-    public static _Fields findByThriftIdOrThrow(int fieldId) {
-      _Fields fields = findByThriftId(fieldId);
-      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-      return fields;
-    }
-
-    /**
-     * Find the _Fields constant that matches name, or null if its not found.
-     */
-    public static _Fields findByName(String name) {
-      return byName.get(name);
-    }
-
-    private final short _thriftId;
-    private final String _fieldName;
-
-    _Fields(short thriftId, String fieldName) {
-      _thriftId = thriftId;
-      _fieldName = fieldName;
-    }
-
-    public short getThriftFieldId() {
-      return _thriftId;
-    }
-
-    public String getFieldName() {
-      return _fieldName;
-    }
-  }
-
-  // isset id assignments
-  private static final int __PERSISTOUTPUTDATA_ISSET_ID = 0;
-  private byte __isset_bitfield = 0;
-  private _Fields optionals[] = {_Fields.OUTPUT_DATA_DIR,_Fields.DATA_REGISTRY_URL,_Fields.PERSIST_OUTPUT_DATA};
-  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-  static {
-    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-    tmpMap.put(_Fields.OUTPUT_DATA_DIR, new org.apache.thrift.meta_data.FieldMetaData("outputDataDir", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.DATA_REGISTRY_URL, new org.apache.thrift.meta_data.FieldMetaData("dataRegistryURL", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.PERSIST_OUTPUT_DATA, new org.apache.thrift.meta_data.FieldMetaData("persistOutputData", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
-    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(AdvancedOutputDataHandling.class, metaDataMap);
-  }
-
-  public AdvancedOutputDataHandling() {
-    this.persistOutputData = true;
-
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public AdvancedOutputDataHandling(AdvancedOutputDataHandling other) {
-    __isset_bitfield = other.__isset_bitfield;
-    if (other.isSetOutputDataDir()) {
-      this.outputDataDir = other.outputDataDir;
-    }
-    if (other.isSetDataRegistryURL()) {
-      this.dataRegistryURL = other.dataRegistryURL;
-    }
-    this.persistOutputData = other.persistOutputData;
-  }
-
-  public AdvancedOutputDataHandling deepCopy() {
-    return new AdvancedOutputDataHandling(this);
-  }
-
-  @Override
-  public void clear() {
-    this.outputDataDir = null;
-    this.dataRegistryURL = null;
-    this.persistOutputData = true;
-
-  }
-
-  public String getOutputDataDir() {
-    return this.outputDataDir;
-  }
-
-  public void setOutputDataDir(String outputDataDir) {
-    this.outputDataDir = outputDataDir;
-  }
-
-  public void unsetOutputDataDir() {
-    this.outputDataDir = null;
-  }
-
-  /** Returns true if field outputDataDir is set (has been assigned a value) and false otherwise */
-  public boolean isSetOutputDataDir() {
-    return this.outputDataDir != null;
-  }
-
-  public void setOutputDataDirIsSet(boolean value) {
-    if (!value) {
-      this.outputDataDir = null;
-    }
-  }
-
-  public String getDataRegistryURL() {
-    return this.dataRegistryURL;
-  }
-
-  public void setDataRegistryURL(String dataRegistryURL) {
-    this.dataRegistryURL = dataRegistryURL;
-  }
-
-  public void unsetDataRegistryURL() {
-    this.dataRegistryURL = null;
-  }
-
-  /** Returns true if field dataRegistryURL is set (has been assigned a value) and false otherwise */
-  public boolean isSetDataRegistryURL() {
-    return this.dataRegistryURL != null;
-  }
-
-  public void setDataRegistryURLIsSet(boolean value) {
-    if (!value) {
-      this.dataRegistryURL = null;
-    }
-  }
-
-  public boolean isPersistOutputData() {
-    return this.persistOutputData;
-  }
-
-  public void setPersistOutputData(boolean persistOutputData) {
-    this.persistOutputData = persistOutputData;
-    setPersistOutputDataIsSet(true);
-  }
-
-  public void unsetPersistOutputData() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __PERSISTOUTPUTDATA_ISSET_ID);
-  }
-
-  /** Returns true if field persistOutputData is set (has been assigned a value) and false otherwise */
-  public boolean isSetPersistOutputData() {
-    return EncodingUtils.testBit(__isset_bitfield, __PERSISTOUTPUTDATA_ISSET_ID);
-  }
-
-  public void setPersistOutputDataIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __PERSISTOUTPUTDATA_ISSET_ID, value);
-  }
-
-  public void setFieldValue(_Fields field, Object value) {
-    switch (field) {
-    case OUTPUT_DATA_DIR:
-      if (value == null) {
-        unsetOutputDataDir();
-      } else {
-        setOutputDataDir((String)value);
-      }
-      break;
-
-    case DATA_REGISTRY_URL:
-      if (value == null) {
-        unsetDataRegistryURL();
-      } else {
-        setDataRegistryURL((String)value);
-      }
-      break;
-
-    case PERSIST_OUTPUT_DATA:
-      if (value == null) {
-        unsetPersistOutputData();
-      } else {
-        setPersistOutputData((Boolean)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case OUTPUT_DATA_DIR:
-      return getOutputDataDir();
-
-    case DATA_REGISTRY_URL:
-      return getDataRegistryURL();
-
-    case PERSIST_OUTPUT_DATA:
-      return Boolean.valueOf(isPersistOutputData());
-
-    }
-    throw new IllegalStateException();
-  }
-
-  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-  public boolean isSet(_Fields field) {
-    if (field == null) {
-      throw new IllegalArgumentException();
-    }
-
-    switch (field) {
-    case OUTPUT_DATA_DIR:
-      return isSetOutputDataDir();
-    case DATA_REGISTRY_URL:
-      return isSetDataRegistryURL();
-    case PERSIST_OUTPUT_DATA:
-      return isSetPersistOutputData();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof AdvancedOutputDataHandling)
-      return this.equals((AdvancedOutputDataHandling)that);
-    return false;
-  }
-
-  public boolean equals(AdvancedOutputDataHandling that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_outputDataDir = true && this.isSetOutputDataDir();
-    boolean that_present_outputDataDir = true && that.isSetOutputDataDir();
-    if (this_present_outputDataDir || that_present_outputDataDir) {
-      if (!(this_present_outputDataDir && that_present_outputDataDir))
-        return false;
-      if (!this.outputDataDir.equals(that.outputDataDir))
-        return false;
-    }
-
-    boolean this_present_dataRegistryURL = true && this.isSetDataRegistryURL();
-    boolean that_present_dataRegistryURL = true && that.isSetDataRegistryURL();
-    if (this_present_dataRegistryURL || that_present_dataRegistryURL) {
-      if (!(this_present_dataRegistryURL && that_present_dataRegistryURL))
-        return false;
-      if (!this.dataRegistryURL.equals(that.dataRegistryURL))
-        return false;
-    }
-
-    boolean this_present_persistOutputData = true && this.isSetPersistOutputData();
-    boolean that_present_persistOutputData = true && that.isSetPersistOutputData();
-    if (this_present_persistOutputData || that_present_persistOutputData) {
-      if (!(this_present_persistOutputData && that_present_persistOutputData))
-        return false;
-      if (this.persistOutputData != that.persistOutputData)
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    return 0;
-  }
-
-  @Override
-  public int compareTo(AdvancedOutputDataHandling other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = Boolean.valueOf(isSetOutputDataDir()).compareTo(other.isSetOutputDataDir());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetOutputDataDir()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.outputDataDir, other.outputDataDir);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetDataRegistryURL()).compareTo(other.isSetDataRegistryURL());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetDataRegistryURL()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dataRegistryURL, other.dataRegistryURL);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetPersistOutputData()).compareTo(other.isSetPersistOutputData());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetPersistOutputData()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.persistOutputData, other.persistOutputData);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    return 0;
-  }
-
-  public _Fields fieldForId(int fieldId) {
-    return _Fields.findByThriftId(fieldId);
-  }
-
-  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
-  }
-
-  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
-  }
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder("AdvancedOutputDataHandling(");
-    boolean first = true;
-
-    if (isSetOutputDataDir()) {
-      sb.append("outputDataDir:");
-      if (this.outputDataDir == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.outputDataDir);
-      }
-      first = false;
-    }
-    if (isSetDataRegistryURL()) {
-      if (!first) sb.append(", ");
-      sb.append("dataRegistryURL:");
-      if (this.dataRegistryURL == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.dataRegistryURL);
-      }
-      first = false;
-    }
-    if (isSetPersistOutputData()) {
-      if (!first) sb.append(", ");
-      sb.append("persistOutputData:");
-      sb.append(this.persistOutputData);
-      first = false;
-    }
-    sb.append(")");
-    return sb.toString();
-  }
-
-  public void validate() throws org.apache.thrift.TException {
-    // check for required fields
-    // check for sub-struct validity
-  }
-
-  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-    try {
-      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-    } catch (org.apache.thrift.TException te) {
-      throw new java.io.IOException(te);
-    }
-  }
-
-  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
-    try {
-      // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
-      __isset_bitfield = 0;
-      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-    } catch (org.apache.thrift.TException te) {
-      throw new java.io.IOException(te);
-    }
-  }
-
-  private static class AdvancedOutputDataHandlingStandardSchemeFactory implements SchemeFactory {
-    public AdvancedOutputDataHandlingStandardScheme getScheme() {
-      return new AdvancedOutputDataHandlingStandardScheme();
-    }
-  }
-
-  private static class AdvancedOutputDataHandlingStandardScheme extends StandardScheme<AdvancedOutputDataHandling> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, AdvancedOutputDataHandling struct) throws org.apache.thrift.TException {
-      org.apache.thrift.protocol.TField schemeField;
-      iprot.readStructBegin();
-      while (true)
-      {
-        schemeField = iprot.readFieldBegin();
-        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-          break;
-        }
-        switch (schemeField.id) {
-          case 2: // OUTPUT_DATA_DIR
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.outputDataDir = iprot.readString();
-              struct.setOutputDataDirIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 3: // DATA_REGISTRY_URL
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.dataRegistryURL = iprot.readString();
-              struct.setDataRegistryURLIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 4: // PERSIST_OUTPUT_DATA
-            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
-              struct.persistOutputData = iprot.readBool();
-              struct.setPersistOutputDataIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          default:
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-        }
-        iprot.readFieldEnd();
-      }
-      iprot.readStructEnd();
-      struct.validate();
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot, AdvancedOutputDataHandling struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.outputDataDir != null) {
-        if (struct.isSetOutputDataDir()) {
-          oprot.writeFieldBegin(OUTPUT_DATA_DIR_FIELD_DESC);
-          oprot.writeString(struct.outputDataDir);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.dataRegistryURL != null) {
-        if (struct.isSetDataRegistryURL()) {
-          oprot.writeFieldBegin(DATA_REGISTRY_URL_FIELD_DESC);
-          oprot.writeString(struct.dataRegistryURL);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.isSetPersistOutputData()) {
-        oprot.writeFieldBegin(PERSIST_OUTPUT_DATA_FIELD_DESC);
-        oprot.writeBool(struct.persistOutputData);
-        oprot.writeFieldEnd();
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class AdvancedOutputDataHandlingTupleSchemeFactory implements SchemeFactory {
-    public AdvancedOutputDataHandlingTupleScheme getScheme() {
-      return new AdvancedOutputDataHandlingTupleScheme();
-    }
-  }
-
-  private static class AdvancedOutputDataHandlingTupleScheme extends TupleScheme<AdvancedOutputDataHandling> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, AdvancedOutputDataHandling struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      BitSet optionals = new BitSet();
-      if (struct.isSetOutputDataDir()) {
-        optionals.set(0);
-      }
-      if (struct.isSetDataRegistryURL()) {
-        optionals.set(1);
-      }
-      if (struct.isSetPersistOutputData()) {
-        optionals.set(2);
-      }
-      oprot.writeBitSet(optionals, 3);
-      if (struct.isSetOutputDataDir()) {
-        oprot.writeString(struct.outputDataDir);
-      }
-      if (struct.isSetDataRegistryURL()) {
-        oprot.writeString(struct.dataRegistryURL);
-      }
-      if (struct.isSetPersistOutputData()) {
-        oprot.writeBool(struct.persistOutputData);
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, AdvancedOutputDataHandling struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(3);
-      if (incoming.get(0)) {
-        struct.outputDataDir = iprot.readString();
-        struct.setOutputDataDirIsSet(true);
-      }
-      if (incoming.get(1)) {
-        struct.dataRegistryURL = iprot.readString();
-        struct.setDataRegistryURLIsSet(true);
-      }
-      if (incoming.get(2)) {
-        struct.persistOutputData = iprot.readBool();
-        struct.setPersistOutputDataIsSet(true);
-      }
-    }
-  }
-
-}
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ApplicationStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ApplicationStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ApplicationStatus.java
deleted file mode 100644
index 1ea0c61..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ApplicationStatus.java
+++ /dev/null
@@ -1,497 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@SuppressWarnings("all") public class ApplicationStatus implements org.apache.thrift.TBase<ApplicationStatus, ApplicationStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationStatus> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationStatus");
-
-  private static final org.apache.thrift.protocol.TField APPLICATION_STATE_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationState", org.apache.thrift.protocol.TType.STRING, (short)1);
-  private static final org.apache.thrift.protocol.TField TIME_OF_STATE_CHANGE_FIELD_DESC = new org.apache.thrift.protocol.TField("timeOfStateChange", org.apache.thrift.protocol.TType.I64, (short)2);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new ApplicationStatusStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new ApplicationStatusTupleSchemeFactory());
-  }
-
-  private String applicationState; // required
-  private long timeOfStateChange; // 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 {
-    APPLICATION_STATE((short)1, "applicationState"),
-    TIME_OF_STATE_CHANGE((short)2, "timeOfStateChange");
-
-    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: // APPLICATION_STATE
-          return APPLICATION_STATE;
-        case 2: // TIME_OF_STATE_CHANGE
-          return TIME_OF_STATE_CHANGE;
-        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 __TIMEOFSTATECHANGE_ISSET_ID = 0;
-  private byte __isset_bitfield = 0;
-  private _Fields optionals[] = {_Fields.TIME_OF_STATE_CHANGE};
-  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.APPLICATION_STATE, new org.apache.thrift.meta_data.FieldMetaData("applicationState", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.TIME_OF_STATE_CHANGE, new org.apache.thrift.meta_data.FieldMetaData("timeOfStateChange", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
-    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ApplicationStatus.class, metaDataMap);
-  }
-
-  public ApplicationStatus() {
-  }
-
-  public ApplicationStatus(
-    String applicationState)
-  {
-    this();
-    this.applicationState = applicationState;
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public ApplicationStatus(ApplicationStatus other) {
-    __isset_bitfield = other.__isset_bitfield;
-    if (other.isSetApplicationState()) {
-      this.applicationState = other.applicationState;
-    }
-    this.timeOfStateChange = other.timeOfStateChange;
-  }
-
-  public ApplicationStatus deepCopy() {
-    return new ApplicationStatus(this);
-  }
-
-  @Override
-  public void clear() {
-    this.applicationState = null;
-    setTimeOfStateChangeIsSet(false);
-    this.timeOfStateChange = 0;
-  }
-
-  public String getApplicationState() {
-    return this.applicationState;
-  }
-
-  public void setApplicationState(String applicationState) {
-    this.applicationState = applicationState;
-  }
-
-  public void unsetApplicationState() {
-    this.applicationState = null;
-  }
-
-  /** Returns true if field applicationState is set (has been assigned a value) and false otherwise */
-  public boolean isSetApplicationState() {
-    return this.applicationState != null;
-  }
-
-  public void setApplicationStateIsSet(boolean value) {
-    if (!value) {
-      this.applicationState = null;
-    }
-  }
-
-  public long getTimeOfStateChange() {
-    return this.timeOfStateChange;
-  }
-
-  public void setTimeOfStateChange(long timeOfStateChange) {
-    this.timeOfStateChange = timeOfStateChange;
-    setTimeOfStateChangeIsSet(true);
-  }
-
-  public void unsetTimeOfStateChange() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
-  }
-
-  /** Returns true if field timeOfStateChange is set (has been assigned a value) and false otherwise */
-  public boolean isSetTimeOfStateChange() {
-    return EncodingUtils.testBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
-  }
-
-  public void setTimeOfStateChangeIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID, value);
-  }
-
-  public void setFieldValue(_Fields field, Object value) {
-    switch (field) {
-    case APPLICATION_STATE:
-      if (value == null) {
-        unsetApplicationState();
-      } else {
-        setApplicationState((String)value);
-      }
-      break;
-
-    case TIME_OF_STATE_CHANGE:
-      if (value == null) {
-        unsetTimeOfStateChange();
-      } else {
-        setTimeOfStateChange((Long)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case APPLICATION_STATE:
-      return getApplicationState();
-
-    case TIME_OF_STATE_CHANGE:
-      return Long.valueOf(getTimeOfStateChange());
-
-    }
-    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 APPLICATION_STATE:
-      return isSetApplicationState();
-    case TIME_OF_STATE_CHANGE:
-      return isSetTimeOfStateChange();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof ApplicationStatus)
-      return this.equals((ApplicationStatus)that);
-    return false;
-  }
-
-  public boolean equals(ApplicationStatus that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_applicationState = true && this.isSetApplicationState();
-    boolean that_present_applicationState = true && that.isSetApplicationState();
-    if (this_present_applicationState || that_present_applicationState) {
-      if (!(this_present_applicationState && that_present_applicationState))
-        return false;
-      if (!this.applicationState.equals(that.applicationState))
-        return false;
-    }
-
-    boolean this_present_timeOfStateChange = true && this.isSetTimeOfStateChange();
-    boolean that_present_timeOfStateChange = true && that.isSetTimeOfStateChange();
-    if (this_present_timeOfStateChange || that_present_timeOfStateChange) {
-      if (!(this_present_timeOfStateChange && that_present_timeOfStateChange))
-        return false;
-      if (this.timeOfStateChange != that.timeOfStateChange)
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    return 0;
-  }
-
-  @Override
-  public int compareTo(ApplicationStatus other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = Boolean.valueOf(isSetApplicationState()).compareTo(other.isSetApplicationState());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetApplicationState()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.applicationState, other.applicationState);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetTimeOfStateChange()).compareTo(other.isSetTimeOfStateChange());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetTimeOfStateChange()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.timeOfStateChange, other.timeOfStateChange);
-      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("ApplicationStatus(");
-    boolean first = true;
-
-    sb.append("applicationState:");
-    if (this.applicationState == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.applicationState);
-    }
-    first = false;
-    if (isSetTimeOfStateChange()) {
-      if (!first) sb.append(", ");
-      sb.append("timeOfStateChange:");
-      sb.append(this.timeOfStateChange);
-      first = false;
-    }
-    sb.append(")");
-    return sb.toString();
-  }
-
-  public void validate() throws org.apache.thrift.TException {
-    // check for required fields
-    if (!isSetApplicationState()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'applicationState' 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 {
-      // 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 ApplicationStatusStandardSchemeFactory implements SchemeFactory {
-    public ApplicationStatusStandardScheme getScheme() {
-      return new ApplicationStatusStandardScheme();
-    }
-  }
-
-  private static class ApplicationStatusStandardScheme extends StandardScheme<ApplicationStatus> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, ApplicationStatus 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: // APPLICATION_STATE
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.applicationState = iprot.readString();
-              struct.setApplicationStateIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 2: // TIME_OF_STATE_CHANGE
-            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
-              struct.timeOfStateChange = iprot.readI64();
-              struct.setTimeOfStateChangeIsSet(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, ApplicationStatus struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.applicationState != null) {
-        oprot.writeFieldBegin(APPLICATION_STATE_FIELD_DESC);
-        oprot.writeString(struct.applicationState);
-        oprot.writeFieldEnd();
-      }
-      if (struct.isSetTimeOfStateChange()) {
-        oprot.writeFieldBegin(TIME_OF_STATE_CHANGE_FIELD_DESC);
-        oprot.writeI64(struct.timeOfStateChange);
-        oprot.writeFieldEnd();
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class ApplicationStatusTupleSchemeFactory implements SchemeFactory {
-    public ApplicationStatusTupleScheme getScheme() {
-      return new ApplicationStatusTupleScheme();
-    }
-  }
-
-  private static class ApplicationStatusTupleScheme extends TupleScheme<ApplicationStatus> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, ApplicationStatus struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      oprot.writeString(struct.applicationState);
-      BitSet optionals = new BitSet();
-      if (struct.isSetTimeOfStateChange()) {
-        optionals.set(0);
-      }
-      oprot.writeBitSet(optionals, 1);
-      if (struct.isSetTimeOfStateChange()) {
-        oprot.writeI64(struct.timeOfStateChange);
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, ApplicationStatus struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      struct.applicationState = iprot.readString();
-      struct.setApplicationStateIsSet(true);
-      BitSet incoming = iprot.readBitSet(1);
-      if (incoming.get(0)) {
-        struct.timeOfStateChange = iprot.readI64();
-        struct.setTimeOfStateChangeIsSet(true);
-      }
-    }
-  }
-
-}
-


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

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/b46488d5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/Experiment.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/Experiment.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/Experiment.java
deleted file mode 100644
index dd2d857..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/Experiment.java
+++ /dev/null
@@ -1,2294 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A structure holding the experiment metadata and its child models.
- * 
- * userName:
- *   The user name of the targeted gateway end user on whose behalf the experiment is being created.
- *     the associated gateway identity can only be inferred from the security hand-shake so as to avoid
- *     authorized Airavata Clients mimicking an unauthorized request. If a gateway is not registered with
- *     Airavata, an authorization exception is thrown.
- * 
- * experimentName:
- *   The name of the experiment as defined by the user. The name need not be unique as uniqueness is enforced
- *      by the generated experiment id.
- * 
- * experimentDescription:
- *    The verbose description of the experiment. This is an optional parameter.
- */
-@SuppressWarnings("all") public class Experiment implements org.apache.thrift.TBase<Experiment, Experiment._Fields>, java.io.Serializable, Cloneable, Comparable<Experiment> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Experiment");
-
-  private static final org.apache.thrift.protocol.TField EXPERIMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentID", org.apache.thrift.protocol.TType.STRING, (short)1);
-  private static final org.apache.thrift.protocol.TField PROJECT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("projectID", org.apache.thrift.protocol.TType.STRING, (short)2);
-  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)3);
-  private static final org.apache.thrift.protocol.TField USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userName", org.apache.thrift.protocol.TType.STRING, (short)4);
-  private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)5);
-  private static final org.apache.thrift.protocol.TField DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("description", org.apache.thrift.protocol.TType.STRING, (short)6);
-  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)7);
-  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)8);
-  private static final org.apache.thrift.protocol.TField WORKFLOW_TEMPLATE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("workflowTemplateId", org.apache.thrift.protocol.TType.STRING, (short)9);
-  private static final org.apache.thrift.protocol.TField WORKFLOW_TEMPLATE_VERSION_FIELD_DESC = new org.apache.thrift.protocol.TField("workflowTemplateVersion", org.apache.thrift.protocol.TType.STRING, (short)10);
-  private static final org.apache.thrift.protocol.TField WORKFLOW_EXECUTION_INSTANCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("workflowExecutionInstanceId", org.apache.thrift.protocol.TType.STRING, (short)11);
-  private static final org.apache.thrift.protocol.TField EXPERIMENT_INPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentInputs", org.apache.thrift.protocol.TType.LIST, (short)12);
-  private static final org.apache.thrift.protocol.TField EXPERIMENT_OUTPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentOutputs", org.apache.thrift.protocol.TType.LIST, (short)13);
-  private static final org.apache.thrift.protocol.TField EXPERIMENT_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentStatus", org.apache.thrift.protocol.TType.STRUCT, (short)14);
-  private static final org.apache.thrift.protocol.TField STATE_CHANGE_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("stateChangeList", org.apache.thrift.protocol.TType.LIST, (short)15);
-  private static final org.apache.thrift.protocol.TField WORKFLOW_NODE_DETAILS_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("workflowNodeDetailsList", org.apache.thrift.protocol.TType.LIST, (short)16);
-  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)17);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new ExperimentStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new ExperimentTupleSchemeFactory());
-  }
-
-  private String experimentID; // required
-  private String projectID; // required
-  private long creationTime; // optional
-  private String userName; // required
-  private String name; // required
-  private String description; // optional
-  private String applicationId; // optional
-  private String applicationVersion; // optional
-  private String workflowTemplateId; // optional
-  private String workflowTemplateVersion; // optional
-  private String workflowExecutionInstanceId; // optional
-  private List<DataObjectType> experimentInputs; // optional
-  private List<DataObjectType> experimentOutputs; // optional
-  private ExecutionStatus experimentStatus; // optional
-  private List<ExecutionStatus> stateChangeList; // optional
-  private List<WorkflowNodeDetails> workflowNodeDetailsList; // 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 {
-    EXPERIMENT_ID((short)1, "experimentID"),
-    PROJECT_ID((short)2, "projectID"),
-    CREATION_TIME((short)3, "creationTime"),
-    USER_NAME((short)4, "userName"),
-    NAME((short)5, "name"),
-    DESCRIPTION((short)6, "description"),
-    APPLICATION_ID((short)7, "applicationId"),
-    APPLICATION_VERSION((short)8, "applicationVersion"),
-    WORKFLOW_TEMPLATE_ID((short)9, "workflowTemplateId"),
-    WORKFLOW_TEMPLATE_VERSION((short)10, "workflowTemplateVersion"),
-    WORKFLOW_EXECUTION_INSTANCE_ID((short)11, "workflowExecutionInstanceId"),
-    EXPERIMENT_INPUTS((short)12, "experimentInputs"),
-    EXPERIMENT_OUTPUTS((short)13, "experimentOutputs"),
-    EXPERIMENT_STATUS((short)14, "experimentStatus"),
-    STATE_CHANGE_LIST((short)15, "stateChangeList"),
-    WORKFLOW_NODE_DETAILS_LIST((short)16, "workflowNodeDetailsList"),
-    ERRORS((short)17, "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: // EXPERIMENT_ID
-          return EXPERIMENT_ID;
-        case 2: // PROJECT_ID
-          return PROJECT_ID;
-        case 3: // CREATION_TIME
-          return CREATION_TIME;
-        case 4: // USER_NAME
-          return USER_NAME;
-        case 5: // NAME
-          return NAME;
-        case 6: // DESCRIPTION
-          return DESCRIPTION;
-        case 7: // APPLICATION_ID
-          return APPLICATION_ID;
-        case 8: // APPLICATION_VERSION
-          return APPLICATION_VERSION;
-        case 9: // WORKFLOW_TEMPLATE_ID
-          return WORKFLOW_TEMPLATE_ID;
-        case 10: // WORKFLOW_TEMPLATE_VERSION
-          return WORKFLOW_TEMPLATE_VERSION;
-        case 11: // WORKFLOW_EXECUTION_INSTANCE_ID
-          return WORKFLOW_EXECUTION_INSTANCE_ID;
-        case 12: // EXPERIMENT_INPUTS
-          return EXPERIMENT_INPUTS;
-        case 13: // EXPERIMENT_OUTPUTS
-          return EXPERIMENT_OUTPUTS;
-        case 14: // EXPERIMENT_STATUS
-          return EXPERIMENT_STATUS;
-        case 15: // STATE_CHANGE_LIST
-          return STATE_CHANGE_LIST;
-        case 16: // WORKFLOW_NODE_DETAILS_LIST
-          return WORKFLOW_NODE_DETAILS_LIST;
-        case 17: // 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.DESCRIPTION,_Fields.APPLICATION_ID,_Fields.APPLICATION_VERSION,_Fields.WORKFLOW_TEMPLATE_ID,_Fields.WORKFLOW_TEMPLATE_VERSION,_Fields.WORKFLOW_EXECUTION_INSTANCE_ID,_Fields.EXPERIMENT_INPUTS,_Fields.EXPERIMENT_OUTPUTS,_Fields.EXPERIMENT_STATUS,_Fields.STATE_CHANGE_LIST,_Fields.WORKFLOW_NODE_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.EXPERIMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("experimentID", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.PROJECT_ID, new org.apache.thrift.meta_data.FieldMetaData("projectID", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.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.USER_NAME, new org.apache.thrift.meta_data.FieldMetaData("userName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("description", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    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.WORKFLOW_TEMPLATE_ID, new org.apache.thrift.meta_data.FieldMetaData("workflowTemplateId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.WORKFLOW_TEMPLATE_VERSION, new org.apache.thrift.meta_data.FieldMetaData("workflowTemplateVersion", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.WORKFLOW_EXECUTION_INSTANCE_ID, new org.apache.thrift.meta_data.FieldMetaData("workflowExecutionInstanceId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.EXPERIMENT_INPUTS, new org.apache.thrift.meta_data.FieldMetaData("experimentInputs", 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.EXPERIMENT_OUTPUTS, new org.apache.thrift.meta_data.FieldMetaData("experimentOutputs", 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.EXPERIMENT_STATUS, new org.apache.thrift.meta_data.FieldMetaData("experimentStatus", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ExecutionStatus.class)));
-    tmpMap.put(_Fields.STATE_CHANGE_LIST, new org.apache.thrift.meta_data.FieldMetaData("stateChangeList", 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, ExecutionStatus.class))));
-    tmpMap.put(_Fields.WORKFLOW_NODE_DETAILS_LIST, new org.apache.thrift.meta_data.FieldMetaData("workflowNodeDetailsList", 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, WorkflowNodeDetails.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(Experiment.class, metaDataMap);
-  }
-
-  public Experiment() {
-    this.experimentID = "DO_NO_SET_BY_CLIENT";
-
-    this.projectID = "DEFAULT";
-
-  }
-
-  public Experiment(
-    String experimentID,
-    String projectID,
-    String userName,
-    String name)
-  {
-    this();
-    this.experimentID = experimentID;
-    this.projectID = projectID;
-    this.userName = userName;
-    this.name = name;
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public Experiment(Experiment other) {
-    __isset_bitfield = other.__isset_bitfield;
-    if (other.isSetExperimentID()) {
-      this.experimentID = other.experimentID;
-    }
-    if (other.isSetProjectID()) {
-      this.projectID = other.projectID;
-    }
-    this.creationTime = other.creationTime;
-    if (other.isSetUserName()) {
-      this.userName = other.userName;
-    }
-    if (other.isSetName()) {
-      this.name = other.name;
-    }
-    if (other.isSetDescription()) {
-      this.description = other.description;
-    }
-    if (other.isSetApplicationId()) {
-      this.applicationId = other.applicationId;
-    }
-    if (other.isSetApplicationVersion()) {
-      this.applicationVersion = other.applicationVersion;
-    }
-    if (other.isSetWorkflowTemplateId()) {
-      this.workflowTemplateId = other.workflowTemplateId;
-    }
-    if (other.isSetWorkflowTemplateVersion()) {
-      this.workflowTemplateVersion = other.workflowTemplateVersion;
-    }
-    if (other.isSetWorkflowExecutionInstanceId()) {
-      this.workflowExecutionInstanceId = other.workflowExecutionInstanceId;
-    }
-    if (other.isSetExperimentInputs()) {
-      List<DataObjectType> __this__experimentInputs = new ArrayList<DataObjectType>(other.experimentInputs.size());
-      for (DataObjectType other_element : other.experimentInputs) {
-        __this__experimentInputs.add(new DataObjectType(other_element));
-      }
-      this.experimentInputs = __this__experimentInputs;
-    }
-    if (other.isSetExperimentOutputs()) {
-      List<DataObjectType> __this__experimentOutputs = new ArrayList<DataObjectType>(other.experimentOutputs.size());
-      for (DataObjectType other_element : other.experimentOutputs) {
-        __this__experimentOutputs.add(new DataObjectType(other_element));
-      }
-      this.experimentOutputs = __this__experimentOutputs;
-    }
-    if (other.isSetExperimentStatus()) {
-      this.experimentStatus = new ExecutionStatus(other.experimentStatus);
-    }
-    if (other.isSetStateChangeList()) {
-      List<ExecutionStatus> __this__stateChangeList = new ArrayList<ExecutionStatus>(other.stateChangeList.size());
-      for (ExecutionStatus other_element : other.stateChangeList) {
-        __this__stateChangeList.add(new ExecutionStatus(other_element));
-      }
-      this.stateChangeList = __this__stateChangeList;
-    }
-    if (other.isSetWorkflowNodeDetailsList()) {
-      List<WorkflowNodeDetails> __this__workflowNodeDetailsList = new ArrayList<WorkflowNodeDetails>(other.workflowNodeDetailsList.size());
-      for (WorkflowNodeDetails other_element : other.workflowNodeDetailsList) {
-        __this__workflowNodeDetailsList.add(new WorkflowNodeDetails(other_element));
-      }
-      this.workflowNodeDetailsList = __this__workflowNodeDetailsList;
-    }
-    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 Experiment deepCopy() {
-    return new Experiment(this);
-  }
-
-  @Override
-  public void clear() {
-    this.experimentID = "DO_NO_SET_BY_CLIENT";
-
-    this.projectID = "DEFAULT";
-
-    setCreationTimeIsSet(false);
-    this.creationTime = 0;
-    this.userName = null;
-    this.name = null;
-    this.description = null;
-    this.applicationId = null;
-    this.applicationVersion = null;
-    this.workflowTemplateId = null;
-    this.workflowTemplateVersion = null;
-    this.workflowExecutionInstanceId = null;
-    this.experimentInputs = null;
-    this.experimentOutputs = null;
-    this.experimentStatus = null;
-    this.stateChangeList = null;
-    this.workflowNodeDetailsList = null;
-    this.errors = null;
-  }
-
-  public String getExperimentID() {
-    return this.experimentID;
-  }
-
-  public void setExperimentID(String experimentID) {
-    this.experimentID = experimentID;
-  }
-
-  public void unsetExperimentID() {
-    this.experimentID = null;
-  }
-
-  /** Returns true if field experimentID is set (has been assigned a value) and false otherwise */
-  public boolean isSetExperimentID() {
-    return this.experimentID != null;
-  }
-
-  public void setExperimentIDIsSet(boolean value) {
-    if (!value) {
-      this.experimentID = null;
-    }
-  }
-
-  public String getProjectID() {
-    return this.projectID;
-  }
-
-  public void setProjectID(String projectID) {
-    this.projectID = projectID;
-  }
-
-  public void unsetProjectID() {
-    this.projectID = null;
-  }
-
-  /** Returns true if field projectID is set (has been assigned a value) and false otherwise */
-  public boolean isSetProjectID() {
-    return this.projectID != null;
-  }
-
-  public void setProjectIDIsSet(boolean value) {
-    if (!value) {
-      this.projectID = null;
-    }
-  }
-
-  public 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 getUserName() {
-    return this.userName;
-  }
-
-  public void setUserName(String userName) {
-    this.userName = userName;
-  }
-
-  public void unsetUserName() {
-    this.userName = null;
-  }
-
-  /** Returns true if field userName is set (has been assigned a value) and false otherwise */
-  public boolean isSetUserName() {
-    return this.userName != null;
-  }
-
-  public void setUserNameIsSet(boolean value) {
-    if (!value) {
-      this.userName = null;
-    }
-  }
-
-  public String getName() {
-    return this.name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  public void unsetName() {
-    this.name = null;
-  }
-
-  /** Returns true if field name is set (has been assigned a value) and false otherwise */
-  public boolean isSetName() {
-    return this.name != null;
-  }
-
-  public void setNameIsSet(boolean value) {
-    if (!value) {
-      this.name = null;
-    }
-  }
-
-  public String getDescription() {
-    return this.description;
-  }
-
-  public void setDescription(String description) {
-    this.description = description;
-  }
-
-  public void unsetDescription() {
-    this.description = null;
-  }
-
-  /** Returns true if field description is set (has been assigned a value) and false otherwise */
-  public boolean isSetDescription() {
-    return this.description != null;
-  }
-
-  public void setDescriptionIsSet(boolean value) {
-    if (!value) {
-      this.description = null;
-    }
-  }
-
-  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 String getWorkflowTemplateId() {
-    return this.workflowTemplateId;
-  }
-
-  public void setWorkflowTemplateId(String workflowTemplateId) {
-    this.workflowTemplateId = workflowTemplateId;
-  }
-
-  public void unsetWorkflowTemplateId() {
-    this.workflowTemplateId = null;
-  }
-
-  /** Returns true if field workflowTemplateId is set (has been assigned a value) and false otherwise */
-  public boolean isSetWorkflowTemplateId() {
-    return this.workflowTemplateId != null;
-  }
-
-  public void setWorkflowTemplateIdIsSet(boolean value) {
-    if (!value) {
-      this.workflowTemplateId = null;
-    }
-  }
-
-  public String getWorkflowTemplateVersion() {
-    return this.workflowTemplateVersion;
-  }
-
-  public void setWorkflowTemplateVersion(String workflowTemplateVersion) {
-    this.workflowTemplateVersion = workflowTemplateVersion;
-  }
-
-  public void unsetWorkflowTemplateVersion() {
-    this.workflowTemplateVersion = null;
-  }
-
-  /** Returns true if field workflowTemplateVersion is set (has been assigned a value) and false otherwise */
-  public boolean isSetWorkflowTemplateVersion() {
-    return this.workflowTemplateVersion != null;
-  }
-
-  public void setWorkflowTemplateVersionIsSet(boolean value) {
-    if (!value) {
-      this.workflowTemplateVersion = null;
-    }
-  }
-
-  public String getWorkflowExecutionInstanceId() {
-    return this.workflowExecutionInstanceId;
-  }
-
-  public void setWorkflowExecutionInstanceId(String workflowExecutionInstanceId) {
-    this.workflowExecutionInstanceId = workflowExecutionInstanceId;
-  }
-
-  public void unsetWorkflowExecutionInstanceId() {
-    this.workflowExecutionInstanceId = null;
-  }
-
-  /** Returns true if field workflowExecutionInstanceId is set (has been assigned a value) and false otherwise */
-  public boolean isSetWorkflowExecutionInstanceId() {
-    return this.workflowExecutionInstanceId != null;
-  }
-
-  public void setWorkflowExecutionInstanceIdIsSet(boolean value) {
-    if (!value) {
-      this.workflowExecutionInstanceId = null;
-    }
-  }
-
-  public int getExperimentInputsSize() {
-    return (this.experimentInputs == null) ? 0 : this.experimentInputs.size();
-  }
-
-  public java.util.Iterator<DataObjectType> getExperimentInputsIterator() {
-    return (this.experimentInputs == null) ? null : this.experimentInputs.iterator();
-  }
-
-  public void addToExperimentInputs(DataObjectType elem) {
-    if (this.experimentInputs == null) {
-      this.experimentInputs = new ArrayList<DataObjectType>();
-    }
-    this.experimentInputs.add(elem);
-  }
-
-  public List<DataObjectType> getExperimentInputs() {
-    return this.experimentInputs;
-  }
-
-  public void setExperimentInputs(List<DataObjectType> experimentInputs) {
-    this.experimentInputs = experimentInputs;
-  }
-
-  public void unsetExperimentInputs() {
-    this.experimentInputs = null;
-  }
-
-  /** Returns true if field experimentInputs is set (has been assigned a value) and false otherwise */
-  public boolean isSetExperimentInputs() {
-    return this.experimentInputs != null;
-  }
-
-  public void setExperimentInputsIsSet(boolean value) {
-    if (!value) {
-      this.experimentInputs = null;
-    }
-  }
-
-  public int getExperimentOutputsSize() {
-    return (this.experimentOutputs == null) ? 0 : this.experimentOutputs.size();
-  }
-
-  public java.util.Iterator<DataObjectType> getExperimentOutputsIterator() {
-    return (this.experimentOutputs == null) ? null : this.experimentOutputs.iterator();
-  }
-
-  public void addToExperimentOutputs(DataObjectType elem) {
-    if (this.experimentOutputs == null) {
-      this.experimentOutputs = new ArrayList<DataObjectType>();
-    }
-    this.experimentOutputs.add(elem);
-  }
-
-  public List<DataObjectType> getExperimentOutputs() {
-    return this.experimentOutputs;
-  }
-
-  public void setExperimentOutputs(List<DataObjectType> experimentOutputs) {
-    this.experimentOutputs = experimentOutputs;
-  }
-
-  public void unsetExperimentOutputs() {
-    this.experimentOutputs = null;
-  }
-
-  /** Returns true if field experimentOutputs is set (has been assigned a value) and false otherwise */
-  public boolean isSetExperimentOutputs() {
-    return this.experimentOutputs != null;
-  }
-
-  public void setExperimentOutputsIsSet(boolean value) {
-    if (!value) {
-      this.experimentOutputs = null;
-    }
-  }
-
-  public ExecutionStatus getExperimentStatus() {
-    return this.experimentStatus;
-  }
-
-  public void setExperimentStatus(ExecutionStatus experimentStatus) {
-    this.experimentStatus = experimentStatus;
-  }
-
-  public void unsetExperimentStatus() {
-    this.experimentStatus = null;
-  }
-
-  /** Returns true if field experimentStatus is set (has been assigned a value) and false otherwise */
-  public boolean isSetExperimentStatus() {
-    return this.experimentStatus != null;
-  }
-
-  public void setExperimentStatusIsSet(boolean value) {
-    if (!value) {
-      this.experimentStatus = null;
-    }
-  }
-
-  public int getStateChangeListSize() {
-    return (this.stateChangeList == null) ? 0 : this.stateChangeList.size();
-  }
-
-  public java.util.Iterator<ExecutionStatus> getStateChangeListIterator() {
-    return (this.stateChangeList == null) ? null : this.stateChangeList.iterator();
-  }
-
-  public void addToStateChangeList(ExecutionStatus elem) {
-    if (this.stateChangeList == null) {
-      this.stateChangeList = new ArrayList<ExecutionStatus>();
-    }
-    this.stateChangeList.add(elem);
-  }
-
-  public List<ExecutionStatus> getStateChangeList() {
-    return this.stateChangeList;
-  }
-
-  public void setStateChangeList(List<ExecutionStatus> stateChangeList) {
-    this.stateChangeList = stateChangeList;
-  }
-
-  public void unsetStateChangeList() {
-    this.stateChangeList = null;
-  }
-
-  /** Returns true if field stateChangeList is set (has been assigned a value) and false otherwise */
-  public boolean isSetStateChangeList() {
-    return this.stateChangeList != null;
-  }
-
-  public void setStateChangeListIsSet(boolean value) {
-    if (!value) {
-      this.stateChangeList = null;
-    }
-  }
-
-  public int getWorkflowNodeDetailsListSize() {
-    return (this.workflowNodeDetailsList == null) ? 0 : this.workflowNodeDetailsList.size();
-  }
-
-  public java.util.Iterator<WorkflowNodeDetails> getWorkflowNodeDetailsListIterator() {
-    return (this.workflowNodeDetailsList == null) ? null : this.workflowNodeDetailsList.iterator();
-  }
-
-  public void addToWorkflowNodeDetailsList(WorkflowNodeDetails elem) {
-    if (this.workflowNodeDetailsList == null) {
-      this.workflowNodeDetailsList = new ArrayList<WorkflowNodeDetails>();
-    }
-    this.workflowNodeDetailsList.add(elem);
-  }
-
-  public List<WorkflowNodeDetails> getWorkflowNodeDetailsList() {
-    return this.workflowNodeDetailsList;
-  }
-
-  public void setWorkflowNodeDetailsList(List<WorkflowNodeDetails> workflowNodeDetailsList) {
-    this.workflowNodeDetailsList = workflowNodeDetailsList;
-  }
-
-  public void unsetWorkflowNodeDetailsList() {
-    this.workflowNodeDetailsList = null;
-  }
-
-  /** Returns true if field workflowNodeDetailsList is set (has been assigned a value) and false otherwise */
-  public boolean isSetWorkflowNodeDetailsList() {
-    return this.workflowNodeDetailsList != null;
-  }
-
-  public void setWorkflowNodeDetailsListIsSet(boolean value) {
-    if (!value) {
-      this.workflowNodeDetailsList = 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 EXPERIMENT_ID:
-      if (value == null) {
-        unsetExperimentID();
-      } else {
-        setExperimentID((String)value);
-      }
-      break;
-
-    case PROJECT_ID:
-      if (value == null) {
-        unsetProjectID();
-      } else {
-        setProjectID((String)value);
-      }
-      break;
-
-    case CREATION_TIME:
-      if (value == null) {
-        unsetCreationTime();
-      } else {
-        setCreationTime((Long)value);
-      }
-      break;
-
-    case USER_NAME:
-      if (value == null) {
-        unsetUserName();
-      } else {
-        setUserName((String)value);
-      }
-      break;
-
-    case NAME:
-      if (value == null) {
-        unsetName();
-      } else {
-        setName((String)value);
-      }
-      break;
-
-    case DESCRIPTION:
-      if (value == null) {
-        unsetDescription();
-      } else {
-        setDescription((String)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 WORKFLOW_TEMPLATE_ID:
-      if (value == null) {
-        unsetWorkflowTemplateId();
-      } else {
-        setWorkflowTemplateId((String)value);
-      }
-      break;
-
-    case WORKFLOW_TEMPLATE_VERSION:
-      if (value == null) {
-        unsetWorkflowTemplateVersion();
-      } else {
-        setWorkflowTemplateVersion((String)value);
-      }
-      break;
-
-    case WORKFLOW_EXECUTION_INSTANCE_ID:
-      if (value == null) {
-        unsetWorkflowExecutionInstanceId();
-      } else {
-        setWorkflowExecutionInstanceId((String)value);
-      }
-      break;
-
-    case EXPERIMENT_INPUTS:
-      if (value == null) {
-        unsetExperimentInputs();
-      } else {
-        setExperimentInputs((List<DataObjectType>)value);
-      }
-      break;
-
-    case EXPERIMENT_OUTPUTS:
-      if (value == null) {
-        unsetExperimentOutputs();
-      } else {
-        setExperimentOutputs((List<DataObjectType>)value);
-      }
-      break;
-
-    case EXPERIMENT_STATUS:
-      if (value == null) {
-        unsetExperimentStatus();
-      } else {
-        setExperimentStatus((ExecutionStatus)value);
-      }
-      break;
-
-    case STATE_CHANGE_LIST:
-      if (value == null) {
-        unsetStateChangeList();
-      } else {
-        setStateChangeList((List<ExecutionStatus>)value);
-      }
-      break;
-
-    case WORKFLOW_NODE_DETAILS_LIST:
-      if (value == null) {
-        unsetWorkflowNodeDetailsList();
-      } else {
-        setWorkflowNodeDetailsList((List<WorkflowNodeDetails>)value);
-      }
-      break;
-
-    case ERRORS:
-      if (value == null) {
-        unsetErrors();
-      } else {
-        setErrors((List<ErrorDetails>)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case EXPERIMENT_ID:
-      return getExperimentID();
-
-    case PROJECT_ID:
-      return getProjectID();
-
-    case CREATION_TIME:
-      return Long.valueOf(getCreationTime());
-
-    case USER_NAME:
-      return getUserName();
-
-    case NAME:
-      return getName();
-
-    case DESCRIPTION:
-      return getDescription();
-
-    case APPLICATION_ID:
-      return getApplicationId();
-
-    case APPLICATION_VERSION:
-      return getApplicationVersion();
-
-    case WORKFLOW_TEMPLATE_ID:
-      return getWorkflowTemplateId();
-
-    case WORKFLOW_TEMPLATE_VERSION:
-      return getWorkflowTemplateVersion();
-
-    case WORKFLOW_EXECUTION_INSTANCE_ID:
-      return getWorkflowExecutionInstanceId();
-
-    case EXPERIMENT_INPUTS:
-      return getExperimentInputs();
-
-    case EXPERIMENT_OUTPUTS:
-      return getExperimentOutputs();
-
-    case EXPERIMENT_STATUS:
-      return getExperimentStatus();
-
-    case STATE_CHANGE_LIST:
-      return getStateChangeList();
-
-    case WORKFLOW_NODE_DETAILS_LIST:
-      return getWorkflowNodeDetailsList();
-
-    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 EXPERIMENT_ID:
-      return isSetExperimentID();
-    case PROJECT_ID:
-      return isSetProjectID();
-    case CREATION_TIME:
-      return isSetCreationTime();
-    case USER_NAME:
-      return isSetUserName();
-    case NAME:
-      return isSetName();
-    case DESCRIPTION:
-      return isSetDescription();
-    case APPLICATION_ID:
-      return isSetApplicationId();
-    case APPLICATION_VERSION:
-      return isSetApplicationVersion();
-    case WORKFLOW_TEMPLATE_ID:
-      return isSetWorkflowTemplateId();
-    case WORKFLOW_TEMPLATE_VERSION:
-      return isSetWorkflowTemplateVersion();
-    case WORKFLOW_EXECUTION_INSTANCE_ID:
-      return isSetWorkflowExecutionInstanceId();
-    case EXPERIMENT_INPUTS:
-      return isSetExperimentInputs();
-    case EXPERIMENT_OUTPUTS:
-      return isSetExperimentOutputs();
-    case EXPERIMENT_STATUS:
-      return isSetExperimentStatus();
-    case STATE_CHANGE_LIST:
-      return isSetStateChangeList();
-    case WORKFLOW_NODE_DETAILS_LIST:
-      return isSetWorkflowNodeDetailsList();
-    case ERRORS:
-      return isSetErrors();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof Experiment)
-      return this.equals((Experiment)that);
-    return false;
-  }
-
-  public boolean equals(Experiment that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_experimentID = true && this.isSetExperimentID();
-    boolean that_present_experimentID = true && that.isSetExperimentID();
-    if (this_present_experimentID || that_present_experimentID) {
-      if (!(this_present_experimentID && that_present_experimentID))
-        return false;
-      if (!this.experimentID.equals(that.experimentID))
-        return false;
-    }
-
-    boolean this_present_projectID = true && this.isSetProjectID();
-    boolean that_present_projectID = true && that.isSetProjectID();
-    if (this_present_projectID || that_present_projectID) {
-      if (!(this_present_projectID && that_present_projectID))
-        return false;
-      if (!this.projectID.equals(that.projectID))
-        return false;
-    }
-
-    boolean this_present_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_userName = true && this.isSetUserName();
-    boolean that_present_userName = true && that.isSetUserName();
-    if (this_present_userName || that_present_userName) {
-      if (!(this_present_userName && that_present_userName))
-        return false;
-      if (!this.userName.equals(that.userName))
-        return false;
-    }
-
-    boolean this_present_name = true && this.isSetName();
-    boolean that_present_name = true && that.isSetName();
-    if (this_present_name || that_present_name) {
-      if (!(this_present_name && that_present_name))
-        return false;
-      if (!this.name.equals(that.name))
-        return false;
-    }
-
-    boolean this_present_description = true && this.isSetDescription();
-    boolean that_present_description = true && that.isSetDescription();
-    if (this_present_description || that_present_description) {
-      if (!(this_present_description && that_present_description))
-        return false;
-      if (!this.description.equals(that.description))
-        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_workflowTemplateId = true && this.isSetWorkflowTemplateId();
-    boolean that_present_workflowTemplateId = true && that.isSetWorkflowTemplateId();
-    if (this_present_workflowTemplateId || that_present_workflowTemplateId) {
-      if (!(this_present_workflowTemplateId && that_present_workflowTemplateId))
-        return false;
-      if (!this.workflowTemplateId.equals(that.workflowTemplateId))
-        return false;
-    }
-
-    boolean this_present_workflowTemplateVersion = true && this.isSetWorkflowTemplateVersion();
-    boolean that_present_workflowTemplateVersion = true && that.isSetWorkflowTemplateVersion();
-    if (this_present_workflowTemplateVersion || that_present_workflowTemplateVersion) {
-      if (!(this_present_workflowTemplateVersion && that_present_workflowTemplateVersion))
-        return false;
-      if (!this.workflowTemplateVersion.equals(that.workflowTemplateVersion))
-        return false;
-    }
-
-    boolean this_present_workflowExecutionInstanceId = true && this.isSetWorkflowExecutionInstanceId();
-    boolean that_present_workflowExecutionInstanceId = true && that.isSetWorkflowExecutionInstanceId();
-    if (this_present_workflowExecutionInstanceId || that_present_workflowExecutionInstanceId) {
-      if (!(this_present_workflowExecutionInstanceId && that_present_workflowExecutionInstanceId))
-        return false;
-      if (!this.workflowExecutionInstanceId.equals(that.workflowExecutionInstanceId))
-        return false;
-    }
-
-    boolean this_present_experimentInputs = true && this.isSetExperimentInputs();
-    boolean that_present_experimentInputs = true && that.isSetExperimentInputs();
-    if (this_present_experimentInputs || that_present_experimentInputs) {
-      if (!(this_present_experimentInputs && that_present_experimentInputs))
-        return false;
-      if (!this.experimentInputs.equals(that.experimentInputs))
-        return false;
-    }
-
-    boolean this_present_experimentOutputs = true && this.isSetExperimentOutputs();
-    boolean that_present_experimentOutputs = true && that.isSetExperimentOutputs();
-    if (this_present_experimentOutputs || that_present_experimentOutputs) {
-      if (!(this_present_experimentOutputs && that_present_experimentOutputs))
-        return false;
-      if (!this.experimentOutputs.equals(that.experimentOutputs))
-        return false;
-    }
-
-    boolean this_present_experimentStatus = true && this.isSetExperimentStatus();
-    boolean that_present_experimentStatus = true && that.isSetExperimentStatus();
-    if (this_present_experimentStatus || that_present_experimentStatus) {
-      if (!(this_present_experimentStatus && that_present_experimentStatus))
-        return false;
-      if (!this.experimentStatus.equals(that.experimentStatus))
-        return false;
-    }
-
-    boolean this_present_stateChangeList = true && this.isSetStateChangeList();
-    boolean that_present_stateChangeList = true && that.isSetStateChangeList();
-    if (this_present_stateChangeList || that_present_stateChangeList) {
-      if (!(this_present_stateChangeList && that_present_stateChangeList))
-        return false;
-      if (!this.stateChangeList.equals(that.stateChangeList))
-        return false;
-    }
-
-    boolean this_present_workflowNodeDetailsList = true && this.isSetWorkflowNodeDetailsList();
-    boolean that_present_workflowNodeDetailsList = true && that.isSetWorkflowNodeDetailsList();
-    if (this_present_workflowNodeDetailsList || that_present_workflowNodeDetailsList) {
-      if (!(this_present_workflowNodeDetailsList && that_present_workflowNodeDetailsList))
-        return false;
-      if (!this.workflowNodeDetailsList.equals(that.workflowNodeDetailsList))
-        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(Experiment other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = Boolean.valueOf(isSetExperimentID()).compareTo(other.isSetExperimentID());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetExperimentID()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentID, other.experimentID);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetProjectID()).compareTo(other.isSetProjectID());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetProjectID()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.projectID, other.projectID);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(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(isSetUserName()).compareTo(other.isSetUserName());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetUserName()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userName, other.userName);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetName()).compareTo(other.isSetName());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetName()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetDescription()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.description, other.description);
-      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(isSetWorkflowTemplateId()).compareTo(other.isSetWorkflowTemplateId());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetWorkflowTemplateId()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.workflowTemplateId, other.workflowTemplateId);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetWorkflowTemplateVersion()).compareTo(other.isSetWorkflowTemplateVersion());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetWorkflowTemplateVersion()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.workflowTemplateVersion, other.workflowTemplateVersion);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetWorkflowExecutionInstanceId()).compareTo(other.isSetWorkflowExecutionInstanceId());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetWorkflowExecutionInstanceId()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.workflowExecutionInstanceId, other.workflowExecutionInstanceId);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetExperimentInputs()).compareTo(other.isSetExperimentInputs());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetExperimentInputs()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentInputs, other.experimentInputs);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetExperimentOutputs()).compareTo(other.isSetExperimentOutputs());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetExperimentOutputs()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentOutputs, other.experimentOutputs);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetExperimentStatus()).compareTo(other.isSetExperimentStatus());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetExperimentStatus()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentStatus, other.experimentStatus);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetStateChangeList()).compareTo(other.isSetStateChangeList());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetStateChangeList()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.stateChangeList, other.stateChangeList);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetWorkflowNodeDetailsList()).compareTo(other.isSetWorkflowNodeDetailsList());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetWorkflowNodeDetailsList()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.workflowNodeDetailsList, other.workflowNodeDetailsList);
-      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("Experiment(");
-    boolean first = true;
-
-    sb.append("experimentID:");
-    if (this.experimentID == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.experimentID);
-    }
-    first = false;
-    if (!first) sb.append(", ");
-    sb.append("projectID:");
-    if (this.projectID == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.projectID);
-    }
-    first = false;
-    if (isSetCreationTime()) {
-      if (!first) sb.append(", ");
-      sb.append("creationTime:");
-      sb.append(this.creationTime);
-      first = false;
-    }
-    if (!first) sb.append(", ");
-    sb.append("userName:");
-    if (this.userName == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.userName);
-    }
-    first = false;
-    if (!first) sb.append(", ");
-    sb.append("name:");
-    if (this.name == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.name);
-    }
-    first = false;
-    if (isSetDescription()) {
-      if (!first) sb.append(", ");
-      sb.append("description:");
-      if (this.description == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.description);
-      }
-      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 (isSetWorkflowTemplateId()) {
-      if (!first) sb.append(", ");
-      sb.append("workflowTemplateId:");
-      if (this.workflowTemplateId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.workflowTemplateId);
-      }
-      first = false;
-    }
-    if (isSetWorkflowTemplateVersion()) {
-      if (!first) sb.append(", ");
-      sb.append("workflowTemplateVersion:");
-      if (this.workflowTemplateVersion == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.workflowTemplateVersion);
-      }
-      first = false;
-    }
-    if (isSetWorkflowExecutionInstanceId()) {
-      if (!first) sb.append(", ");
-      sb.append("workflowExecutionInstanceId:");
-      if (this.workflowExecutionInstanceId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.workflowExecutionInstanceId);
-      }
-      first = false;
-    }
-    if (isSetExperimentInputs()) {
-      if (!first) sb.append(", ");
-      sb.append("experimentInputs:");
-      if (this.experimentInputs == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.experimentInputs);
-      }
-      first = false;
-    }
-    if (isSetExperimentOutputs()) {
-      if (!first) sb.append(", ");
-      sb.append("experimentOutputs:");
-      if (this.experimentOutputs == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.experimentOutputs);
-      }
-      first = false;
-    }
-    if (isSetExperimentStatus()) {
-      if (!first) sb.append(", ");
-      sb.append("experimentStatus:");
-      if (this.experimentStatus == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.experimentStatus);
-      }
-      first = false;
-    }
-    if (isSetStateChangeList()) {
-      if (!first) sb.append(", ");
-      sb.append("stateChangeList:");
-      if (this.stateChangeList == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.stateChangeList);
-      }
-      first = false;
-    }
-    if (isSetWorkflowNodeDetailsList()) {
-      if (!first) sb.append(", ");
-      sb.append("workflowNodeDetailsList:");
-      if (this.workflowNodeDetailsList == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.workflowNodeDetailsList);
-      }
-      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 (!isSetExperimentID()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'experimentID' is unset! Struct:" + toString());
-    }
-
-    if (!isSetProjectID()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'projectID' is unset! Struct:" + toString());
-    }
-
-    if (!isSetUserName()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'userName' is unset! Struct:" + toString());
-    }
-
-    if (!isSetName()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'name' is unset! Struct:" + toString());
-    }
-
-    // check for sub-struct validity
-    if (experimentStatus != null) {
-      experimentStatus.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 ExperimentStandardSchemeFactory implements SchemeFactory {
-    public ExperimentStandardScheme getScheme() {
-      return new ExperimentStandardScheme();
-    }
-  }
-
-  private static class ExperimentStandardScheme extends StandardScheme<Experiment> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, Experiment 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: // EXPERIMENT_ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.experimentID = iprot.readString();
-              struct.setExperimentIDIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 2: // PROJECT_ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.projectID = iprot.readString();
-              struct.setProjectIDIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 3: // 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 4: // USER_NAME
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.userName = iprot.readString();
-              struct.setUserNameIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 5: // NAME
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.name = iprot.readString();
-              struct.setNameIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 6: // DESCRIPTION
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.description = iprot.readString();
-              struct.setDescriptionIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 7: // 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 8: // 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 9: // WORKFLOW_TEMPLATE_ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.workflowTemplateId = iprot.readString();
-              struct.setWorkflowTemplateIdIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 10: // WORKFLOW_TEMPLATE_VERSION
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.workflowTemplateVersion = iprot.readString();
-              struct.setWorkflowTemplateVersionIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 11: // WORKFLOW_EXECUTION_INSTANCE_ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.workflowExecutionInstanceId = iprot.readString();
-              struct.setWorkflowExecutionInstanceIdIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 12: // EXPERIMENT_INPUTS
-            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-              {
-                org.apache.thrift.protocol.TList _list88 = iprot.readListBegin();
-                struct.experimentInputs = new ArrayList<DataObjectType>(_list88.size);
-                for (int _i89 = 0; _i89 < _list88.size; ++_i89)
-                {
-                  DataObjectType _elem90;
-                  _elem90 = new DataObjectType();
-                  _elem90.read(iprot);
-                  struct.experimentInputs.add(_elem90);
-                }
-                iprot.readListEnd();
-              }
-              struct.setExperimentInputsIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 13: // EXPERIMENT_OUTPUTS
-            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-              {
-                org.apache.thrift.protocol.TList _list91 = iprot.readListBegin();
-                struct.experimentOutputs = new ArrayList<DataObjectType>(_list91.size);
-                for (int _i92 = 0; _i92 < _list91.size; ++_i92)
-                {
-                  DataObjectType _elem93;
-                  _elem93 = new DataObjectType();
-                  _elem93.read(iprot);
-                  struct.experimentOutputs.add(_elem93);
-                }
-                iprot.readListEnd();
-              }
-              struct.setExperimentOutputsIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 14: // EXPERIMENT_STATUS
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-              struct.experimentStatus = new ExecutionStatus();
-              struct.experimentStatus.read(iprot);
-              struct.setExperimentStatusIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 15: // STATE_CHANGE_LIST
-            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-              {
-                org.apache.thrift.protocol.TList _list94 = iprot.readListBegin();
-                struct.stateChangeList = new ArrayList<ExecutionStatus>(_list94.size);
-                for (int _i95 = 0; _i95 < _list94.size; ++_i95)
-                {
-                  ExecutionStatus _elem96;
-                  _elem96 = new ExecutionStatus();
-                  _elem96.read(iprot);
-                  struct.stateChangeList.add(_elem96);
-                }
-                iprot.readListEnd();
-              }
-              struct.setStateChangeListIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 16: // WORKFLOW_NODE_DETAILS_LIST
-            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-              {
-                org.apache.thrift.protocol.TList _list97 = iprot.readListBegin();
-                struct.workflowNodeDetailsList = new ArrayList<WorkflowNodeDetails>(_list97.size);
-                for (int _i98 = 0; _i98 < _list97.size; ++_i98)
-                {
-                  WorkflowNodeDetails _elem99;
-                  _elem99 = new WorkflowNodeDetails();
-                  _elem99.read(iprot);
-                  struct.workflowNodeDetailsList.add(_elem99);
-                }
-                iprot.readListEnd();
-              }
-              struct.setWorkflowNodeDetailsListIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 17: // ERRORS
-            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-              {
-                org.apache.thrift.protocol.TList _list100 = iprot.readListBegin();
-                struct.errors = new ArrayList<ErrorDetails>(_list100.size);
-                for (int _i101 = 0; _i101 < _list100.size; ++_i101)
-                {
-                  ErrorDetails _elem102;
-                  _elem102 = new ErrorDetails();
-                  _elem102.read(iprot);
-                  struct.errors.add(_elem102);
-                }
-                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, Experiment struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.experimentID != null) {
-        oprot.writeFieldBegin(EXPERIMENT_ID_FIELD_DESC);
-        oprot.writeString(struct.experimentID);
-        oprot.writeFieldEnd();
-      }
-      if (struct.projectID != null) {
-        oprot.writeFieldBegin(PROJECT_ID_FIELD_DESC);
-        oprot.writeString(struct.projectID);
-        oprot.writeFieldEnd();
-      }
-      if (struct.isSetCreationTime()) {
-        oprot.writeFieldBegin(CREATION_TIME_FIELD_DESC);
-        oprot.writeI64(struct.creationTime);
-        oprot.writeFieldEnd();
-      }
-      if (struct.userName != null) {
-        oprot.writeFieldBegin(USER_NAME_FIELD_DESC);
-        oprot.writeString(struct.userName);
-        oprot.writeFieldEnd();
-      }
-      if (struct.name != null) {
-        oprot.writeFieldBegin(NAME_FIELD_DESC);
-        oprot.writeString(struct.name);
-        oprot.writeFieldEnd();
-      }
-      if (struct.description != null) {
-        if (struct.isSetDescription()) {
-          oprot.writeFieldBegin(DESCRIPTION_FIELD_DESC);
-          oprot.writeString(struct.description);
-          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.workflowTemplateId != null) {
-        if (struct.isSetWorkflowTemplateId()) {
-          oprot.writeFieldBegin(WORKFLOW_TEMPLATE_ID_FIELD_DESC);
-          oprot.writeString(struct.workflowTemplateId);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.workflowTemplateVersion != null) {
-        if (struct.isSetWorkflowTemplateVersion()) {
-          oprot.writeFieldBegin(WORKFLOW_TEMPLATE_VERSION_FIELD_DESC);
-          oprot.writeString(struct.workflowTemplateVersion);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.workflowExecutionInstanceId != null) {
-        if (struct.isSetWorkflowExecutionInstanceId()) {
-          oprot.writeFieldBegin(WORKFLOW_EXECUTION_INSTANCE_ID_FIELD_DESC);
-          oprot.writeString(struct.workflowExecutionInstanceId);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.experimentInputs != null) {
-        if (struct.isSetExperimentInputs()) {
-          oprot.writeFieldBegin(EXPERIMENT_INPUTS_FIELD_DESC);
-          {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.experimentInputs.size()));
-            for (DataObjectType _iter103 : struct.experimentInputs)
-            {
-              _iter103.write(oprot);
-            }
-            oprot.writeListEnd();
-          }
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.experimentOutputs != null) {
-        if (struct.isSetExperimentOutputs()) {
-          oprot.writeFieldBegin(EXPERIMENT_OUTPUTS_FIELD_DESC);
-          {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.experimentOutputs.size()));
-            for (DataObjectType _iter104 : struct.experimentOutputs)
-            {
-              _iter104.write(oprot);
-            }
-            oprot.writeListEnd();
-          }
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.experimentStatus != null) {
-        if (struct.isSetExperimentStatus()) {
-          oprot.writeFieldBegin(EXPERIMENT_STATUS_FIELD_DESC);
-          struct.experimentStatus.write(oprot);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.stateChangeList != null) {
-        if (struct.isSetStateChangeList()) {
-          oprot.writeFieldBegin(STATE_CHANGE_LIST_FIELD_DESC);
-          {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.stateChangeList.size()));
-            for (ExecutionStatus _iter105 : struct.stateChangeList)
-            {
-              _iter105.write(oprot);
-            }
-            oprot.writeListEnd();
-          }
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.workflowNodeDetailsList != null) {
-        if (struct.isSetWorkflowNodeDetailsList()) {
-          oprot.writeFieldBegin(WORKFLOW_NODE_DETAILS_LIST_FIELD_DESC);
-          {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.workflowNodeDetailsList.size()));
-            for (WorkflowNodeDetails _iter106 : struct.workflowNodeDetailsList)
-            {
-              _iter106.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 _iter107 : struct.errors)
-            {
-              _iter107.write(oprot);
-            }
-            oprot.writeListEnd();
-          }
-          oprot.writeFieldEnd();
-        }
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class ExperimentTupleSchemeFactory implements SchemeFactory {
-    public ExperimentTupleScheme getScheme() {
-      return new ExperimentTupleScheme();
-    }
-  }
-
-  private static class ExperimentTupleScheme extends TupleScheme<Experiment> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, Experiment struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      oprot.writeString(struct.experimentID);
-      oprot.writeString(struct.projectID);
-      oprot.writeString(struct.userName);
-      oprot.writeString(struct.name);
-      BitSet optionals = new BitSet();
-      if (struct.isSetCreationTime()) {
-        optionals.set(0);
-      }
-      if (struct.isSetDescription()) {
-        optionals.set(1);
-      }
-      if (struct.isSetApplicationId()) {
-        optionals.set(2);
-      }
-      if (struct.isSetApplicationVersion()) {
-        optionals.set(3);
-      }
-      if (struct.isSetWorkflowTemplateId()) {
-        optionals.set(4);
-      }
-      if (struct.isSetWorkflowTemplateVersion()) {
-        optionals.set(5);
-      }
-      if (struct.isSetWorkflowExecutionInstanceId()) {
-        optionals.set(6);
-      }
-      if (struct.isSetExperimentInputs()) {
-        optionals.set(7);
-      }
-      if (struct.isSetExperimentOutputs()) {
-        optionals.set(8);
-      }
-      if (struct.isSetExperimentStatus()) {
-        optionals.set(9);
-      }
-      if (struct.isSetStateChangeList()) {
-        optionals.set(10);
-      }
-      if (struct.isSetWorkflowNodeDetailsList()) {
-        optionals.set(11);
-      }
-      if (struct.isSetErrors()) {
-        optionals.set(12);
-      }
-      oprot.writeBitSet(optionals, 13);
-      if (struct.isSetCreationTime()) {
-        oprot.writeI64(struct.creationTime);
-      }
-      if (struct.isSetDescription()) {
-        oprot.writeString(struct.description);
-      }
-      if (struct.isSetApplicationId()) {
-        oprot.writeString(struct.applicationId);
-      }
-      if (struct.isSetApplicationVersion()) {
-        oprot.writeString(struct.applicationVersion);
-      }
-      if (struct.isSetWorkflowTemplateId()) {
-        oprot.writeString(struct.workflowTemplateId);
-      }
-      if (struct.isSetWorkflowTemplateVersion()) {
-        oprot.writeString(struct.workflowTemplateVersion);
-      }
-      if (struct.isSetWorkflowExecutionInstanceId()) {
-        oprot.writeString(struct.workflowExecutionInstanceId);
-      }
-      if (struct.isSetExperimentInputs()) {
-        {
-          oprot.writeI32(struct.experimentInputs.size());
-          for (DataObjectType _iter108 : struct.experimentInputs)
-          {
-            _iter108.write(oprot);
-          }
-        }
-      }
-      if (struct.isSetExperimentOutputs()) {
-        {
-          oprot.writeI32(struct.experimentOutputs.size());
-          for (DataObjectType _iter109 : struct.experimentOutputs)
-          {
-            _iter109.write(oprot);
-          }
-        }
-      }
-      if (struct.isSetExperimentStatus()) {
-        struct.experimentStatus.write(oprot);
-      }
-      if (struct.isSetStateChangeList()) {
-        {
-          oprot.writeI32(struct.stateChangeList.size());
-          for (ExecutionStatus _iter110 : struct.stateChangeList)
-          {
-            _iter110.write(oprot);
-          }
-        }
-      }
-      if (struct.isSetWorkflowNodeDetailsList()) {
-        {
-          oprot.writeI32(struct.workflowNodeDetailsList.size());
-          for (WorkflowNodeDetails _iter111 : struct.workflowNodeDetailsList)
-          {
-            _iter111.write(oprot);
-          }
-        }
-      }
-      if (struct.isSetErrors()) {
-        {
-          oprot.writeI32(struct.errors.size());
-          for (ErrorDetails _iter112 : struct.errors)
-          {
-            _iter112.write(oprot);
-          }
-        }
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, Experiment struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      struct.experimentID = iprot.readString();
-      struct.setExperimentIDIsSet(true);
-      struct.projectID = iprot.readString();
-      struct.setProjectIDIsSet(true);
-      struct.userName = iprot.readString();
-      struct.setUserNameIsSet(true);
-      struct.name = iprot.readString();
-      struct.setNameIsSet(true);
-      BitSet incoming = iprot.readBitSet(13);
-      if (incoming.get(0)) {
-        struct.creationTime = iprot.readI64();
-        struct.setCreationTimeIsSet(true);
-      }
-      if (incoming.get(1)) {
-        struct.description = iprot.readString();
-        struct.setDescriptionIsSet(true);
-      }
-      if (incoming.get(2)) {
-        struct.applicationId = iprot.readString();
-        struct.setApplicationIdIsSet(true);
-      }
-      if (incoming.get(3)) {
-        struct.applicationVersion = iprot.readString();
-        struct.setApplicationVersionIsSet(true);
-      }
-      if (incoming.get(4)) {
-        struct.workflowTemplateId = iprot.readString();
-        struct.setWorkflowTemplateIdIsSet(true);
-      }
-      if (incoming.get(5)) {
-        struct.workflowTemplateVersion = iprot.readString();
-        struct.setWorkflowTemplateVersionIsSet(true);
-      }
-      if (incoming.get(6)) {
-        struct.workflowExecutionInstanceId = iprot.readString();
-        struct.setWorkflowExecutionInstanceIdIsSet(true);
-      }
-      if (incoming.get(7)) {
-        {
-          org.apache.thrift.protocol.TList _list113 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.experimentInputs = new ArrayList<DataObjectType>(_list113.size);
-          for (int _i114 = 0; _i114 < _list113.size; ++_i114)
-          {
-            DataObjectType _elem115;
-            _elem115 = new DataObjectType();
-            _elem115.read(iprot);
-            struct.experimentInputs.add(_elem115);
-          }
-        }
-        struct.setExperimentInputsIsSet(true);
-      }
-      if (incoming.get(8)) {
-        {
-          org.apache.thrift.protocol.TList _list116 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.experimentOutputs = new ArrayList<DataObjectType>(_list116.size);
-          for (int _i117 = 0; _i117 < _list116.size; ++_i117)
-          {
-            DataObjectType _elem118;
-            _elem118 = new DataObjectType();
-            _elem118.read(iprot);
-            struct.experimentOutputs.add(_elem118);
-          }
-        }
-        struct.setExperimentOutputsIsSet(true);
-      }
-      if (incoming.get(9)) {
-        struct.experimentStatus = new ExecutionStatus();
-        struct.experimentStatus.read(iprot);
-        struct.setExperimentStatusIsSet(true);
-      }
-      if (incoming.get(10)) {
-        {
-          org.apache.thrift.protocol.TList _list119 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.stateChangeList = new ArrayList<ExecutionStatus>(_list119.size);
-          for (int _i120 = 0; _i120 < _list119.size; ++_i120)
-          {
-            ExecutionStatus _elem121;
-            _elem121 = new ExecutionStatus();
-            _elem121.read(iprot);
-            struct.stateChangeList.add(_elem121);
-          }
-        }
-        struct.setStateChangeListIsSet(true);
-      }
-      if (incoming.get(11)) {
-        {
-          org.apache.thrift.protocol.TList _list122 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.workflowNodeDetailsList = new ArrayList<WorkflowNodeDetails>(_list122.size);
-          for (int _i123 = 0; _i123 < _list122.size; ++_i123)
-          {
-            WorkflowNodeDetails _elem124;
-            _elem124 = new WorkflowNodeDetails();
-            _elem124.read(iprot);
-            struct.workflowNodeDetailsList.add(_elem124);
-          }
-        }
-        struct.setWorkflowNodeDetailsListIsSet(true);
-      }
-      if (incoming.get(12)) {
-        {
-          org.apache.thrift.protocol.TList _list125 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.errors = new ArrayList<ErrorDetails>(_list125.size);
-          for (int _i126 = 0; _i126 < _list125.size; ++_i126)
-          {
-            ErrorDetails _elem127;
-            _elem127 = new ErrorDetails();
-            _elem127.read(iprot);
-            struct.errors.add(_elem127);
-          }
-        }
-        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/experiment/ExperimentState.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentState.java
deleted file mode 100644
index 8cbbef2..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentState.java
+++ /dev/null
@@ -1,82 +0,0 @@
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.experiment;
-
-
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
-@SuppressWarnings("all") public enum ExperimentState implements org.apache.thrift.TEnum {
-  CREATED(0),
-  VALIDATED(1),
-  SCHEDULED(2),
-  LAUNCHED(3),
-  EXECUTING(4),
-  CANCELED(5),
-  COMPLETED(6),
-  FAILED(7),
-  UNKNOWN(8);
-
-  private final int value;
-
-  private ExperimentState(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 ExperimentState findByValue(int value) { 
-    switch (value) {
-      case 0:
-        return CREATED;
-      case 1:
-        return VALIDATED;
-      case 2:
-        return SCHEDULED;
-      case 3:
-        return LAUNCHED;
-      case 4:
-        return EXECUTING;
-      case 5:
-        return CANCELED;
-      case 6:
-        return COMPLETED;
-      case 7:
-        return FAILED;
-      case 8:
-        return UNKNOWN;
-      default:
-        return null;
-    }
-  }
-}