http://git-wip-us.apache.org/repos/asf/airavata/blob/415e9b70/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
 
b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
index 4c97ae5..7b01741 100644
--- 
a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
+++ 
b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
@@ -87,7 +87,7 @@ public class ExperimentModel implements 
org.apache.thrift.TBase<ExperimentModel,
   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)14);
   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)15);
   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)16);
-  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)17);
+  private static final org.apache.thrift.protocol.TField 
EXPERIMENT_STATUS_FIELD_DESC = new 
org.apache.thrift.protocol.TField("experimentStatus", 
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 org.apache.thrift.protocol.TField PROCESSES_FIELD_DESC 
= new org.apache.thrift.protocol.TField("processes", 
org.apache.thrift.protocol.TType.LIST, (short)19);
 
@@ -113,7 +113,7 @@ public class ExperimentModel implements 
org.apache.thrift.TBase<ExperimentModel,
   private UserConfigurationDataModel userConfigurationData; // optional
   private List<org.apache.airavata.model.application.io.InputDataObjectType> 
experimentInputs; // optional
   private List<org.apache.airavata.model.application.io.OutputDataObjectType> 
experimentOutputs; // optional
-  private org.apache.airavata.model.status.ExperimentStatus experimentStatus; 
// optional
+  private List<org.apache.airavata.model.status.ExperimentStatus> 
experimentStatus; // optional
   private List<org.apache.airavata.model.commons.ErrorModel> errors; // 
optional
   private List<org.apache.airavata.model.process.ProcessModel> processes; // 
optional
 
@@ -277,7 +277,8 @@ public class ExperimentModel implements 
org.apache.thrift.TBase<ExperimentModel,
         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,
 org.apache.airavata.model.application.io.OutputDataObjectType.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,
 org.apache.airavata.model.status.ExperimentStatus.class)));
+        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,
 org.apache.airavata.model.status.ExperimentStatus.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,
 org.apache.airavata.model.commons.ErrorModel.class))));
@@ -371,7 +372,11 @@ public class ExperimentModel implements 
org.apache.thrift.TBase<ExperimentModel,
       this.experimentOutputs = __this__experimentOutputs;
     }
     if (other.isSetExperimentStatus()) {
-      this.experimentStatus = new 
org.apache.airavata.model.status.ExperimentStatus(other.experimentStatus);
+      List<org.apache.airavata.model.status.ExperimentStatus> 
__this__experimentStatus = new 
ArrayList<org.apache.airavata.model.status.ExperimentStatus>(other.experimentStatus.size());
+      for (org.apache.airavata.model.status.ExperimentStatus other_element : 
other.experimentStatus) {
+        __this__experimentStatus.add(new 
org.apache.airavata.model.status.ExperimentStatus(other_element));
+      }
+      this.experimentStatus = __this__experimentStatus;
     }
     if (other.isSetErrors()) {
       List<org.apache.airavata.model.commons.ErrorModel> __this__errors = new 
ArrayList<org.apache.airavata.model.commons.ErrorModel>(other.errors.size());
@@ -839,11 +844,26 @@ public class ExperimentModel implements 
org.apache.thrift.TBase<ExperimentModel,
     }
   }
 
-  public org.apache.airavata.model.status.ExperimentStatus 
getExperimentStatus() {
+  public int getExperimentStatusSize() {
+    return (this.experimentStatus == null) ? 0 : this.experimentStatus.size();
+  }
+
+  public java.util.Iterator<org.apache.airavata.model.status.ExperimentStatus> 
getExperimentStatusIterator() {
+    return (this.experimentStatus == null) ? null : 
this.experimentStatus.iterator();
+  }
+
+  public void 
addToExperimentStatus(org.apache.airavata.model.status.ExperimentStatus elem) {
+    if (this.experimentStatus == null) {
+      this.experimentStatus = new 
ArrayList<org.apache.airavata.model.status.ExperimentStatus>();
+    }
+    this.experimentStatus.add(elem);
+  }
+
+  public List<org.apache.airavata.model.status.ExperimentStatus> 
getExperimentStatus() {
     return this.experimentStatus;
   }
 
-  public void 
setExperimentStatus(org.apache.airavata.model.status.ExperimentStatus 
experimentStatus) {
+  public void 
setExperimentStatus(List<org.apache.airavata.model.status.ExperimentStatus> 
experimentStatus) {
     this.experimentStatus = experimentStatus;
   }
 
@@ -1072,7 +1092,7 @@ public class ExperimentModel implements 
org.apache.thrift.TBase<ExperimentModel,
       if (value == null) {
         unsetExperimentStatus();
       } else {
-        
setExperimentStatus((org.apache.airavata.model.status.ExperimentStatus)value);
+        
setExperimentStatus((List<org.apache.airavata.model.status.ExperimentStatus>)value);
       }
       break;
 
@@ -1917,9 +1937,6 @@ public class ExperimentModel implements 
org.apache.thrift.TBase<ExperimentModel,
     if (userConfigurationData != null) {
       userConfigurationData.validate();
     }
-    if (experimentStatus != null) {
-      experimentStatus.validate();
-    }
   }
 
   private void writeObject(java.io.ObjectOutputStream out) throws 
java.io.IOException {
@@ -2120,9 +2137,19 @@ public class ExperimentModel implements 
org.apache.thrift.TBase<ExperimentModel,
             }
             break;
           case 17: // EXPERIMENT_STATUS
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-              struct.experimentStatus = new 
org.apache.airavata.model.status.ExperimentStatus();
-              struct.experimentStatus.read(iprot);
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list9 = 
iprot.readListBegin();
+                struct.experimentStatus = new 
ArrayList<org.apache.airavata.model.status.ExperimentStatus>(_list9.size);
+                org.apache.airavata.model.status.ExperimentStatus _elem10;
+                for (int _i11 = 0; _i11 < _list9.size; ++_i11)
+                {
+                  _elem10 = new 
org.apache.airavata.model.status.ExperimentStatus();
+                  _elem10.read(iprot);
+                  struct.experimentStatus.add(_elem10);
+                }
+                iprot.readListEnd();
+              }
               struct.setExperimentStatusIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
@@ -2131,14 +2158,14 @@ public class ExperimentModel implements 
org.apache.thrift.TBase<ExperimentModel,
           case 18: // ERRORS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list9 = 
