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/15 00:58:52 UTC

[8/8] git commit: Commiting the generated data-models for modified experiment model. - AIRAVATA-1017

Commiting the generated data-models for modified experiment model. - AIRAVATA-1017


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

Branch: refs/heads/master
Commit: 719cbf9e7acab14183be7d6295ba977c05685cde
Parents: 997d5ef
Author: Suresh Marru <sm...@apache.org>
Authored: Fri Feb 14 18:58:36 2014 -0500
Committer: Suresh Marru <sm...@apache.org>
Committed: Fri Feb 14 18:58:36 2014 -0500

----------------------------------------------------------------------
 .../model/experiment/ActionableGroup.java       |   70 +
 .../experiment/AdvancedInputDataHandling.java   |  104 +-
 .../experiment/AdvancedOutputDataHandling.java  |  104 +-
 .../model/experiment/ApplicationStatus.java     |  497 ++++
 .../ComputationalResourceScheduling.java        |  273 +--
 .../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 ++++
 .../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 ++++
 .../experimentModel.thrift                      |    8 +-
 26 files changed, 14004 insertions(+), 339 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/719cbf9e/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
new file mode 100644
index 0000000..e994bb3
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/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.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/719cbf9e/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
index ac1ba59..1ea9015 100644
--- 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
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
   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 WORKING_DIRECTORY_PARENT_FIELD_DESC = new org.apache.thrift.protocol.TField("workingDirectoryParent", org.apache.thrift.protocol.TType.STRING, (short)2);
+  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);
 
@@ -67,14 +67,14 @@ import org.slf4j.LoggerFactory;
   }
 
   private boolean stageInputFilesToWorkingDir; // optional
-  private String workingDirectoryParent; // 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"),
-    WORKING_DIRECTORY_PARENT((short)2, "workingDirectoryParent"),
+    PARENT_WORKING_DIRECTORY((short)2, "parentWorkingDirectory"),
     UNIQUE_WORKING_DIRECTORY((short)3, "uniqueWorkingDirectory"),
     CLEAN_UP_WORKING_DIR_AFTER_JOB((short)4, "cleanUpWorkingDirAfterJob");
 
@@ -93,8 +93,8 @@ import org.slf4j.LoggerFactory;
       switch(fieldId) {
         case 1: // STAGE_INPUT_FILES_TO_WORKING_DIR
           return STAGE_INPUT_FILES_TO_WORKING_DIR;
-        case 2: // WORKING_DIRECTORY_PARENT
-          return WORKING_DIRECTORY_PARENT;
+        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
@@ -142,13 +142,13 @@ import org.slf4j.LoggerFactory;
   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.WORKING_DIRECTORY_PARENT,_Fields.UNIQUE_WORKING_DIRECTORY,_Fields.CLEAN_UP_WORKING_DIR_AFTER_JOB};