iprot.readListBegin();
-                struct.errors = new 
ArrayList<org.apache.airavata.model.commons.ErrorModel>(_list9.size);
-                org.apache.airavata.model.commons.ErrorModel _elem10;
-                for (int _i11 = 0; _i11 < _list9.size; ++_i11)
+                org.apache.thrift.protocol.TList _list12 = 
iprot.readListBegin();
+                struct.errors = new 
ArrayList<org.apache.airavata.model.commons.ErrorModel>(_list12.size);
+                org.apache.airavata.model.commons.ErrorModel _elem13;
+                for (int _i14 = 0; _i14 < _list12.size; ++_i14)
                 {
-                  _elem10 = new org.apache.airavata.model.commons.ErrorModel();
-                  _elem10.read(iprot);
-                  struct.errors.add(_elem10);
+                  _elem13 = new org.apache.airavata.model.commons.ErrorModel();
+                  _elem13.read(iprot);
+                  struct.errors.add(_elem13);
                 }
                 iprot.readListEnd();
               }
@@ -2150,14 +2177,14 @@ public class ExperimentModel implements 
org.apache.thrift.TBase<ExperimentModel,
           case 19: // PROCESSES
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list12 = 
iprot.readListBegin();
-                struct.processes = new 
ArrayList<org.apache.airavata.model.process.ProcessModel>(_list12.size);
-                org.apache.airavata.model.process.ProcessModel _elem13;
-                for (int _i14 = 0; _i14 < _list12.size; ++_i14)
+                org.apache.thrift.protocol.TList _list15 = 
iprot.readListBegin();
+                struct.processes = new 
ArrayList<org.apache.airavata.model.process.ProcessModel>(_list15.size);
+                org.apache.airavata.model.process.ProcessModel _elem16;
+                for (int _i17 = 0; _i17 < _list15.size; ++_i17)
                 {
-                  _elem13 = new 
org.apache.airavata.model.process.ProcessModel();
-                  _elem13.read(iprot);
-                  struct.processes.add(_elem13);
+                  _elem16 = new 
org.apache.airavata.model.process.ProcessModel();
+                  _elem16.read(iprot);
+                  struct.processes.add(_elem16);
                 }
                 iprot.readListEnd();
               }
@@ -2252,9 +2279,9 @@ public class ExperimentModel implements 
org.apache.thrift.TBase<ExperimentModel,
           oprot.writeFieldBegin(EMAIL_ADDRESSES_FIELD_DESC);
           {
             oprot.writeListBegin(new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, 
struct.emailAddresses.size()));
-            for (String _iter15 : struct.emailAddresses)
+            for (String _iter18 : struct.emailAddresses)
             {
-              oprot.writeString(_iter15);
+              oprot.writeString(_iter18);
             }
             oprot.writeListEnd();
           }
@@ -2273,9 +2300,9 @@ public class ExperimentModel implements 
org.apache.thrift.TBase<ExperimentModel,
           oprot.writeFieldBegin(EXPERIMENT_INPUTS_FIELD_DESC);
           {
             oprot.writeListBegin(new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
struct.experimentInputs.size()));
-            for (org.apache.airavata.model.application.io.InputDataObjectType 
_iter16 : struct.experimentInputs)
+            for (org.apache.airavata.model.application.io.InputDataObjectType 
_iter19 : struct.experimentInputs)
             {
-              _iter16.write(oprot);
+              _iter19.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -2287,9 +2314,9 @@ public class ExperimentModel implements 
org.apache.thrift.TBase<ExperimentModel,
           oprot.writeFieldBegin(EXPERIMENT_OUTPUTS_FIELD_DESC);
           {
             oprot.writeListBegin(new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
struct.experimentOutputs.size()));
-            for (org.apache.airavata.model.application.io.OutputDataObjectType 
_iter17 : struct.experimentOutputs)
+            for (org.apache.airavata.model.application.io.OutputDataObjectType 
_iter20 : struct.experimentOutputs)
             {
-              _iter17.write(oprot);
+              _iter20.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -2299,7 +2326,14 @@ public class ExperimentModel implements 
org.apache.thrift.TBase<ExperimentModel,
       if (struct.experimentStatus != null) {
         if (struct.isSetExperimentStatus()) {
           oprot.writeFieldBegin(EXPERIMENT_STATUS_FIELD_DESC);
-          struct.experimentStatus.write(oprot);
+          {
+            oprot.writeListBegin(new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
struct.experimentStatus.size()));
+            for (org.apache.airavata.model.status.ExperimentStatus _iter21 : 
struct.experimentStatus)
+            {
+              _iter21.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
           oprot.writeFieldEnd();
         }
       }
@@ -2308,9 +2342,9 @@ public class ExperimentModel implements 
org.apache.thrift.TBase<ExperimentModel,
           oprot.writeFieldBegin(ERRORS_FIELD_DESC);
           {
             oprot.writeListBegin(new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
struct.errors.size()));
-            for (org.apache.airavata.model.commons.ErrorModel _iter18 : 
struct.errors)
+            for (org.apache.airavata.model.commons.ErrorModel _iter22 : 
struct.errors)
             {
-              _iter18.write(oprot);
+              _iter22.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -2322,9 +2356,9 @@ public class ExperimentModel implements 
org.apache.thrift.TBase<ExperimentModel,
           oprot.writeFieldBegin(PROCESSES_FIELD_DESC);
           {
             oprot.writeListBegin(new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
struct.processes.size()));
-            for (org.apache.airavata.model.process.ProcessModel _iter19 : 
struct.processes)
+            for (org.apache.airavata.model.process.ProcessModel _iter23 : 
struct.processes)
             {
-              _iter19.write(oprot);
+              _iter23.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -2416,9 +2450,9 @@ public class ExperimentModel implements 
org.apache.thrift.TBase<ExperimentModel,
       if (struct.isSetEmailAddresses()) {
         {
           oprot.writeI32(struct.emailAddresses.size());
-          for (String _iter20 : struct.emailAddresses)
+          for (String _iter24 : struct.emailAddresses)
           {
-            oprot.writeString(_iter20);
+            oprot.writeString(_iter24);
           }
         }
       }
@@ -2428,39 +2462,45 @@ public class ExperimentModel implements 
org.apache.thrift.TBase<ExperimentModel,
       if (struct.isSetExperimentInputs()) {
         {
           oprot.writeI32(struct.experimentInputs.size());
-          for (org.apache.airavata.model.application.io.InputDataObjectType 
_iter21 : struct.experimentInputs)
+          for (org.apache.airavata.model.application.io.InputDataObjectType 
_iter25 : struct.experimentInputs)
           {
-            _iter21.write(oprot);
+            _iter25.write(oprot);
           }
         }
       }
       if (struct.isSetExperimentOutputs()) {
         {
           oprot.writeI32(struct.experimentOutputs.size());
-          for (org.apache.airavata.model.application.io.OutputDataObjectType 
_iter22 : struct.experimentOutputs)
+          for (org.apache.airavata.model.application.io.OutputDataObjectType 
_iter26 : struct.experimentOutputs)
           {
-            _iter22.write(oprot);
+            _iter26.write(oprot);
           }
         }
       }
       if (struct.isSetExperimentStatus()) {
-        struct.experimentStatus.write(oprot);
+        {
+          oprot.writeI32(struct.experimentStatus.size());
+          for (org.apache.airavata.model.status.ExperimentStatus _iter27 : 
struct.experimentStatus)
+          {
+            _iter27.write(oprot);
+          }
+        }
       }
       if (struct.isSetErrors()) {
         {
           oprot.writeI32(struct.errors.size());
-          for (org.apache.airavata.model.commons.ErrorModel _iter23 : 
struct.errors)
+          for (org.apache.airavata.model.commons.ErrorModel _iter28 : 
struct.errors)
           {
-            _iter23.write(oprot);
+            _iter28.write(oprot);
           }
         }
       }
       if (struct.isSetProcesses()) {
         {
           oprot.writeI32(struct.processes.size());
-          for (org.apache.airavata.model.process.ProcessModel _iter24 : 
struct.processes)
+          for (org.apache.airavata.model.process.ProcessModel _iter29 : 
struct.processes)
           {
-            _iter24.write(oprot);
+            _iter29.write(oprot);
           }
         }
       }
@@ -2508,13 +2548,13 @@ public class ExperimentModel implements 
org.apache.thrift.TBase<ExperimentModel,
       }
       if (incoming.get(6)) {
         {
-          org.apache.thrift.protocol.TList _list25 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, 
iprot.readI32());
-          struct.emailAddresses = new ArrayList<String>(_list25.size);
-          String _elem26;
-          for (int _i27 = 0; _i27 < _list25.size; ++_i27)
+          org.apache.thrift.protocol.TList _list30 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, 
iprot.readI32());
+          struct.emailAddresses = new ArrayList<String>(_list30.size);
+          String _elem31;
+          for (int _i32 = 0; _i32 < _list30.size; ++_i32)
           {
-            _elem26 = iprot.readString();
-            struct.emailAddresses.add(_elem26);
+            _elem31 = iprot.readString();
+            struct.emailAddresses.add(_elem31);
           }
         }
         struct.setEmailAddressesIsSet(true);
@@ -2526,61 +2566,70 @@ public class ExperimentModel implements 
org.apache.thrift.TBase<ExperimentModel,
       }
       if (incoming.get(8)) {
         {
-          org.apache.thrift.protocol.TList _list28 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
iprot.readI32());
-          struct.experimentInputs = new 
ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(_list28.size);
-          org.apache.airavata.model.application.io.InputDataObjectType _elem29;
-          for (int _i30 = 0; _i30 < _list28.size; ++_i30)
+          org.apache.thrift.protocol.TList _list33 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
iprot.readI32());
+          struct.experimentInputs = new 
ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(_list33.size);
+          org.apache.airavata.model.application.io.InputDataObjectType _elem34;
+          for (int _i35 = 0; _i35 < _list33.size; ++_i35)
           {
-            _elem29 = new 
org.apache.airavata.model.application.io.InputDataObjectType();
-            _elem29.read(iprot);
-            struct.experimentInputs.add(_elem29);
+            _elem34 = new 
org.apache.airavata.model.application.io.InputDataObjectType();
+            _elem34.read(iprot);
+            struct.experimentInputs.add(_elem34);
           }
         }
         struct.setExperimentInputsIsSet(true);
       }
       if (incoming.get(9)) {
         {
-          org.apache.thrift.protocol.TList _list31 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
iprot.readI32());
-          struct.experimentOutputs = new 
ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list31.size);
-          org.apache.airavata.model.application.io.OutputDataObjectType 
_elem32;
-          for (int _i33 = 0; _i33 < _list31.size; ++_i33)
+          org.apache.thrift.protocol.TList _list36 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
iprot.readI32());
+          struct.experimentOutputs = new 
ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list36.size);
+          org.apache.airavata.model.application.io.OutputDataObjectType 
_elem37;
+          for (int _i38 = 0; _i38 < _list36.size; ++_i38)
           {
-            _elem32 = new 
org.apache.airavata.model.application.io.OutputDataObjectType();
-            _elem32.read(iprot);
-            struct.experimentOutputs.add(_elem32);
+            _elem37 = new 
org.apache.airavata.model.application.io.OutputDataObjectType();
+            _elem37.read(iprot);
+            struct.experimentOutputs.add(_elem37);
           }
         }
         struct.setExperimentOutputsIsSet(true);
       }
       if (incoming.get(10)) {
-        struct.experimentStatus = new 
org.apache.airavata.model.status.ExperimentStatus();
-        struct.experimentStatus.read(iprot);
+        {
+          org.apache.thrift.protocol.TList _list39 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
iprot.readI32());
+          struct.experimentStatus = new 
ArrayList<org.apache.airavata.model.status.ExperimentStatus>(_list39.size);
+          org.apache.airavata.model.status.ExperimentStatus _elem40;
+          for (int _i41 = 0; _i41 < _list39.size; ++_i41)
+          {
+            _elem40 = new org.apache.airavata.model.status.ExperimentStatus();
+            _elem40.read(iprot);
+            struct.experimentStatus.add(_elem40);
+          }
+        }
         struct.setExperimentStatusIsSet(true);
       }
       if (incoming.get(11)) {
         {
-          org.apache.thrift.protocol.TList _list34 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
iprot.readI32());
-          struct.errors = new 
ArrayList<org.apache.airavata.model.commons.ErrorModel>(_list34.size);
-          org.apache.airavata.model.commons.ErrorModel _elem35;
-          for (int _i36 = 0; _i36 < _list34.size; ++_i36)
+          org.apache.thrift.protocol.TList _list42 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
iprot.readI32());
+          struct.errors = new 
ArrayList<org.apache.airavata.model.commons.ErrorModel>(_list42.size);
+          org.apache.airavata.model.commons.ErrorModel _elem43;
+          for (int _i44 = 0; _i44 < _list42.size; ++_i44)
           {
-            _elem35 = new org.apache.airavata.model.commons.ErrorModel();
-            _elem35.read(iprot);
-            struct.errors.add(_elem35);
+            _elem43 = new org.apache.airavata.model.commons.ErrorModel();
+            _elem43.read(iprot);
+            struct.errors.add(_elem43);
           }
         }
         struct.setErrorsIsSet(true);
       }
       if (incoming.get(12)) {
         {
-          org.apache.thrift.protocol.TList _list37 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
iprot.readI32());
-          struct.processes = new 
ArrayList<org.apache.airavata.model.process.ProcessModel>(_list37.size);
-          org.apache.airavata.model.process.ProcessModel _elem38;
-          for (int _i39 = 0; _i39 < _list37.size; ++_i39)
+          org.apache.thrift.protocol.TList _list45 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
iprot.readI32());
+          struct.processes = new 
ArrayList<org.apache.airavata.model.process.ProcessModel>(_list45.size);
+          org.apache.airavata.model.process.ProcessModel _elem46;
+          for (int _i47 = 0; _i47 < _list45.size; ++_i47)
           {
-            _elem38 = new org.apache.airavata.model.process.ProcessModel();
-            _elem38.read(iprot);
-            struct.processes.add(_elem38);
+            _elem46 = new org.apache.airavata.model.process.ProcessModel();
+            _elem46.read(iprot);
+            struct.processes.add(_elem46);
           }
         }
         struct.setProcessesIsSet(true);