+  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.WORKING_DIRECTORY_PARENT, new org.apache.thrift.meta_data.FieldMetaData("workingDirectoryParent", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+    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)));
@@ -171,8 +171,8 @@ import org.slf4j.LoggerFactory;
   public AdvancedInputDataHandling(AdvancedInputDataHandling other) {
     __isset_bitfield = other.__isset_bitfield;
     this.stageInputFilesToWorkingDir = other.stageInputFilesToWorkingDir;
-    if (other.isSetWorkingDirectoryParent()) {
-      this.workingDirectoryParent = other.workingDirectoryParent;
+    if (other.isSetParentWorkingDirectory()) {
+      this.parentWorkingDirectory = other.parentWorkingDirectory;
     }
     if (other.isSetUniqueWorkingDirectory()) {
       this.uniqueWorkingDirectory = other.uniqueWorkingDirectory;
@@ -188,7 +188,7 @@ import org.slf4j.LoggerFactory;
   public void clear() {
     this.stageInputFilesToWorkingDir = false;
 
-    this.workingDirectoryParent = null;
+    this.parentWorkingDirectory = null;
     this.uniqueWorkingDirectory = null;
     this.cleanUpWorkingDirAfterJob = false;
 
@@ -216,26 +216,26 @@ import org.slf4j.LoggerFactory;
     __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __STAGEINPUTFILESTOWORKINGDIR_ISSET_ID, value);
   }
 
-  public String getWorkingDirectoryParent() {
-    return this.workingDirectoryParent;
+  public String getParentWorkingDirectory() {
+    return this.parentWorkingDirectory;
   }
 
-  public void setWorkingDirectoryParent(String workingDirectoryParent) {
-    this.workingDirectoryParent = workingDirectoryParent;
+  public void setParentWorkingDirectory(String parentWorkingDirectory) {
+    this.parentWorkingDirectory = parentWorkingDirectory;
   }
 
-  public void unsetWorkingDirectoryParent() {
-    this.workingDirectoryParent = null;
+  public void unsetParentWorkingDirectory() {
+    this.parentWorkingDirectory = null;
   }
 
-  /** Returns true if field workingDirectoryParent is set (has been assigned a value) and false otherwise */
-  public boolean isSetWorkingDirectoryParent() {
-    return this.workingDirectoryParent != 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 setWorkingDirectoryParentIsSet(boolean value) {
+  public void setParentWorkingDirectoryIsSet(boolean value) {
     if (!value) {
-      this.workingDirectoryParent = null;
+      this.parentWorkingDirectory = null;
     }
   }
 
@@ -294,11 +294,11 @@ import org.slf4j.LoggerFactory;
       }
       break;
 
-    case WORKING_DIRECTORY_PARENT:
+    case PARENT_WORKING_DIRECTORY:
       if (value == null) {
-        unsetWorkingDirectoryParent();
+        unsetParentWorkingDirectory();
       } else {
-        setWorkingDirectoryParent((String)value);
+        setParentWorkingDirectory((String)value);
       }
       break;
 
@@ -326,8 +326,8 @@ import org.slf4j.LoggerFactory;
     case STAGE_INPUT_FILES_TO_WORKING_DIR:
       return Boolean.valueOf(isStageInputFilesToWorkingDir());
 
-    case WORKING_DIRECTORY_PARENT:
-      return getWorkingDirectoryParent();
+    case PARENT_WORKING_DIRECTORY:
+      return getParentWorkingDirectory();
 
     case UNIQUE_WORKING_DIRECTORY:
       return getUniqueWorkingDirectory();
@@ -348,8 +348,8 @@ import org.slf4j.LoggerFactory;
     switch (field) {
     case STAGE_INPUT_FILES_TO_WORKING_DIR:
       return isSetStageInputFilesToWorkingDir();
-    case WORKING_DIRECTORY_PARENT:
-      return isSetWorkingDirectoryParent();
+    case PARENT_WORKING_DIRECTORY:
+      return isSetParentWorkingDirectory();
     case UNIQUE_WORKING_DIRECTORY:
       return isSetUniqueWorkingDirectory();
     case CLEAN_UP_WORKING_DIR_AFTER_JOB:
@@ -380,12 +380,12 @@ import org.slf4j.LoggerFactory;
         return false;
     }
 
-    boolean this_present_workingDirectoryParent = true && this.isSetWorkingDirectoryParent();
-    boolean that_present_workingDirectoryParent = true && that.isSetWorkingDirectoryParent();
-    if (this_present_workingDirectoryParent || that_present_workingDirectoryParent) {
-      if (!(this_present_workingDirectoryParent && that_present_workingDirectoryParent))
+    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.workingDirectoryParent.equals(that.workingDirectoryParent))
+      if (!this.parentWorkingDirectory.equals(that.parentWorkingDirectory))
         return false;
     }
 
@@ -433,12 +433,12 @@ import org.slf4j.LoggerFactory;
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetWorkingDirectoryParent()).compareTo(other.isSetWorkingDirectoryParent());
+    lastComparison = Boolean.valueOf(isSetParentWorkingDirectory()).compareTo(other.isSetParentWorkingDirectory());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetWorkingDirectoryParent()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.workingDirectoryParent, other.workingDirectoryParent);
+    if (isSetParentWorkingDirectory()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.parentWorkingDirectory, other.parentWorkingDirectory);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -488,13 +488,13 @@ import org.slf4j.LoggerFactory;
       sb.append(this.stageInputFilesToWorkingDir);
       first = false;
     }
-    if (isSetWorkingDirectoryParent()) {
+    if (isSetParentWorkingDirectory()) {
       if (!first) sb.append(", ");
-      sb.append("workingDirectoryParent:");
-      if (this.workingDirectoryParent == null) {
+      sb.append("parentWorkingDirectory:");
+      if (this.parentWorkingDirectory == null) {
         sb.append("null");
       } else {
-        sb.append(this.workingDirectoryParent);
+        sb.append(this.parentWorkingDirectory);
       }
       first = false;
     }
@@ -567,10 +567,10 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 2: // WORKING_DIRECTORY_PARENT
+          case 2: // PARENT_WORKING_DIRECTORY
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.workingDirectoryParent = iprot.readString();
-              struct.setWorkingDirectoryParentIsSet(true);
+              struct.parentWorkingDirectory = iprot.readString();
+              struct.setParentWorkingDirectoryIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
@@ -609,10 +609,10 @@ import org.slf4j.LoggerFactory;
         oprot.writeBool(struct.stageInputFilesToWorkingDir);
         oprot.writeFieldEnd();
       }
-      if (struct.workingDirectoryParent != null) {
-        if (struct.isSetWorkingDirectoryParent()) {
-          oprot.writeFieldBegin(WORKING_DIRECTORY_PARENT_FIELD_DESC);
-          oprot.writeString(struct.workingDirectoryParent);
+      if (struct.parentWorkingDirectory != null) {
+        if (struct.isSetParentWorkingDirectory()) {
+          oprot.writeFieldBegin(PARENT_WORKING_DIRECTORY_FIELD_DESC);
+          oprot.writeString(struct.parentWorkingDirectory);
           oprot.writeFieldEnd();
         }
       }
@@ -649,7 +649,7 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetStageInputFilesToWorkingDir()) {
         optionals.set(0);
       }
-      if (struct.isSetWorkingDirectoryParent()) {
+      if (struct.isSetParentWorkingDirectory()) {
         optionals.set(1);
       }
       if (struct.isSetUniqueWorkingDirectory()) {
@@ -662,8 +662,8 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetStageInputFilesToWorkingDir()) {
         oprot.writeBool(struct.stageInputFilesToWorkingDir);
       }
-      if (struct.isSetWorkingDirectoryParent()) {
-        oprot.writeString(struct.workingDirectoryParent);
+      if (struct.isSetParentWorkingDirectory()) {
+        oprot.writeString(struct.parentWorkingDirectory);
       }
       if (struct.isSetUniqueWorkingDirectory()) {
         oprot.writeString(struct.uniqueWorkingDirectory);
@@ -682,8 +682,8 @@ import org.slf4j.LoggerFactory;
         struct.setStageInputFilesToWorkingDirIsSet(true);
       }
       if (incoming.get(1)) {
-        struct.workingDirectoryParent = iprot.readString();
-        struct.setWorkingDirectoryParentIsSet(true);
+        struct.parentWorkingDirectory = iprot.readString();
+        struct.setParentWorkingDirectoryIsSet(true);
       }
       if (incoming.get(2)) {
         struct.uniqueWorkingDirectory = iprot.readString();

http://git-wip-us.apache.org/repos/asf/airavata/blob/719cbf9e/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
index b4c389e..c2145f4 100644
--- 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
@@ -55,7 +55,7 @@ import org.slf4j.LoggerFactory;
 @SuppressWarnings("all") public class AdvancedOutputDataHandling implements org.apache.thrift.TBase<AdvancedOutputDataHandling, AdvancedOutputDataHandling._Fields>, java.io.Serializable, Cloneable, Comparable<AdvancedOutputDataHandling> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AdvancedOutputDataHandling");
 
-  private static final org.apache.thrift.protocol.TField OUTPUTDATA_DIR_FIELD_DESC = new org.apache.thrift.protocol.TField("outputdataDir", org.apache.thrift.protocol.TType.STRING, (short)2);
+  private static final org.apache.thrift.protocol.TField 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);
 
@@ -65,13 +65,13 @@ import org.slf4j.LoggerFactory;
     schemes.put(TupleScheme.class, new AdvancedOutputDataHandlingTupleSchemeFactory());
   }
 
-  private String outputdataDir; // optional
+  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 {
-    OUTPUTDATA_DIR((short)2, "outputdataDir"),
+    OUTPUT_DATA_DIR((short)2, "outputDataDir"),
     DATA_REGISTRY_URL((short)3, "dataRegistryURL"),
     PERSIST_OUTPUT_DATA((short)4, "persistOutputData");
 
@@ -88,8 +88,8 @@ import org.slf4j.LoggerFactory;
      */
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
-        case 2: // OUTPUTDATA_DIR
-          return OUTPUTDATA_DIR;
+        case 2: // OUTPUT_DATA_DIR
+          return OUTPUT_DATA_DIR;
         case 3: // DATA_REGISTRY_URL
           return DATA_REGISTRY_URL;
         case 4: // PERSIST_OUTPUT_DATA
@@ -136,11 +136,11 @@ import org.slf4j.LoggerFactory;
   // isset id assignments
   private static final int __PERSISTOUTPUTDATA_ISSET_ID = 0;
   private byte __isset_bitfield = 0;
-  private _Fields optionals[] = {_Fields.OUTPUTDATA_DIR,_Fields.DATA_REGISTRY_URL,_Fields.PERSIST_OUTPUT_DATA};
+  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.OUTPUTDATA_DIR, new org.apache.thrift.meta_data.FieldMetaData("outputdataDir", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+    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)));
@@ -160,8 +160,8 @@ import org.slf4j.LoggerFactory;
    */
   public AdvancedOutputDataHandling(AdvancedOutputDataHandling other) {
     __isset_bitfield = other.__isset_bitfield;
-    if (other.isSetOutputdataDir()) {
-      this.outputdataDir = other.outputdataDir;
+    if (other.isSetOutputDataDir()) {
+      this.outputDataDir = other.outputDataDir;
     }
     if (other.isSetDataRegistryURL()) {
       this.dataRegistryURL = other.dataRegistryURL;
@@ -175,32 +175,32 @@ import org.slf4j.LoggerFactory;
 
   @Override
   public void clear() {
-    this.outputdataDir = null;
+    this.outputDataDir = null;
     this.dataRegistryURL = null;
     this.persistOutputData = true;
 
   }
 
-  public String getOutputdataDir() {
-    return this.outputdataDir;
+  public String getOutputDataDir() {
+    return this.outputDataDir;
   }
 
-  public void setOutputdataDir(String outputdataDir) {
-    this.outputdataDir = outputdataDir;
+  public void setOutputDataDir(String outputDataDir) {
+    this.outputDataDir = outputDataDir;
   }
 
-  public void unsetOutputdataDir() {
-    this.outputdataDir = null;
+  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;
+  /** 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) {
+  public void setOutputDataDirIsSet(boolean value) {
     if (!value) {
-      this.outputdataDir = null;
+      this.outputDataDir = null;
     }
   }
 
@@ -251,11 +251,11 @@ import org.slf4j.LoggerFactory;
 
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
-    case OUTPUTDATA_DIR:
+    case OUTPUT_DATA_DIR:
       if (value == null) {
-        unsetOutputdataDir();
+        unsetOutputDataDir();
       } else {
-        setOutputdataDir((String)value);
+        setOutputDataDir((String)value);
       }
       break;
 
@@ -280,8 +280,8 @@ import org.slf4j.LoggerFactory;
 
   public Object getFieldValue(_Fields field) {
     switch (field) {
-    case OUTPUTDATA_DIR:
-      return getOutputdataDir();
+    case OUTPUT_DATA_DIR:
+      return getOutputDataDir();
 
     case DATA_REGISTRY_URL:
       return getDataRegistryURL();
@@ -300,8 +300,8 @@ import org.slf4j.LoggerFactory;
     }
 
     switch (field) {
-    case OUTPUTDATA_DIR:
-      return isSetOutputdataDir();
+    case OUTPUT_DATA_DIR:
+      return isSetOutputDataDir();
     case DATA_REGISTRY_URL:
       return isSetDataRegistryURL();
     case PERSIST_OUTPUT_DATA:
@@ -323,12 +323,12 @@ import org.slf4j.LoggerFactory;
     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))
+    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))
+      if (!this.outputDataDir.equals(that.outputDataDir))
         return false;
     }
 
@@ -366,12 +366,12 @@ import org.slf4j.LoggerFactory;
 
     int lastComparison = 0;
 
-    lastComparison = Boolean.valueOf(isSetOutputdataDir()).compareTo(other.isSetOutputdataDir());
+    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 (isSetOutputDataDir()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.outputDataDir, other.outputDataDir);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -416,12 +416,12 @@ import org.slf4j.LoggerFactory;
     StringBuilder sb = new StringBuilder("AdvancedOutputDataHandling(");
     boolean first = true;
 
-    if (isSetOutputdataDir()) {
-      sb.append("outputdataDir:");
-      if (this.outputdataDir == null) {
+    if (isSetOutputDataDir()) {
+      sb.append("outputDataDir:");
+      if (this.outputDataDir == null) {
         sb.append("null");
       } else {
-        sb.append(this.outputdataDir);
+        sb.append(this.outputDataDir);
       }
       first = false;
     }
@@ -486,10 +486,10 @@ import org.slf4j.LoggerFactory;
           break;
         }
         switch (schemeField.id) {
-          case 2: // OUTPUTDATA_DIR
+          case 2: // OUTPUT_DATA_DIR
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.outputdataDir = iprot.readString();
-              struct.setOutputdataDirIsSet(true);
+              struct.outputDataDir = iprot.readString();
+              struct.setOutputDataDirIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
@@ -523,10 +523,10 @@ import org.slf4j.LoggerFactory;
       struct.validate();
 
       oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.outputdataDir != null) {
-        if (struct.isSetOutputdataDir()) {
-          oprot.writeFieldBegin(OUTPUTDATA_DIR_FIELD_DESC);
-          oprot.writeString(struct.outputdataDir);
+      if (struct.outputDataDir != null) {
+        if (struct.isSetOutputDataDir()) {
+          oprot.writeFieldBegin(OUTPUT_DATA_DIR_FIELD_DESC);
+          oprot.writeString(struct.outputDataDir);
           oprot.writeFieldEnd();
         }
       }
@@ -560,7 +560,7 @@ import org.slf4j.LoggerFactory;
     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()) {
+      if (struct.isSetOutputDataDir()) {
         optionals.set(0);
       }
       if (struct.isSetDataRegistryURL()) {
@@ -570,8 +570,8 @@ import org.slf4j.LoggerFactory;
         optionals.set(2);
       }
       oprot.writeBitSet(optionals, 3);
-      if (struct.isSetOutputdataDir()) {
-        oprot.writeString(struct.outputdataDir);
+      if (struct.isSetOutputDataDir()) {
+        oprot.writeString(struct.outputDataDir);
       }
       if (struct.isSetDataRegistryURL()) {
         oprot.writeString(struct.dataRegistryURL);
@@ -586,8 +586,8 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol iprot = (TTupleProtocol) prot;
       BitSet incoming = iprot.readBitSet(3);
       if (incoming.get(0)) {
-        struct.outputdataDir = iprot.readString();
-        struct.setOutputdataDirIsSet(true);
+        struct.outputDataDir = iprot.readString();
+        struct.setOutputDataDirIsSet(true);
       }
       if (incoming.get(1)) {
         struct.dataRegistryURL = iprot.readString();

http://git-wip-us.apache.org/repos/asf/airavata/blob/719cbf9e/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
new file mode 100644
index 0000000..1ea0c61
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/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.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);
+      }
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/719cbf9e/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
index 634ce07..ba9bb65 100644
--- 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
@@ -55,17 +55,15 @@ import org.slf4j.LoggerFactory;
 @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 AIRAVATA_AUTO_SCHEDULE_FIELD_DESC = new org.apache.thrift.protocol.TField("airavataAutoSchedule", org.apache.thrift.protocol.TType.BOOL, (short)1);
-  private static final org.apache.thrift.protocol.TField OVERRIDE_MANUAL_SCHEDULED_PARAMS_FIELD_DESC = new org.apache.thrift.protocol.TField("overrideManualScheduledParams", org.apache.thrift.protocol.TType.BOOL, (short)2);
-  private static final org.apache.thrift.protocol.TField RESOURCE_HOST_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("resourceHostId", org.apache.thrift.protocol.TType.STRING, (short)3);
-  private static final org.apache.thrift.protocol.TField TOTAL_CPUCOUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("totalCPUCount", org.apache.thrift.protocol.TType.I32, (short)4);
-  private static final org.apache.thrift.protocol.TField NODE_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("nodeCount", org.apache.thrift.protocol.TType.I32, (short)5);
-  private static final org.apache.thrift.protocol.TField NUMBER_OF_THREADS_FIELD_DESC = new org.apache.thrift.protocol.TField("numberOfThreads", org.apache.thrift.protocol.TType.I32, (short)6);
-  private static final org.apache.thrift.protocol.TField QUEUE_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("queueName", org.apache.thrift.protocol.TType.STRING, (short)7);
-  private static final org.apache.thrift.protocol.TField WALL_TIME_LIMIT_FIELD_DESC = new org.apache.thrift.protocol.TField("wallTimeLimit", org.apache.thrift.protocol.TType.I32, (short)8);
-  private static final org.apache.thrift.protocol.TField JOB_START_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("jobStartTime", org.apache.thrift.protocol.TType.I32, (short)9);
-  private static final org.apache.thrift.protocol.TField TOTAL_PHYSICAL_MEMORY_FIELD_DESC = new org.apache.thrift.protocol.TField("totalPhysicalMemory", org.apache.thrift.protocol.TType.I32, (short)10);
-  private static final org.apache.thrift.protocol.TField COMPUTATIONAL_PROJECT_ACCOUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("ComputationalProjectAccount", org.apache.thrift.protocol.TType.STRING, (short)11);
+  private static final 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 {
@@ -73,8 +71,6 @@ import org.slf4j.LoggerFactory;
     schemes.put(TupleScheme.class, new ComputationalResourceSchedulingTupleSchemeFactory());
   }
 
-  private boolean airavataAutoSchedule; // required
-  private boolean overrideManualScheduledParams; // required
   private String resourceHostId; // optional
   private int totalCPUCount; // optional
   private int nodeCount; // optional
@@ -87,17 +83,15 @@ import org.slf4j.LoggerFactory;
 
   /** 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"),
-    RESOURCE_HOST_ID((short)3, "resourceHostId"),
-    TOTAL_CPUCOUNT((short)4, "totalCPUCount"),
-    NODE_COUNT((short)5, "nodeCount"),
-    NUMBER_OF_THREADS((short)6, "numberOfThreads"),
-    QUEUE_NAME((short)7, "queueName"),
-    WALL_TIME_LIMIT((short)8, "wallTimeLimit"),
-    JOB_START_TIME((short)9, "jobStartTime"),
-    TOTAL_PHYSICAL_MEMORY((short)10, "totalPhysicalMemory"),
-    COMPUTATIONAL_PROJECT_ACCOUNT((short)11, "ComputationalProjectAccount");
+    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>();
 
@@ -112,27 +106,23 @@ import org.slf4j.LoggerFactory;
      */
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
-        case 1: // AIRAVATA_AUTO_SCHEDULE
-          return AIRAVATA_AUTO_SCHEDULE;
-        case 2: // OVERRIDE_MANUAL_SCHEDULED_PARAMS
-          return OVERRIDE_MANUAL_SCHEDULED_PARAMS;
-        case 3: // RESOURCE_HOST_ID
+        case 1: // RESOURCE_HOST_ID
           return RESOURCE_HOST_ID;
-        case 4: // TOTAL_CPUCOUNT
+        case 2: // TOTAL_CPUCOUNT
           return TOTAL_CPUCOUNT;
-        case 5: // NODE_COUNT
+        case 3: // NODE_COUNT
           return NODE_COUNT;
-        case 6: // NUMBER_OF_THREADS
+        case 4: // NUMBER_OF_THREADS
           return NUMBER_OF_THREADS;
-        case 7: // QUEUE_NAME
+        case 5: // QUEUE_NAME
           return QUEUE_NAME;
-        case 8: // WALL_TIME_LIMIT
+        case 6: // WALL_TIME_LIMIT
           return WALL_TIME_LIMIT;
-        case 9: // JOB_START_TIME
+        case 7: // JOB_START_TIME
           return JOB_START_TIME;
-        case 10: // TOTAL_PHYSICAL_MEMORY
+        case 8: // TOTAL_PHYSICAL_MEMORY
           return TOTAL_PHYSICAL_MEMORY;
-        case 11: // COMPUTATIONAL_PROJECT_ACCOUNT
+        case 9: // COMPUTATIONAL_PROJECT_ACCOUNT
           return COMPUTATIONAL_PROJECT_ACCOUNT;
         default:
           return null;
@@ -174,23 +164,17 @@ import org.slf4j.LoggerFactory;
   }
 
   // isset id assignments
-  private static final int __AIRAVATAAUTOSCHEDULE_ISSET_ID = 0;
-  private static final int __OVERRIDEMANUALSCHEDULEDPARAMS_ISSET_ID = 1;
-  private static final int __TOTALCPUCOUNT_ISSET_ID = 2;
-  private static final int __NODECOUNT_ISSET_ID = 3;
-  private static final int __NUMBEROFTHREADS_ISSET_ID = 4;
-  private static final int __WALLTIMELIMIT_ISSET_ID = 5;
-  private static final int __JOBSTARTTIME_ISSET_ID = 6;
-  private static final int __TOTALPHYSICALMEMORY_ISSET_ID = 7;
+  private 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.AIRAVATA_AUTO_SCHEDULE, new org.apache.thrift.meta_data.FieldMetaData("airavataAutoSchedule", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
-    tmpMap.put(_Fields.OVERRIDE_MANUAL_SCHEDULED_PARAMS, new org.apache.thrift.meta_data.FieldMetaData("overrideManualScheduledParams", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
     tmpMap.put(_Fields.RESOURCE_HOST_ID, new org.apache.thrift.meta_data.FieldMetaData("resourceHostId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.TOTAL_CPUCOUNT, new org.apache.thrift.meta_data.FieldMetaData("totalCPUCount", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
@@ -214,21 +198,6 @@ import org.slf4j.LoggerFactory;
   }
 
   public ComputationalResourceScheduling() {
-    this.airavataAutoSchedule = true;
-
-    this.overrideManualScheduledParams = false;
-
-  }
-
-  public ComputationalResourceScheduling(
-    boolean airavataAutoSchedule,
-    boolean overrideManualScheduledParams)
-  {
-    this();
-    this.airavataAutoSchedule = airavataAutoSchedule;
-    setAiravataAutoScheduleIsSet(true);
-    this.overrideManualScheduledParams = overrideManualScheduledParams;
-    setOverrideManualScheduledParamsIsSet(true);
   }
 
   /**
@@ -236,8 +205,6 @@ import org.slf4j.LoggerFactory;
    */
   public ComputationalResourceScheduling(ComputationalResourceScheduling other) {
     __isset_bitfield = other.__isset_bitfield;
-    this.airavataAutoSchedule = other.airavataAutoSchedule;
-    this.overrideManualScheduledParams = other.overrideManualScheduledParams;
     if (other.isSetResourceHostId()) {
       this.resourceHostId = other.resourceHostId;
     }
@@ -261,10 +228,6 @@ import org.slf4j.LoggerFactory;
 
   @Override
   public void clear() {
-    this.airavataAutoSchedule = true;
-
-    this.overrideManualScheduledParams = false;
-
     this.resourceHostId = null;
     setTotalCPUCountIsSet(false);
     this.totalCPUCount = 0;
@@ -282,50 +245,6 @@ import org.slf4j.LoggerFactory;
     this.ComputationalProjectAccount = 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 String getResourceHostId() {
     return this.resourceHostId;
   }
@@ -529,22 +448,6 @@ import org.slf4j.LoggerFactory;
 
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
-    case AIRAVATA_AUTO_SCHEDULE:
-      if (value == null) {
-        unsetAiravataAutoSchedule();
-      } else {
-        setAiravataAutoSchedule((Boolean)value);
-      }
-      break;
-
-    case OVERRIDE_MANUAL_SCHEDULED_PARAMS:
-      if (value == null) {
-        unsetOverrideManualScheduledParams();
-      } else {
-        setOverrideManualScheduledParams((Boolean)value);
-      }
-      break;
-
     case RESOURCE_HOST_ID:
       if (value == null) {
         unsetResourceHostId();
@@ -622,12 +525,6 @@ import org.slf4j.LoggerFactory;
 
   public Object getFieldValue(_Fields field) {
     switch (field) {
-    case AIRAVATA_AUTO_SCHEDULE:
-      return Boolean.valueOf(isAiravataAutoSchedule());
-
-    case OVERRIDE_MANUAL_SCHEDULED_PARAMS:
-      return Boolean.valueOf(isOverrideManualScheduledParams());
-
     case RESOURCE_HOST_ID:
       return getResourceHostId();
 
@@ -666,10 +563,6 @@ import org.slf4j.LoggerFactory;
     }
 
     switch (field) {
-    case AIRAVATA_AUTO_SCHEDULE:
-      return isSetAiravataAutoSchedule();
-    case OVERRIDE_MANUAL_SCHEDULED_PARAMS:
-      return isSetOverrideManualScheduledParams();
     case RESOURCE_HOST_ID:
       return isSetResourceHostId();
     case TOTAL_CPUCOUNT:
@@ -705,24 +598,6 @@ import org.slf4j.LoggerFactory;
     if (that == null)
       return false;
 
-    boolean this_present_airavataAutoSchedule = true;
-    boolean that_present_airavataAutoSchedule = true;
-    if (this_present_airavataAutoSchedule || that_present_airavataAutoSchedule) {
-      if (!(this_present_airavataAutoSchedule && that_present_airavataAutoSchedule))
-        return false;
-      if (this.airavataAutoSchedule != that.airavataAutoSchedule)
-        return false;
-    }
-
-    boolean this_present_overrideManualScheduledParams = true;
-    boolean that_present_overrideManualScheduledParams = true;
-    if (this_present_overrideManualScheduledParams || that_present_overrideManualScheduledParams) {
-      if (!(this_present_overrideManualScheduledParams && that_present_overrideManualScheduledParams))
-        return false;
-      if (this.overrideManualScheduledParams != that.overrideManualScheduledParams)
-        return false;
-    }
-
     boolean this_present_resourceHostId = true && this.isSetResourceHostId();
     boolean that_present_resourceHostId = true && that.isSetResourceHostId();
     if (this_present_resourceHostId || that_present_resourceHostId) {
@@ -820,26 +695,6 @@ import org.slf4j.LoggerFactory;
 
     int lastComparison = 0;
 
-    lastComparison = Boolean.valueOf(isSetAiravataAutoSchedule()).compareTo(other.isSetAiravataAutoSchedule());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetAiravataAutoSchedule()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.airavataAutoSchedule, other.airavataAutoSchedule);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetOverrideManualScheduledParams()).compareTo(other.isSetOverrideManualScheduledParams());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetOverrideManualScheduledParams()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.overrideManualScheduledParams, other.overrideManualScheduledParams);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
     lastComparison = Boolean.valueOf(isSetResourceHostId()).compareTo(other.isSetResourceHostId());
     if (lastComparison != 0) {
       return lastComparison;
@@ -950,15 +805,7 @@ import org.slf4j.LoggerFactory;
     StringBuilder sb = new StringBuilder("ComputationalResourceScheduling(");
     boolean first = true;
 
-    sb.append("airavataAutoSchedule:");
-    sb.append(this.airavataAutoSchedule);
-    first = false;
-    if (!first) sb.append(", ");
-    sb.append("overrideManualScheduledParams:");
-    sb.append(this.overrideManualScheduledParams);
-    first = false;
     if (isSetResourceHostId()) {
-      if (!first) sb.append(", ");
       sb.append("resourceHostId:");
       if (this.resourceHostId == null) {
         sb.append("null");
@@ -1029,14 +876,6 @@ import org.slf4j.LoggerFactory;
 
   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
   }
 
@@ -1076,23 +915,7 @@ import org.slf4j.LoggerFactory;
           break;
         }
         switch (schemeField.id) {
-          case 1: // AIRAVATA_AUTO_SCHEDULE
-            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
-              struct.airavataAutoSchedule = iprot.readBool();
-              struct.setAiravataAutoScheduleIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 2: // OVERRIDE_MANUAL_SCHEDULED_PARAMS
-            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
-              struct.overrideManualScheduledParams = iprot.readBool();
-              struct.setOverrideManualScheduledParamsIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 3: // RESOURCE_HOST_ID
+          case 1: // RESOURCE_HOST_ID
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.resourceHostId = iprot.readString();
               struct.setResourceHostIdIsSet(true);
@@ -1100,7 +923,7 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 4: // TOTAL_CPUCOUNT
+          case 2: // TOTAL_CPUCOUNT
             if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
               struct.totalCPUCount = iprot.readI32();
               struct.setTotalCPUCountIsSet(true);
@@ -1108,7 +931,7 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 5: // NODE_COUNT
+          case 3: // NODE_COUNT
             if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
               struct.nodeCount = iprot.readI32();
               struct.setNodeCountIsSet(true);
@@ -1116,7 +939,7 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 6: // NUMBER_OF_THREADS
+          case 4: // NUMBER_OF_THREADS
             if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
               struct.numberOfThreads = iprot.readI32();
               struct.setNumberOfThreadsIsSet(true);
@@ -1124,7 +947,7 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 7: // QUEUE_NAME
+          case 5: // QUEUE_NAME
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.queueName = iprot.readString();
               struct.setQueueNameIsSet(true);
@@ -1132,7 +955,7 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 8: // WALL_TIME_LIMIT
+          case 6: // WALL_TIME_LIMIT
             if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
               struct.wallTimeLimit = iprot.readI32();
               struct.setWallTimeLimitIsSet(true);
@@ -1140,7 +963,7 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 9: // JOB_START_TIME
+          case 7: // JOB_START_TIME
             if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
               struct.jobStartTime = iprot.readI32();
               struct.setJobStartTimeIsSet(true);
@@ -1148,7 +971,7 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 10: // TOTAL_PHYSICAL_MEMORY
+          case 8: // TOTAL_PHYSICAL_MEMORY
             if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
               struct.totalPhysicalMemory = iprot.readI32();
               struct.setTotalPhysicalMemoryIsSet(true);
@@ -1156,7 +979,7 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 11: // COMPUTATIONAL_PROJECT_ACCOUNT
+          case 9: // COMPUTATIONAL_PROJECT_ACCOUNT
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.ComputationalProjectAccount = iprot.readString();
               struct.setComputationalProjectAccountIsSet(true);
@@ -1177,12 +1000,6 @@ import org.slf4j.LoggerFactory;
       struct.validate();
 
       oprot.writeStructBegin(STRUCT_DESC);
-      oprot.writeFieldBegin(AIRAVATA_AUTO_SCHEDULE_FIELD_DESC);
-      oprot.writeBool(struct.airavataAutoSchedule);
-      oprot.writeFieldEnd();
-      oprot.writeFieldBegin(OVERRIDE_MANUAL_SCHEDULED_PARAMS_FIELD_DESC);
-      oprot.writeBool(struct.overrideManualScheduledParams);
-      oprot.writeFieldEnd();
       if (struct.resourceHostId != null) {
         if (struct.isSetResourceHostId()) {
           oprot.writeFieldBegin(RESOURCE_HOST_ID_FIELD_DESC);
@@ -1251,8 +1068,6 @@ import org.slf4j.LoggerFactory;
     @Override
     public void write(org.apache.thrift.protocol.TProtocol prot, ComputationalResourceScheduling struct) throws org.apache.thrift.TException {
       TTupleProtocol oprot = (TTupleProtocol) prot;
-      oprot.writeBool(struct.airavataAutoSchedule);
-      oprot.writeBool(struct.overrideManualScheduledParams);
       BitSet optionals = new BitSet();
       if (struct.isSetResourceHostId()) {
         optionals.set(0);
@@ -1314,10 +1129,6 @@ import org.slf4j.LoggerFactory;
     @Override
     public void read(org.apache.thrift.protocol.TProtocol prot, ComputationalResourceScheduling struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
-      struct.airavataAutoSchedule = iprot.readBool();
-      struct.setAiravataAutoScheduleIsSet(true);
-      struct.overrideManualScheduledParams = iprot.readBool();
-      struct.setOverrideManualScheduledParamsIsSet(true);
       BitSet incoming = iprot.readBitSet(9);
       if (incoming.get(0)) {
         struct.resourceHostId = iprot.readString();

http://git-wip-us.apache.org/repos/asf/airavata/blob/719cbf9e/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
new file mode 100644
index 0000000..fa62d9d
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/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.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;
+    }
+  }
+}