http://git-wip-us.apache.org/repos/asf/airavata/blob/415e9b70/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
 
b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
index 8bdaa2e..03aa46a 100644
--- 
a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
+++ 
b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
@@ -1410,14 +1410,14 @@ public class ExperimentStatistics implements 
org.apache.thrift.TBase<ExperimentS
           case 7: // ALL_EXPERIMENTS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list40 = 
iprot.readListBegin();
-                struct.allExperiments = new 
ArrayList<ExperimentSummaryModel>(_list40.size);
-                ExperimentSummaryModel _elem41;
-                for (int _i42 = 0; _i42 < _list40.size; ++_i42)
+                org.apache.thrift.protocol.TList _list48 = 
iprot.readListBegin();
+                struct.allExperiments = new 
ArrayList<ExperimentSummaryModel>(_list48.size);
+                ExperimentSummaryModel _elem49;
+                for (int _i50 = 0; _i50 < _list48.size; ++_i50)
                 {
-                  _elem41 = new ExperimentSummaryModel();
-                  _elem41.read(iprot);
-                  struct.allExperiments.add(_elem41);
+                  _elem49 = new ExperimentSummaryModel();
+                  _elem49.read(iprot);
+                  struct.allExperiments.add(_elem49);
                 }
                 iprot.readListEnd();
               }
@@ -1429,14 +1429,14 @@ public class ExperimentStatistics implements 
org.apache.thrift.TBase<ExperimentS
           case 8: // COMPLETED_EXPERIMENTS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list43 = 
iprot.readListBegin();
-                struct.completedExperiments = new 
ArrayList<ExperimentSummaryModel>(_list43.size);
-                ExperimentSummaryModel _elem44;
-                for (int _i45 = 0; _i45 < _list43.size; ++_i45)
+                org.apache.thrift.protocol.TList _list51 = 
iprot.readListBegin();
+                struct.completedExperiments = new 
ArrayList<ExperimentSummaryModel>(_list51.size);
+                ExperimentSummaryModel _elem52;
+                for (int _i53 = 0; _i53 < _list51.size; ++_i53)
                 {
-                  _elem44 = new ExperimentSummaryModel();
-                  _elem44.read(iprot);
-                  struct.completedExperiments.add(_elem44);
+                  _elem52 = new ExperimentSummaryModel();
+                  _elem52.read(iprot);
+                  struct.completedExperiments.add(_elem52);
                 }
                 iprot.readListEnd();
               }
@@ -1448,14 +1448,14 @@ public class ExperimentStatistics implements 
org.apache.thrift.TBase<ExperimentS
           case 9: // FAILED_EXPERIMENTS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list46 = 
iprot.readListBegin();
-                struct.failedExperiments = new 
ArrayList<ExperimentSummaryModel>(_list46.size);
-                ExperimentSummaryModel _elem47;
-                for (int _i48 = 0; _i48 < _list46.size; ++_i48)
+                org.apache.thrift.protocol.TList _list54 = 
iprot.readListBegin();
+                struct.failedExperiments = new 
ArrayList<ExperimentSummaryModel>(_list54.size);
+                ExperimentSummaryModel _elem55;
+                for (int _i56 = 0; _i56 < _list54.size; ++_i56)
                 {
-                  _elem47 = new ExperimentSummaryModel();
-                  _elem47.read(iprot);
-                  struct.failedExperiments.add(_elem47);
+                  _elem55 = new ExperimentSummaryModel();
+                  _elem55.read(iprot);
+                  struct.failedExperiments.add(_elem55);
                 }
                 iprot.readListEnd();
               }
@@ -1467,14 +1467,14 @@ public class ExperimentStatistics implements 
org.apache.thrift.TBase<ExperimentS
           case 10: // CANCELLED_EXPERIMENTS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list49 = 
iprot.readListBegin();
-                struct.cancelledExperiments = new 
ArrayList<ExperimentSummaryModel>(_list49.size);
-                ExperimentSummaryModel _elem50;
-                for (int _i51 = 0; _i51 < _list49.size; ++_i51)
+                org.apache.thrift.protocol.TList _list57 = 
iprot.readListBegin();
+                struct.cancelledExperiments = new 
ArrayList<ExperimentSummaryModel>(_list57.size);
+                ExperimentSummaryModel _elem58;
+                for (int _i59 = 0; _i59 < _list57.size; ++_i59)
                 {
-                  _elem50 = new ExperimentSummaryModel();
-                  _elem50.read(iprot);
-                  struct.cancelledExperiments.add(_elem50);
+                  _elem58 = new ExperimentSummaryModel();
+                  _elem58.read(iprot);
+                  struct.cancelledExperiments.add(_elem58);
                 }
                 iprot.readListEnd();
               }
@@ -1486,14 +1486,14 @@ public class ExperimentStatistics implements 
org.apache.thrift.TBase<ExperimentS
           case 11: // CREATED_EXPERIMENTS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list52 = 
iprot.readListBegin();
-                struct.createdExperiments = new 
ArrayList<ExperimentSummaryModel>(_list52.size);
-                ExperimentSummaryModel _elem53;
-                for (int _i54 = 0; _i54 < _list52.size; ++_i54)
+                org.apache.thrift.protocol.TList _list60 = 
iprot.readListBegin();
+                struct.createdExperiments = new 
ArrayList<ExperimentSummaryModel>(_list60.size);
+                ExperimentSummaryModel _elem61;
+                for (int _i62 = 0; _i62 < _list60.size; ++_i62)
                 {
-                  _elem53 = new ExperimentSummaryModel();
-                  _elem53.read(iprot);
-                  struct.createdExperiments.add(_elem53);
+                  _elem61 = new ExperimentSummaryModel();
+                  _elem61.read(iprot);
+                  struct.createdExperiments.add(_elem61);
                 }
                 iprot.readListEnd();
               }
@@ -1505,14 +1505,14 @@ public class ExperimentStatistics implements 
org.apache.thrift.TBase<ExperimentS
           case 12: // RUNNING_EXPERIMENTS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list55 = 
iprot.readListBegin();
-                struct.runningExperiments = new 
ArrayList<ExperimentSummaryModel>(_list55.size);
-                ExperimentSummaryModel _elem56;
-                for (int _i57 = 0; _i57 < _list55.size; ++_i57)
+                org.apache.thrift.protocol.TList _list63 = 
iprot.readListBegin();
+                struct.runningExperiments = new 
ArrayList<ExperimentSummaryModel>(_list63.size);
+                ExperimentSummaryModel _elem64;
+                for (int _i65 = 0; _i65 < _list63.size; ++_i65)
                 {
-                  _elem56 = new ExperimentSummaryModel();
-                  _elem56.read(iprot);
-                  struct.runningExperiments.add(_elem56);
+                  _elem64 = new ExperimentSummaryModel();
+                  _elem64.read(iprot);
+                  struct.runningExperiments.add(_elem64);
                 }
                 iprot.readListEnd();
               }
@@ -1558,9 +1558,9 @@ public class ExperimentStatistics implements 
org.apache.thrift.TBase<ExperimentS
         oprot.writeFieldBegin(ALL_EXPERIMENTS_FIELD_DESC);
         {
           oprot.writeListBegin(new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
struct.allExperiments.size()));
-          for (ExperimentSummaryModel _iter58 : struct.allExperiments)
+          for (ExperimentSummaryModel _iter66 : struct.allExperiments)
           {
-            _iter58.write(oprot);
+            _iter66.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -1571,9 +1571,9 @@ public class ExperimentStatistics implements 
org.apache.thrift.TBase<ExperimentS
           oprot.writeFieldBegin(COMPLETED_EXPERIMENTS_FIELD_DESC);
           {
             oprot.writeListBegin(new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
struct.completedExperiments.size()));
-            for (ExperimentSummaryModel _iter59 : struct.completedExperiments)
+            for (ExperimentSummaryModel _iter67 : struct.completedExperiments)
             {
-              _iter59.write(oprot);
+              _iter67.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -1585,9 +1585,9 @@ public class ExperimentStatistics implements 
org.apache.thrift.TBase<ExperimentS
           oprot.writeFieldBegin(FAILED_EXPERIMENTS_FIELD_DESC);
           {
             oprot.writeListBegin(new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
struct.failedExperiments.size()));
-            for (ExperimentSummaryModel _iter60 : struct.failedExperiments)
+            for (ExperimentSummaryModel _iter68 : struct.failedExperiments)
             {
-              _iter60.write(oprot);
+              _iter68.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -1599,9 +1599,9 @@ public class ExperimentStatistics implements 
org.apache.thrift.TBase<ExperimentS
           oprot.writeFieldBegin(CANCELLED_EXPERIMENTS_FIELD_DESC);
           {
             oprot.writeListBegin(new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
struct.cancelledExperiments.size()));
-            for (ExperimentSummaryModel _iter61 : struct.cancelledExperiments)
+            for (ExperimentSummaryModel _iter69 : struct.cancelledExperiments)
             {
-              _iter61.write(oprot);
+              _iter69.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -1613,9 +1613,9 @@ public class ExperimentStatistics implements 
org.apache.thrift.TBase<ExperimentS
           oprot.writeFieldBegin(CREATED_EXPERIMENTS_FIELD_DESC);
           {
             oprot.writeListBegin(new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
struct.createdExperiments.size()));
-            for (ExperimentSummaryModel _iter62 : struct.createdExperiments)
+            for (ExperimentSummaryModel _iter70 : struct.createdExperiments)
             {
-              _iter62.write(oprot);
+              _iter70.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -1627,9 +1627,9 @@ public class ExperimentStatistics implements 
org.apache.thrift.TBase<ExperimentS
           oprot.writeFieldBegin(RUNNING_EXPERIMENTS_FIELD_DESC);
           {
             oprot.writeListBegin(new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
struct.runningExperiments.size()));
-            for (ExperimentSummaryModel _iter63 : struct.runningExperiments)
+            for (ExperimentSummaryModel _iter71 : struct.runningExperiments)
             {
-              _iter63.write(oprot);
+              _iter71.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -1660,9 +1660,9 @@ public class ExperimentStatistics implements 
org.apache.thrift.TBase<ExperimentS
       oprot.writeI32(struct.runningExperimentCount);
       {
         oprot.writeI32(struct.allExperiments.size());
-        for (ExperimentSummaryModel _iter64 : struct.allExperiments)
+        for (ExperimentSummaryModel _iter72 : struct.allExperiments)
         {
-          _iter64.write(oprot);
+          _iter72.write(oprot);
         }
       }
       BitSet optionals = new BitSet();
@@ -1691,45 +1691,45 @@ public class ExperimentStatistics implements 
org.apache.thrift.TBase<ExperimentS
       if (struct.isSetCompletedExperiments()) {
         {
           oprot.writeI32(struct.completedExperiments.size());
-          for (ExperimentSummaryModel _iter65 : struct.completedExperiments)
+          for (ExperimentSummaryModel _iter73 : struct.completedExperiments)
           {
-            _iter65.write(oprot);
+            _iter73.write(oprot);
           }
         }
       }
       if (struct.isSetFailedExperiments()) {
         {
           oprot.writeI32(struct.failedExperiments.size());
-          for (ExperimentSummaryModel _iter66 : struct.failedExperiments)
+          for (ExperimentSummaryModel _iter74 : struct.failedExperiments)
           {
-            _iter66.write(oprot);
+            _iter74.write(oprot);
           }
         }
       }
       if (struct.isSetCancelledExperiments()) {
         {
           oprot.writeI32(struct.cancelledExperiments.size());
-          for (ExperimentSummaryModel _iter67 : struct.cancelledExperiments)
+          for (ExperimentSummaryModel _iter75 : struct.cancelledExperiments)
           {
-            _iter67.write(oprot);
+            _iter75.write(oprot);
           }
         }
       }
       if (struct.isSetCreatedExperiments()) {
         {
           oprot.writeI32(struct.createdExperiments.size());
-          for (ExperimentSummaryModel _iter68 : struct.createdExperiments)
+          for (ExperimentSummaryModel _iter76 : struct.createdExperiments)
           {
-            _iter68.write(oprot);
+            _iter76.write(oprot);
           }
         }
       }
       if (struct.isSetRunningExperiments()) {
         {
           oprot.writeI32(struct.runningExperiments.size());
-          for (ExperimentSummaryModel _iter69 : struct.runningExperiments)
+          for (ExperimentSummaryModel _iter77 : struct.runningExperiments)
           {
-            _iter69.write(oprot);
+            _iter77.write(oprot);
           }
         }
       }
@@ -1749,14 +1749,14 @@ public class ExperimentStatistics implements 
org.apache.thrift.TBase<ExperimentS
       struct.runningExperimentCount = iprot.readI32();
       struct.setRunningExperimentCountIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list70 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
iprot.readI32());
-        struct.allExperiments = new 
ArrayList<ExperimentSummaryModel>(_list70.size);
-        ExperimentSummaryModel _elem71;
-        for (int _i72 = 0; _i72 < _list70.size; ++_i72)
+        org.apache.thrift.protocol.TList _list78 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
iprot.readI32());
+        struct.allExperiments = new 
ArrayList<ExperimentSummaryModel>(_list78.size);
+        ExperimentSummaryModel _elem79;
+        for (int _i80 = 0; _i80 < _list78.size; ++_i80)
         {
-          _elem71 = new ExperimentSummaryModel();
-          _elem71.read(iprot);
-          struct.allExperiments.add(_elem71);
+          _elem79 = new ExperimentSummaryModel();
+          _elem79.read(iprot);
+          struct.allExperiments.add(_elem79);
         }
       }
       struct.setAllExperimentsIsSet(true);
@@ -1767,70 +1767,70 @@ public class ExperimentStatistics implements 
org.apache.thrift.TBase<ExperimentS
       }
       if (incoming.get(1)) {
         {
-          org.apache.thrift.protocol.TList _list73 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
iprot.readI32());
-          struct.completedExperiments = new 
ArrayList<ExperimentSummaryModel>(_list73.size);
-          ExperimentSummaryModel _elem74;
-          for (int _i75 = 0; _i75 < _list73.size; ++_i75)
+          org.apache.thrift.protocol.TList _list81 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
iprot.readI32());
+          struct.completedExperiments = new 
ArrayList<ExperimentSummaryModel>(_list81.size);
+          ExperimentSummaryModel _elem82;
+          for (int _i83 = 0; _i83 < _list81.size; ++_i83)
           {
-            _elem74 = new ExperimentSummaryModel();
-            _elem74.read(iprot);
-            struct.completedExperiments.add(_elem74);
+            _elem82 = new ExperimentSummaryModel();
+            _elem82.read(iprot);
+            struct.completedExperiments.add(_elem82);
           }
         }
         struct.setCompletedExperimentsIsSet(true);
       }
       if (incoming.get(2)) {
         {
-          org.apache.thrift.protocol.TList _list76 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
iprot.readI32());
-          struct.failedExperiments = new 
ArrayList<ExperimentSummaryModel>(_list76.size);
-          ExperimentSummaryModel _elem77;
-          for (int _i78 = 0; _i78 < _list76.size; ++_i78)
+          org.apache.thrift.protocol.TList _list84 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
iprot.readI32());
+          struct.failedExperiments = new 
ArrayList<ExperimentSummaryModel>(_list84.size);
+          ExperimentSummaryModel _elem85;
+          for (int _i86 = 0; _i86 < _list84.size; ++_i86)
           {
-            _elem77 = new ExperimentSummaryModel();
-            _elem77.read(iprot);
-            struct.failedExperiments.add(_elem77);
+            _elem85 = new ExperimentSummaryModel();
+            _elem85.read(iprot);
+            struct.failedExperiments.add(_elem85);
           }
         }
         struct.setFailedExperimentsIsSet(true);
       }
       if (incoming.get(3)) {
         {
-          org.apache.thrift.protocol.TList _list79 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
iprot.readI32());
-          struct.cancelledExperiments = new 
ArrayList<ExperimentSummaryModel>(_list79.size);
-          ExperimentSummaryModel _elem80;
-          for (int _i81 = 0; _i81 < _list79.size; ++_i81)
+          org.apache.thrift.protocol.TList _list87 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
iprot.readI32());
+          struct.cancelledExperiments = new 
ArrayList<ExperimentSummaryModel>(_list87.size);
+          ExperimentSummaryModel _elem88;
+          for (int _i89 = 0; _i89 < _list87.size; ++_i89)
           {
-            _elem80 = new ExperimentSummaryModel();
-            _elem80.read(iprot);
-            struct.cancelledExperiments.add(_elem80);
+            _elem88 = new ExperimentSummaryModel();
+            _elem88.read(iprot);
+            struct.cancelledExperiments.add(_elem88);
           }
         }
         struct.setCancelledExperimentsIsSet(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.createdExperiments = new 
ArrayList<ExperimentSummaryModel>(_list82.size);
-          ExperimentSummaryModel _elem83;
-          for (int _i84 = 0; _i84 < _list82.size; ++_i84)
+          org.apache.thrift.protocol.TList _list90 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
iprot.readI32());
+          struct.createdExperiments = new 
ArrayList<ExperimentSummaryModel>(_list90.size);
+          ExperimentSummaryModel _elem91;
+          for (int _i92 = 0; _i92 < _list90.size; ++_i92)
           {
-            _elem83 = new ExperimentSummaryModel();
-            _elem83.read(iprot);
-            struct.createdExperiments.add(_elem83);
+            _elem91 = new ExperimentSummaryModel();
+            _elem91.read(iprot);
+            struct.createdExperiments.add(_elem91);
           }
         }
         struct.setCreatedExperimentsIsSet(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.runningExperiments = new 
ArrayList<ExperimentSummaryModel>(_list85.size);
-          ExperimentSummaryModel _elem86;
-          for (int _i87 = 0; _i87 < _list85.size; ++_i87)
+          org.apache.thrift.protocol.TList _list93 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
iprot.readI32());
+          struct.runningExperiments = new 
ArrayList<ExperimentSummaryModel>(_list93.size);
+          ExperimentSummaryModel _elem94;
+          for (int _i95 = 0; _i95 < _list93.size; ++_i95)
           {
-            _elem86 = new ExperimentSummaryModel();
-            _elem86.read(iprot);
-            struct.runningExperiments.add(_elem86);
+            _elem94 = new ExperimentSummaryModel();
+            _elem94.read(iprot);
+            struct.runningExperiments.add(_elem94);
           }
         }
         struct.setRunningExperimentsIsSet(true);

http://git-wip-us.apache.org/repos/asf/airavata/blob/415e9b70/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/validator/impl/ExperimentStatusValidator.java
----------------------------------------------------------------------
diff --git 
a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/validator/impl/ExperimentStatusValidator.java
 
b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/validator/impl/ExperimentStatusValidator.java
index 9d7fa0e..a32023c 100644
--- 
a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/validator/impl/ExperimentStatusValidator.java
+++ 
b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/validator/impl/ExperimentStatusValidator.java
@@ -25,7 +25,6 @@ import org.apache.airavata.model.error.ValidatorResult;
 import org.apache.airavata.model.experiment.ExperimentModel;
 import org.apache.airavata.model.process.ProcessModel;
 import org.apache.airavata.model.status.ExperimentState;
-import org.apache.airavata.model.task.TaskModel;
 import org.apache.airavata.orchestrator.core.validator.JobMetadataValidator;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -42,8 +41,8 @@ public class ExperimentStatusValidator implements 
JobMetadataValidator {
         validationResults.setValidationState(true);
         ValidatorResult validatorResult = new ValidatorResult();
         List<ValidatorResult> validatorResultList = new 
ArrayList<ValidatorResult>();
-        if 
(!experiment.getExperimentStatus().getState().equals(ExperimentState.CREATED)) {
-            error += experiment.getExperimentStatus().getState().toString();
+        if 
(!experiment.getExperimentStatus().get(0).getState().equals(ExperimentState.CREATED))
 {
+            error += 
experiment.getExperimentStatus().get(0).getState().toString();
             log.error(error);
             validatorResult.setErrorDetails(error);
             validatorResult.setResult(false);

http://git-wip-us.apache.org/repos/asf/airavata/blob/415e9b70/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
----------------------------------------------------------------------
diff --git 
a/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
 
b/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
index 17bceb4..1a6ac25 100644
--- 
a/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
+++ 
b/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
@@ -29,12 +29,7 @@ import org.apache.airavata.common.utils.ThriftUtils;
 import org.apache.airavata.common.utils.ZkConstants;
 import org.apache.airavata.gfac.core.GFacUtils;
 import org.apache.airavata.gfac.core.scheduler.HostScheduler;
-import org.apache.airavata.messaging.core.MessageContext;
-import org.apache.airavata.messaging.core.MessageHandler;
-import org.apache.airavata.messaging.core.MessagingFactory;
-import org.apache.airavata.messaging.core.Publisher;
-import org.apache.airavata.messaging.core.Subscriber;
-import org.apache.airavata.messaging.core.Type;
+import org.apache.airavata.messaging.core.*;
 import 
org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription;
 import 
org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription;
 import 
org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
@@ -47,11 +42,7 @@ import 
org.apache.airavata.model.data.replica.ReplicaLocationCategory;
 import org.apache.airavata.model.error.LaunchValidationException;
 import org.apache.airavata.model.experiment.ExperimentModel;
 import org.apache.airavata.model.experiment.ExperimentType;
-import org.apache.airavata.model.messaging.event.ExperimentStatusChangeEvent;
-import org.apache.airavata.model.messaging.event.ExperimentSubmitEvent;
-import org.apache.airavata.model.messaging.event.MessageType;
-import org.apache.airavata.model.messaging.event.ProcessIdentifier;
-import org.apache.airavata.model.messaging.event.ProcessStatusChangeEvent;
+import org.apache.airavata.model.messaging.event.*;
 import org.apache.airavata.model.process.ProcessModel;
 import org.apache.airavata.model.status.ExperimentState;
 import org.apache.airavata.model.status.ExperimentStatus;
@@ -64,14 +55,7 @@ import 
org.apache.airavata.orchestrator.util.OrchestratorUtils;
 import 
org.apache.airavata.registry.core.app.catalog.resources.AppCatAbstractResource;
 import 
org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
 import 
org.apache.airavata.registry.core.experiment.catalog.resources.AbstractExpCatResource;
-import org.apache.airavata.registry.cpi.AppCatalog;
-import org.apache.airavata.registry.cpi.AppCatalogException;
-import org.apache.airavata.registry.cpi.ComputeResource;
-import org.apache.airavata.registry.cpi.ExperimentCatalog;
-import org.apache.airavata.registry.cpi.ExperimentCatalogModelType;
-import org.apache.airavata.registry.cpi.RegistryException;
-import org.apache.airavata.registry.cpi.ReplicaCatalog;
-import org.apache.airavata.registry.cpi.ReplicaCatalogException;
+import org.apache.airavata.registry.cpi.*;
 import org.apache.commons.lang.StringUtils;
 import org.apache.curator.RetryPolicy;
 import org.apache.curator.framework.CuratorFramework;
@@ -84,13 +68,7 @@ import org.apache.zookeeper.data.Stat;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.function.BiConsumer;
+import java.util.*;
 
 public class OrchestratorServerHandler implements OrchestratorService.Iface {
        private static Logger log = 
LoggerFactory.getLogger(OrchestratorServerHandler.class);
@@ -651,7 +629,7 @@ public class OrchestratorServerHandler implements 
OrchestratorService.Iface {
             if (messageContext.isRedeliver()) {
                                ExperimentModel experimentModel = 
(ExperimentModel) experimentCatalog.
                                                
get(ExperimentCatalogModelType.EXPERIMENT, expEvent.getExperimentId());
-                               if 
(experimentModel.getExperimentStatus().getState() == ExperimentState.CREATED) {
+                               if 
(experimentModel.getExperimentStatus().get(0).getState() == 
ExperimentState.CREATED) {
                                        
launchExperiment(expEvent.getExperimentId(), expEvent.getGatewayId());
                                }
             } else {

http://git-wip-us.apache.org/repos/asf/airavata/blob/415e9b70/modules/registry/registry-core/pom.xml
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/pom.xml 
b/modules/registry/registry-core/pom.xml
index aa9a61b..85986ae 100644
--- a/modules/registry/registry-core/pom.xml
+++ b/modules/registry/registry-core/pom.xml
@@ -162,7 +162,7 @@
                 <inherited>true</inherited>
                 <configuration>
                     <failIfNoTests>false</failIfNoTests>
-                    <skipTests>${skipTests}</skipTests>
+                    <skipTests>true</skipTests>
                     
<workingDirectory>${project.build.testOutputDirectory}</workingDirectory>
                     <!-- making sure that the sure-fire plugin doesn't run the 
integration tests-->
                     <!-- Integration tests are run using the fail-safe plugin 
in the module pom-->

http://git-wip-us.apache.org/repos/asf/airavata/blob/415e9b70/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
index dd555b1..3066886 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
@@ -608,7 +608,7 @@ public class ExperimentRegistry {
             if (experimentOutputs != null && !experimentOutputs.isEmpty()) {
                 updateExpOutputs(experimentOutputs, expId);
             }
-            ExperimentStatus experimentStatus = 
experiment.getExperimentStatus();
+            ExperimentStatus experimentStatus = 
experiment.getExperimentStatus().get(0);
             if (experimentStatus != null) {
                 updateExperimentStatus(experimentStatus, expId);
             }

http://git-wip-us.apache.org/repos/asf/airavata/blob/415e9b70/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Gateway.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Gateway.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Gateway.java
index afb67a1..c7d750d 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Gateway.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Gateway.java
@@ -72,7 +72,7 @@ public class Gateway {
         this.gatewayName = gatewayName;
     }
 
-    @Column(name = "DOMAIN")
+    @Column(name = "GATEWAY_DOMAIN")
     public String getDomain() {
         return domain;
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/415e9b70/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
index 2fec213..3e04fcd 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
@@ -151,7 +151,9 @@ public class ThriftDataModelConversion {
             experiment.setExperimentOutputs(getExpOutputs(experimentOutputs));
             ExperimentStatusResource experimentStatus = 
experimentResource.getExperimentStatus();
             if (experimentStatus != null){
-                
experiment.setExperimentStatus(getExperimentStatus(experimentStatus));
+                List<ExperimentStatus> experimentStatuses = new ArrayList<>();
+                experimentStatuses.add(getExperimentStatus(experimentStatus));
+                experiment.setExperimentStatus(experimentStatuses);
             }
             List<ExperimentErrorResource> errorDetails = 
experimentResource.getExperimentErrors();
             if (errorDetails!= null && !errorDetails.isEmpty()){

http://git-wip-us.apache.org/repos/asf/airavata/blob/415e9b70/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java
 
b/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java
index 2646147..67344d7 100644
--- 
a/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java
+++ 
b/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java
@@ -508,7 +508,7 @@ public class RegistryServerHandler implements 
RegistryService.Iface {
             }
             ExperimentModel experimentModel = (ExperimentModel) 
experimentCatalog.get(ExperimentCatalogModelType.EXPERIMENT, experimentId);
 
-            if(!(experimentModel.getExperimentStatus().getState() == 
ExperimentState.CREATED)){
+            if(!(experimentModel.getExperimentStatus().get(0).getState() == 
ExperimentState.CREATED)){
                 logger.error("Error while deleting the experiment");
                 throw new ExperimentCatalogException("Experiment is not in 
CREATED state. Hence cannot deleted. ID:"+ experimentId);
             }

http://git-wip-us.apache.org/repos/asf/airavata/blob/415e9b70/thrift-interface-descriptions/data-models/experiment-catalog-models/experiment_model.thrift
----------------------------------------------------------------------
diff --git 
a/thrift-interface-descriptions/data-models/experiment-catalog-models/experiment_model.thrift
 
b/thrift-interface-descriptions/data-models/experiment-catalog-models/experiment_model.thrift
index e25e16e..5e54bf1 100644
--- 
a/thrift-interface-descriptions/data-models/experiment-catalog-models/experiment_model.thrift
+++ 
b/thrift-interface-descriptions/data-models/experiment-catalog-models/experiment_model.thrift
@@ -100,7 +100,7 @@ struct ExperimentModel {
     14: optional UserConfigurationDataModel userConfigurationData,
     15: optional list<application_io_models.InputDataObjectType> 
experimentInputs,
     16: optional list<application_io_models.OutputDataObjectType> 
experimentOutputs,
-    17: optional status_models.ExperimentStatus experimentStatus,
+    17: optional list<status_models.ExperimentStatus> experimentStatus,
     18: optional list<airavata_commons.ErrorModel> errors,
     19: optional list<process_model.ProcessModel> processes
     }

Reply via email to