making errors and statuses list in Process and Task models

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

Branch: refs/heads/lahiru/AIRAVATA-2065
Commit: b46fd511789f4f58a6e2a89f0e608240c844baad
Parents: eee49d3
Author: scnakandala <supun.nakand...@gmail.com>
Authored: Mon Aug 29 16:06:08 2016 -0400
Committer: scnakandala <supun.nakand...@gmail.com>
Committed: Mon Aug 29 16:06:08 2016 -0400

----------------------------------------------------------------------
 .../resources/lib/airavata/job_model_types.cpp  |  86 ++++--
 .../resources/lib/airavata/job_model_types.h    |   4 +-
 .../resources/lib/airavata/task_model_types.cpp | 242 ++++++++-------
 .../resources/lib/airavata/task_model_types.h   |   8 +-
 .../resources/lib/Airavata/Model/Task/Types.php | 102 +++++--
 .../resources/lib/Airavata/Model/job/Types.php  |  41 ++-
 .../lib/apache/airavata/model/job/ttypes.py     |  20 +-
 .../lib/apache/airavata/model/task/ttypes.py    |  54 ++--
 .../org/apache/airavata/model/job/JobModel.java | 142 +++++----
 .../airavata/model/process/ProcessModel.java    | 177 +++++------
 .../apache/airavata/model/task/TaskModel.java   | 302 ++++++++++++-------
 .../apache/airavata/gfac/core/GFacUtils.java    |   9 +-
 .../gfac/core/context/ProcessContext.java       |  10 +-
 .../airavata/gfac/core/context/TaskContext.java |  17 +-
 .../airavata/gfac/impl/GFacEngineImpl.java      |  25 +-
 .../airavata/gfac/impl/task/ArchiveTask.java    |   5 +-
 .../gfac/impl/task/BESJobSubmissionTask.java    |  10 +-
 .../airavata/gfac/impl/task/DataStageTask.java  |   8 +-
 .../impl/task/DefaultJobSubmissionTask.java     |  26 +-
 .../gfac/impl/task/EnvironmentSetupTask.java    |   3 +-
 .../gfac/impl/task/ForkJobSubmissionTask.java   |  13 +-
 .../gfac/impl/task/SCPDataStageTask.java        |  16 +-
 .../gfac/impl/task/utils/StreamData.java        |   8 +-
 .../gfac/monitor/email/EmailBasedMonitor.java   |   4 +-
 .../cpi/impl/SimpleOrchestratorImpl.java        |  12 +-
 .../core/entities/expcatalog/JobEntity.java     |  10 +-
 .../core/entities/expcatalog/ProcessEntity.java |  20 +-
 .../core/entities/expcatalog/TaskEntity.java    |  20 +-
 .../expcatalog/ExperimentRepository.java        |   8 +-
 .../catalog/impl/ExperimentRegistry.java        |  32 +-
 .../utils/ThriftDataModelConversion.java        |  16 +-
 .../service/handler/RegistryServerHandler.java  |   2 +-
 .../experiment-catalog-models/job_model.thrift  |   2 +-
 .../process_model.thrift                        |   4 +-
 .../experiment-catalog-models/task_model.thrift |   4 +-
 35 files changed, 864 insertions(+), 598 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/b46fd511/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.cpp
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.cpp
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.cpp
index 50bdd6d..b411913 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.cpp
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.cpp
@@ -56,7 +56,7 @@ void JobModel::__set_creationTime(const int64_t val) {
 __isset.creationTime = true;
 }
 
-void JobModel::__set_jobStatus(const  
::apache::airavata::model::status::JobStatus& val) {
+void JobModel::__set_jobStatus(const std::vector< 
::apache::airavata::model::status::JobStatus> & val) {
   this->jobStatus = val;
 __isset.jobStatus = true;
 }
@@ -157,8 +157,20 @@ uint32_t 
JobModel::read(::apache::thrift::protocol::TProtocol* iprot) {
         }
         break;
       case 6:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->jobStatus.read(iprot);
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->jobStatus.clear();
+            uint32_t _size0;
+            ::apache::thrift::protocol::TType _etype3;
+            xfer += iprot->readListBegin(_etype3, _size0);
+            this->jobStatus.resize(_size0);
+            uint32_t _i4;
+            for (_i4 = 0; _i4 < _size0; ++_i4)
+            {
+              xfer += this->jobStatus[_i4].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
           this->__isset.jobStatus = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -259,8 +271,16 @@ uint32_t 
JobModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.jobStatus) {
-    xfer += oprot->writeFieldBegin("jobStatus", 
::apache::thrift::protocol::T_STRUCT, 6);
-    xfer += this->jobStatus.write(oprot);
+    xfer += oprot->writeFieldBegin("jobStatus", 
::apache::thrift::protocol::T_LIST, 6);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, 
static_cast<uint32_t>(this->jobStatus.size()));
+      std::vector< ::apache::airavata::model::status::JobStatus> 
::const_iterator _iter5;
+      for (_iter5 = this->jobStatus.begin(); _iter5 != this->jobStatus.end(); 
++_iter5)
+      {
+        xfer += (*_iter5).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.computeResourceConsumed) {
@@ -315,35 +335,35 @@ void swap(JobModel &a, JobModel &b) {
   swap(a.__isset, b.__isset);
 }
 
-JobModel::JobModel(const JobModel& other0) {
-  jobId = other0.jobId;
-  taskId = other0.taskId;
-  processId = other0.processId;
-  jobDescription = other0.jobDescription;
-  creationTime = other0.creationTime;
-  jobStatus = other0.jobStatus;
-  computeResourceConsumed = other0.computeResourceConsumed;
-  jobName = other0.jobName;
-  workingDir = other0.workingDir;
-  stdOut = other0.stdOut;
-  stdErr = other0.stdErr;
-  exitCode = other0.exitCode;
-  __isset = other0.__isset;
+JobModel::JobModel(const JobModel& other6) {
+  jobId = other6.jobId;
+  taskId = other6.taskId;
+  processId = other6.processId;
+  jobDescription = other6.jobDescription;
+  creationTime = other6.creationTime;
+  jobStatus = other6.jobStatus;
+  computeResourceConsumed = other6.computeResourceConsumed;
+  jobName = other6.jobName;
+  workingDir = other6.workingDir;
+  stdOut = other6.stdOut;
+  stdErr = other6.stdErr;
+  exitCode = other6.exitCode;
+  __isset = other6.__isset;
 }
-JobModel& JobModel::operator=(const JobModel& other1) {
-  jobId = other1.jobId;
-  taskId = other1.taskId;
-  processId = other1.processId;
-  jobDescription = other1.jobDescription;
-  creationTime = other1.creationTime;
-  jobStatus = other1.jobStatus;
-  computeResourceConsumed = other1.computeResourceConsumed;
-  jobName = other1.jobName;
-  workingDir = other1.workingDir;
-  stdOut = other1.stdOut;
-  stdErr = other1.stdErr;
-  exitCode = other1.exitCode;
-  __isset = other1.__isset;
+JobModel& JobModel::operator=(const JobModel& other7) {
+  jobId = other7.jobId;
+  taskId = other7.taskId;
+  processId = other7.processId;
+  jobDescription = other7.jobDescription;
+  creationTime = other7.creationTime;
+  jobStatus = other7.jobStatus;
+  computeResourceConsumed = other7.computeResourceConsumed;
+  jobName = other7.jobName;
+  workingDir = other7.workingDir;
+  stdOut = other7.stdOut;
+  stdErr = other7.stdErr;
+  exitCode = other7.exitCode;
+  __isset = other7.__isset;
   return *this;
 }
 void JobModel::printTo(std::ostream& out) const {

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46fd511/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.h
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.h
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.h
index 6b98e32..00ba9fe 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.h
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.h
@@ -65,7 +65,7 @@ class JobModel {
   std::string processId;
   std::string jobDescription;
   int64_t creationTime;
-   ::apache::airavata::model::status::JobStatus jobStatus;
+  std::vector< ::apache::airavata::model::status::JobStatus>  jobStatus;
   std::string computeResourceConsumed;
   std::string jobName;
   std::string workingDir;
@@ -85,7 +85,7 @@ class JobModel {
 
   void __set_creationTime(const int64_t val);
 
-  void __set_jobStatus(const  ::apache::airavata::model::status::JobStatus& 
val);
+  void __set_jobStatus(const std::vector< 
::apache::airavata::model::status::JobStatus> & val);
 
   void __set_computeResourceConsumed(const std::string& val);
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46fd511/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.cpp
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.cpp
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.cpp
index f208387..e73eca8 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.cpp
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.cpp
@@ -85,7 +85,7 @@ void TaskModel::__set_lastUpdateTime(const int64_t val) {
   this->lastUpdateTime = val;
 }
 
-void TaskModel::__set_taskStatus(const  
::apache::airavata::model::status::TaskStatus& val) {
+void TaskModel::__set_taskStatus(const std::vector< 
::apache::airavata::model::status::TaskStatus> & val) {
   this->taskStatus = val;
 }
 
@@ -99,7 +99,7 @@ void TaskModel::__set_subTaskModel(const std::string& val) {
 __isset.subTaskModel = true;
 }
 
-void TaskModel::__set_taskError(const  
::apache::airavata::model::commons::ErrorModel& val) {
+void TaskModel::__set_taskError(const std::vector< 
::apache::airavata::model::commons::ErrorModel> & val) {
   this->taskError = val;
 __isset.taskError = true;
 }
@@ -179,8 +179,20 @@ uint32_t 
TaskModel::read(::apache::thrift::protocol::TProtocol* iprot) {
         }
         break;
       case 6:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->taskStatus.read(iprot);
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->taskStatus.clear();
+            uint32_t _size1;
+            ::apache::thrift::protocol::TType _etype4;
+            xfer += iprot->readListBegin(_etype4, _size1);
+            this->taskStatus.resize(_size1);
+            uint32_t _i5;
+            for (_i5 = 0; _i5 < _size1; ++_i5)
+            {
+              xfer += this->taskStatus[_i5].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
           isset_taskStatus = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -203,8 +215,20 @@ uint32_t 
TaskModel::read(::apache::thrift::protocol::TProtocol* iprot) {
         }
         break;
       case 9:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->taskError.read(iprot);
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->taskError.clear();
+            uint32_t _size6;
+            ::apache::thrift::protocol::TType _etype9;
+            xfer += iprot->readListBegin(_etype9, _size6);
+            this->taskError.resize(_size6);
+            uint32_t _i10;
+            for (_i10 = 0; _i10 < _size6; ++_i10)
+            {
+              xfer += this->taskError[_i10].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
           this->__isset.taskError = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -214,14 +238,14 @@ uint32_t 
TaskModel::read(::apache::thrift::protocol::TProtocol* iprot) {
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->jobs.clear();
-            uint32_t _size1;
-            ::apache::thrift::protocol::TType _etype4;
-            xfer += iprot->readListBegin(_etype4, _size1);
-            this->jobs.resize(_size1);
-            uint32_t _i5;
-            for (_i5 = 0; _i5 < _size1; ++_i5)
+            uint32_t _size11;
+            ::apache::thrift::protocol::TType _etype14;
+            xfer += iprot->readListBegin(_etype14, _size11);
+            this->jobs.resize(_size11);
+            uint32_t _i15;
+            for (_i15 = 0; _i15 < _size11; ++_i15)
             {
-              xfer += this->jobs[_i5].read(iprot);
+              xfer += this->jobs[_i15].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -279,8 +303,16 @@ uint32_t 
TaskModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
   xfer += oprot->writeI64(this->lastUpdateTime);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("taskStatus", 
::apache::thrift::protocol::T_STRUCT, 6);
-  xfer += this->taskStatus.write(oprot);
+  xfer += oprot->writeFieldBegin("taskStatus", 
::apache::thrift::protocol::T_LIST, 6);
+  {
+    xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, 
static_cast<uint32_t>(this->taskStatus.size()));
+    std::vector< ::apache::airavata::model::status::TaskStatus> 
::const_iterator _iter16;
+    for (_iter16 = this->taskStatus.begin(); _iter16 != 
this->taskStatus.end(); ++_iter16)
+    {
+      xfer += (*_iter16).write(oprot);
+    }
+    xfer += oprot->writeListEnd();
+  }
   xfer += oprot->writeFieldEnd();
 
   if (this->__isset.taskDetail) {
@@ -294,18 +326,26 @@ uint32_t 
TaskModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.taskError) {
-    xfer += oprot->writeFieldBegin("taskError", 
::apache::thrift::protocol::T_STRUCT, 9);
-    xfer += this->taskError.write(oprot);
+    xfer += oprot->writeFieldBegin("taskError", 
::apache::thrift::protocol::T_LIST, 9);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, 
static_cast<uint32_t>(this->taskError.size()));
+      std::vector< ::apache::airavata::model::commons::ErrorModel> 
::const_iterator _iter17;
+      for (_iter17 = this->taskError.begin(); _iter17 != 
this->taskError.end(); ++_iter17)
+      {
+        xfer += (*_iter17).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.jobs) {
     xfer += oprot->writeFieldBegin("jobs", ::apache::thrift::protocol::T_LIST, 
10);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, 
static_cast<uint32_t>(this->jobs.size()));
-      std::vector< ::apache::airavata::model::job::JobModel> ::const_iterator 
_iter6;
-      for (_iter6 = this->jobs.begin(); _iter6 != this->jobs.end(); ++_iter6)
+      std::vector< ::apache::airavata::model::job::JobModel> ::const_iterator 
_iter18;
+      for (_iter18 = this->jobs.begin(); _iter18 != this->jobs.end(); 
++_iter18)
       {
-        xfer += (*_iter6).write(oprot);
+        xfer += (*_iter18).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -331,31 +371,31 @@ void swap(TaskModel &a, TaskModel &b) {
   swap(a.__isset, b.__isset);
 }
 
-TaskModel::TaskModel(const TaskModel& other7) {
-  taskId = other7.taskId;
-  taskType = other7.taskType;
-  parentProcessId = other7.parentProcessId;
-  creationTime = other7.creationTime;
-  lastUpdateTime = other7.lastUpdateTime;
-  taskStatus = other7.taskStatus;
-  taskDetail = other7.taskDetail;
-  subTaskModel = other7.subTaskModel;
-  taskError = other7.taskError;
-  jobs = other7.jobs;
-  __isset = other7.__isset;
-}
-TaskModel& TaskModel::operator=(const TaskModel& other8) {
-  taskId = other8.taskId;
-  taskType = other8.taskType;
-  parentProcessId = other8.parentProcessId;
-  creationTime = other8.creationTime;
-  lastUpdateTime = other8.lastUpdateTime;
-  taskStatus = other8.taskStatus;
-  taskDetail = other8.taskDetail;
-  subTaskModel = other8.subTaskModel;
-  taskError = other8.taskError;
-  jobs = other8.jobs;
-  __isset = other8.__isset;
+TaskModel::TaskModel(const TaskModel& other19) {
+  taskId = other19.taskId;
+  taskType = other19.taskType;
+  parentProcessId = other19.parentProcessId;
+  creationTime = other19.creationTime;
+  lastUpdateTime = other19.lastUpdateTime;
+  taskStatus = other19.taskStatus;
+  taskDetail = other19.taskDetail;
+  subTaskModel = other19.subTaskModel;
+  taskError = other19.taskError;
+  jobs = other19.jobs;
+  __isset = other19.__isset;
+}
+TaskModel& TaskModel::operator=(const TaskModel& other20) {
+  taskId = other20.taskId;
+  taskType = other20.taskType;
+  parentProcessId = other20.parentProcessId;
+  creationTime = other20.creationTime;
+  lastUpdateTime = other20.lastUpdateTime;
+  taskStatus = other20.taskStatus;
+  taskDetail = other20.taskDetail;
+  subTaskModel = other20.subTaskModel;
+  taskError = other20.taskError;
+  jobs = other20.jobs;
+  __isset = other20.__isset;
   return *this;
 }
 void TaskModel::printTo(std::ostream& out) const {
@@ -458,9 +498,9 @@ uint32_t 
DataStagingTaskModel::read(::apache::thrift::protocol::TProtocol* iprot
         break;
       case 3:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast9;
-          xfer += iprot->readI32(ecast9);
-          this->type = (DataStageType::type)ecast9;
+          int32_t ecast21;
+          xfer += iprot->readI32(ecast21);
+          this->type = (DataStageType::type)ecast21;
           isset_type = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -584,27 +624,27 @@ void swap(DataStagingTaskModel &a, DataStagingTaskModel 
&b) {
   swap(a.__isset, b.__isset);
 }
 
-DataStagingTaskModel::DataStagingTaskModel(const DataStagingTaskModel& 
other10) {
-  source = other10.source;
-  destination = other10.destination;
-  type = other10.type;
-  transferStartTime = other10.transferStartTime;
-  transferEndTime = other10.transferEndTime;
-  transferRate = other10.transferRate;
-  processInput = other10.processInput;
-  processOutput = other10.processOutput;
-  __isset = other10.__isset;
-}
-DataStagingTaskModel& DataStagingTaskModel::operator=(const 
DataStagingTaskModel& other11) {
-  source = other11.source;
-  destination = other11.destination;
-  type = other11.type;
-  transferStartTime = other11.transferStartTime;
-  transferEndTime = other11.transferEndTime;
-  transferRate = other11.transferRate;
-  processInput = other11.processInput;
-  processOutput = other11.processOutput;
-  __isset = other11.__isset;
+DataStagingTaskModel::DataStagingTaskModel(const DataStagingTaskModel& 
other22) {
+  source = other22.source;
+  destination = other22.destination;
+  type = other22.type;
+  transferStartTime = other22.transferStartTime;
+  transferEndTime = other22.transferEndTime;
+  transferRate = other22.transferRate;
+  processInput = other22.processInput;
+  processOutput = other22.processOutput;
+  __isset = other22.__isset;
+}
+DataStagingTaskModel& DataStagingTaskModel::operator=(const 
DataStagingTaskModel& other23) {
+  source = other23.source;
+  destination = other23.destination;
+  type = other23.type;
+  transferStartTime = other23.transferStartTime;
+  transferEndTime = other23.transferEndTime;
+  transferRate = other23.transferRate;
+  processInput = other23.processInput;
+  processOutput = other23.processOutput;
+  __isset = other23.__isset;
   return *this;
 }
 void DataStagingTaskModel::printTo(std::ostream& out) const {
@@ -667,9 +707,9 @@ uint32_t 
EnvironmentSetupTaskModel::read(::apache::thrift::protocol::TProtocol*
         break;
       case 2:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast12;
-          xfer += iprot->readI32(ecast12);
-          this->protocol = ( 
::apache::airavata::model::data::movement::SecurityProtocol::type)ecast12;
+          int32_t ecast24;
+          xfer += iprot->readI32(ecast24);
+          this->protocol = ( 
::apache::airavata::model::data::movement::SecurityProtocol::type)ecast24;
           isset_protocol = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -715,13 +755,13 @@ void swap(EnvironmentSetupTaskModel &a, 
EnvironmentSetupTaskModel &b) {
   swap(a.protocol, b.protocol);
 }
 
-EnvironmentSetupTaskModel::EnvironmentSetupTaskModel(const 
EnvironmentSetupTaskModel& other13) {
-  location = other13.location;
-  protocol = other13.protocol;
+EnvironmentSetupTaskModel::EnvironmentSetupTaskModel(const 
EnvironmentSetupTaskModel& other25) {
+  location = other25.location;
+  protocol = other25.protocol;
 }
-EnvironmentSetupTaskModel& EnvironmentSetupTaskModel::operator=(const 
EnvironmentSetupTaskModel& other14) {
-  location = other14.location;
-  protocol = other14.protocol;
+EnvironmentSetupTaskModel& EnvironmentSetupTaskModel::operator=(const 
EnvironmentSetupTaskModel& other26) {
+  location = other26.location;
+  protocol = other26.protocol;
   return *this;
 }
 void EnvironmentSetupTaskModel::printTo(std::ostream& out) const {
@@ -775,9 +815,9 @@ uint32_t 
JobSubmissionTaskModel::read(::apache::thrift::protocol::TProtocol* ipr
     {
       case 1:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast15;
-          xfer += iprot->readI32(ecast15);
-          this->jobSubmissionProtocol = ( 
::apache::airavata::model::appcatalog::computeresource::JobSubmissionProtocol::type)ecast15;
+          int32_t ecast27;
+          xfer += iprot->readI32(ecast27);
+          this->jobSubmissionProtocol = ( 
::apache::airavata::model::appcatalog::computeresource::JobSubmissionProtocol::type)ecast27;
           isset_jobSubmissionProtocol = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -785,9 +825,9 @@ uint32_t 
JobSubmissionTaskModel::read(::apache::thrift::protocol::TProtocol* ipr
         break;
       case 2:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast16;
-          xfer += iprot->readI32(ecast16);
-          this->monitorMode = ( 
::apache::airavata::model::appcatalog::computeresource::MonitorMode::type)ecast16;
+          int32_t ecast28;
+          xfer += iprot->readI32(ecast28);
+          this->monitorMode = ( 
::apache::airavata::model::appcatalog::computeresource::MonitorMode::type)ecast28;
           isset_monitorMode = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -848,17 +888,17 @@ void swap(JobSubmissionTaskModel &a, 
JobSubmissionTaskModel &b) {
   swap(a.__isset, b.__isset);
 }
 
-JobSubmissionTaskModel::JobSubmissionTaskModel(const JobSubmissionTaskModel& 
other17) {
-  jobSubmissionProtocol = other17.jobSubmissionProtocol;
-  monitorMode = other17.monitorMode;
-  wallTime = other17.wallTime;
-  __isset = other17.__isset;
+JobSubmissionTaskModel::JobSubmissionTaskModel(const JobSubmissionTaskModel& 
other29) {
+  jobSubmissionProtocol = other29.jobSubmissionProtocol;
+  monitorMode = other29.monitorMode;
+  wallTime = other29.wallTime;
+  __isset = other29.__isset;
 }
-JobSubmissionTaskModel& JobSubmissionTaskModel::operator=(const 
JobSubmissionTaskModel& other18) {
-  jobSubmissionProtocol = other18.jobSubmissionProtocol;
-  monitorMode = other18.monitorMode;
-  wallTime = other18.wallTime;
-  __isset = other18.__isset;
+JobSubmissionTaskModel& JobSubmissionTaskModel::operator=(const 
JobSubmissionTaskModel& other30) {
+  jobSubmissionProtocol = other30.jobSubmissionProtocol;
+  monitorMode = other30.monitorMode;
+  wallTime = other30.wallTime;
+  __isset = other30.__isset;
   return *this;
 }
 void JobSubmissionTaskModel::printTo(std::ostream& out) const {
@@ -903,9 +943,9 @@ uint32_t 
MonitorTaskModel::read(::apache::thrift::protocol::TProtocol* iprot) {
     {
       case 1:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast19;
-          xfer += iprot->readI32(ecast19);
-          this->monitorMode = ( 
::apache::airavata::model::appcatalog::computeresource::MonitorMode::type)ecast19;
+          int32_t ecast31;
+          xfer += iprot->readI32(ecast31);
+          this->monitorMode = ( 
::apache::airavata::model::appcatalog::computeresource::MonitorMode::type)ecast31;
           isset_monitorMode = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -944,11 +984,11 @@ void swap(MonitorTaskModel &a, MonitorTaskModel &b) {
   swap(a.monitorMode, b.monitorMode);
 }
 
-MonitorTaskModel::MonitorTaskModel(const MonitorTaskModel& other20) {
-  monitorMode = other20.monitorMode;
+MonitorTaskModel::MonitorTaskModel(const MonitorTaskModel& other32) {
+  monitorMode = other32.monitorMode;
 }
-MonitorTaskModel& MonitorTaskModel::operator=(const MonitorTaskModel& other21) 
{
-  monitorMode = other21.monitorMode;
+MonitorTaskModel& MonitorTaskModel::operator=(const MonitorTaskModel& other33) 
{
+  monitorMode = other33.monitorMode;
   return *this;
 }
 void MonitorTaskModel::printTo(std::ostream& out) const {

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46fd511/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.h
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.h
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.h
index 8f18441..8a98904 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.h
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.h
@@ -97,10 +97,10 @@ class TaskModel {
   std::string parentProcessId;
   int64_t creationTime;
   int64_t lastUpdateTime;
-   ::apache::airavata::model::status::TaskStatus taskStatus;
+  std::vector< ::apache::airavata::model::status::TaskStatus>  taskStatus;
   std::string taskDetail;
   std::string subTaskModel;
-   ::apache::airavata::model::commons::ErrorModel taskError;
+  std::vector< ::apache::airavata::model::commons::ErrorModel>  taskError;
   std::vector< ::apache::airavata::model::job::JobModel>  jobs;
 
   _TaskModel__isset __isset;
@@ -115,13 +115,13 @@ class TaskModel {
 
   void __set_lastUpdateTime(const int64_t val);
 
-  void __set_taskStatus(const  ::apache::airavata::model::status::TaskStatus& 
val);
+  void __set_taskStatus(const std::vector< 
::apache::airavata::model::status::TaskStatus> & val);
 
   void __set_taskDetail(const std::string& val);
 
   void __set_subTaskModel(const std::string& val);
 
-  void __set_taskError(const  ::apache::airavata::model::commons::ErrorModel& 
val);
+  void __set_taskError(const std::vector< 
::apache::airavata::model::commons::ErrorModel> & val);
 
   void __set_jobs(const std::vector< ::apache::airavata::model::job::JobModel> 
& val);
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46fd511/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Task/Types.php
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Task/Types.php
 
b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Task/Types.php
index 2997652..b655020 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Task/Types.php
+++ 
b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Task/Types.php
@@ -89,7 +89,7 @@ class TaskModel {
    */
   public $lastUpdateTime = null;
   /**
-   * @var \Airavata\Model\Status\TaskStatus
+   * @var \Airavata\Model\Status\TaskStatus[]
    */
   public $taskStatus = null;
   /**
@@ -101,7 +101,7 @@ class TaskModel {
    */
   public $subTaskModel = null;
   /**
-   * @var \Airavata\Model\Commons\ErrorModel
+   * @var \Airavata\Model\Commons\ErrorModel[]
    */
   public $taskError = null;
   /**
@@ -134,8 +134,12 @@ class TaskModel {
           ),
         6 => array(
           'var' => 'taskStatus',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Status\TaskStatus',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Status\TaskStatus',
+            ),
           ),
         7 => array(
           'var' => 'taskDetail',
@@ -147,8 +151,12 @@ class TaskModel {
           ),
         9 => array(
           'var' => 'taskError',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Commons\ErrorModel',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Commons\ErrorModel',
+            ),
           ),
         10 => array(
           'var' => 'jobs',
@@ -250,9 +258,19 @@ class TaskModel {
           }
           break;
         case 6:
-          if ($ftype == TType::STRUCT) {
-            $this->taskStatus = new \Airavata\Model\Status\TaskStatus();
-            $xfer += $this->taskStatus->read($input);
+          if ($ftype == TType::LST) {
+            $this->taskStatus = array();
+            $_size0 = 0;
+            $_etype3 = 0;
+            $xfer += $input->readListBegin($_etype3, $_size0);
+            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            {
+              $elem5 = null;
+              $elem5 = new \Airavata\Model\Status\TaskStatus();
+              $xfer += $elem5->read($input);
+              $this->taskStatus []= $elem5;
+            }
+            $xfer += $input->readListEnd();
           } else {
             $xfer += $input->skip($ftype);
           }
@@ -272,9 +290,19 @@ class TaskModel {
           }
           break;
         case 9:
-          if ($ftype == TType::STRUCT) {
-            $this->taskError = new \Airavata\Model\Commons\ErrorModel();
-            $xfer += $this->taskError->read($input);
+          if ($ftype == TType::LST) {
+            $this->taskError = array();
+            $_size6 = 0;
+            $_etype9 = 0;
+            $xfer += $input->readListBegin($_etype9, $_size6);
+            for ($_i10 = 0; $_i10 < $_size6; ++$_i10)
+            {
+              $elem11 = null;
+              $elem11 = new \Airavata\Model\Commons\ErrorModel();
+              $xfer += $elem11->read($input);
+              $this->taskError []= $elem11;
+            }
+            $xfer += $input->readListEnd();
           } else {
             $xfer += $input->skip($ftype);
           }
@@ -282,15 +310,15 @@ class TaskModel {
         case 10:
           if ($ftype == TType::LST) {
             $this->jobs = array();
-            $_size0 = 0;
-            $_etype3 = 0;
-            $xfer += $input->readListBegin($_etype3, $_size0);
-            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            $_size12 = 0;
+            $_etype15 = 0;
+            $xfer += $input->readListBegin($_etype15, $_size12);
+            for ($_i16 = 0; $_i16 < $_size12; ++$_i16)
             {
-              $elem5 = null;
-              $elem5 = new \Airavata\Model\Job\JobModel();
-              $xfer += $elem5->read($input);
-              $this->jobs []= $elem5;
+              $elem17 = null;
+              $elem17 = new \Airavata\Model\Job\JobModel();
+              $xfer += $elem17->read($input);
+              $this->jobs []= $elem17;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -336,11 +364,20 @@ class TaskModel {
       $xfer += $output->writeFieldEnd();
     }
     if ($this->taskStatus !== null) {
-      if (!is_object($this->taskStatus)) {
+      if (!is_array($this->taskStatus)) {
         throw new TProtocolException('Bad type in structure.', 
TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('taskStatus', TType::STRUCT, 6);
-      $xfer += $this->taskStatus->write($output);
+      $xfer += $output->writeFieldBegin('taskStatus', TType::LST, 6);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->taskStatus));
+        {
+          foreach ($this->taskStatus as $iter18)
+          {
+            $xfer += $iter18->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
       $xfer += $output->writeFieldEnd();
     }
     if ($this->taskDetail !== null) {
@@ -354,11 +391,20 @@ class TaskModel {
       $xfer += $output->writeFieldEnd();
     }
     if ($this->taskError !== null) {
-      if (!is_object($this->taskError)) {
+      if (!is_array($this->taskError)) {
         throw new TProtocolException('Bad type in structure.', 
TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('taskError', TType::STRUCT, 9);
-      $xfer += $this->taskError->write($output);
+      $xfer += $output->writeFieldBegin('taskError', TType::LST, 9);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->taskError));
+        {
+          foreach ($this->taskError as $iter19)
+          {
+            $xfer += $iter19->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
       $xfer += $output->writeFieldEnd();
     }
     if ($this->jobs !== null) {
@@ -369,9 +415,9 @@ class TaskModel {
       {
         $output->writeListBegin(TType::STRUCT, count($this->jobs));
         {
-          foreach ($this->jobs as $iter6)
+          foreach ($this->jobs as $iter20)
           {
-            $xfer += $iter6->write($output);
+            $xfer += $iter20->write($output);
           }
         }
         $output->writeListEnd();

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46fd511/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/job/Types.php
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/job/Types.php
 
b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/job/Types.php
index 22453c1..8f50b70 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/job/Types.php
+++ 
b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/job/Types.php
@@ -41,7 +41,7 @@ class JobModel {
    */
   public $creationTime = null;
   /**
-   * @var \Airavata\Model\Status\JobStatus
+   * @var \Airavata\Model\Status\JobStatus[]
    */
   public $jobStatus = null;
   /**
@@ -94,8 +94,12 @@ class JobModel {
           ),
         6 => array(
           'var' => 'jobStatus',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Status\JobStatus',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Status\JobStatus',
+            ),
           ),
         7 => array(
           'var' => 'computeResourceConsumed',
@@ -218,9 +222,19 @@ class JobModel {
           }
           break;
         case 6:
-          if ($ftype == TType::STRUCT) {
-            $this->jobStatus = new \Airavata\Model\Status\JobStatus();
-            $xfer += $this->jobStatus->read($input);
+          if ($ftype == TType::LST) {
+            $this->jobStatus = array();
+            $_size0 = 0;
+            $_etype3 = 0;
+            $xfer += $input->readListBegin($_etype3, $_size0);
+            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            {
+              $elem5 = null;
+              $elem5 = new \Airavata\Model\Status\JobStatus();
+              $xfer += $elem5->read($input);
+              $this->jobStatus []= $elem5;
+            }
+            $xfer += $input->readListEnd();
           } else {
             $xfer += $input->skip($ftype);
           }
@@ -306,11 +320,20 @@ class JobModel {
       $xfer += $output->writeFieldEnd();
     }
     if ($this->jobStatus !== null) {
-      if (!is_object($this->jobStatus)) {
+      if (!is_array($this->jobStatus)) {
         throw new TProtocolException('Bad type in structure.', 
TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('jobStatus', TType::STRUCT, 6);
-      $xfer += $this->jobStatus->write($output);
+      $xfer += $output->writeFieldBegin('jobStatus', TType::LST, 6);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->jobStatus));
+        {
+          foreach ($this->jobStatus as $iter6)
+          {
+            $xfer += $iter6->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
       $xfer += $output->writeFieldEnd();
     }
     if ($this->computeResourceConsumed !== null) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46fd511/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/job/ttypes.py
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/job/ttypes.py
 
b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/job/ttypes.py
index 8c8f881..111d241 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/job/ttypes.py
+++ 
b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/job/ttypes.py
@@ -43,7 +43,7 @@ class JobModel:
     (3, TType.STRING, 'processId', None, None, ), # 3
     (4, TType.STRING, 'jobDescription', None, None, ), # 4
     (5, TType.I64, 'creationTime', None, None, ), # 5
-    (6, TType.STRUCT, 'jobStatus', 
(apache.airavata.model.status.ttypes.JobStatus, 
apache.airavata.model.status.ttypes.JobStatus.thrift_spec), None, ), # 6
+    (6, TType.LIST, 'jobStatus', 
(TType.STRUCT,(apache.airavata.model.status.ttypes.JobStatus, 
apache.airavata.model.status.ttypes.JobStatus.thrift_spec)), None, ), # 6
     (7, TType.STRING, 'computeResourceConsumed', None, None, ), # 7
     (8, TType.STRING, 'jobName', None, None, ), # 8
     (9, TType.STRING, 'workingDir', None, None, ), # 9
@@ -101,9 +101,14 @@ class JobModel:
         else:
           iprot.skip(ftype)
       elif fid == 6:
-        if ftype == TType.STRUCT:
-          self.jobStatus = apache.airavata.model.status.ttypes.JobStatus()
-          self.jobStatus.read(iprot)
+        if ftype == TType.LIST:
+          self.jobStatus = []
+          (_etype3, _size0) = iprot.readListBegin()
+          for _i4 in xrange(_size0):
+            _elem5 = apache.airavata.model.status.ttypes.JobStatus()
+            _elem5.read(iprot)
+            self.jobStatus.append(_elem5)
+          iprot.readListEnd()
         else:
           iprot.skip(ftype)
       elif fid == 7:
@@ -167,8 +172,11 @@ class JobModel:
       oprot.writeI64(self.creationTime)
       oprot.writeFieldEnd()
     if self.jobStatus is not None:
-      oprot.writeFieldBegin('jobStatus', TType.STRUCT, 6)
-      self.jobStatus.write(oprot)
+      oprot.writeFieldBegin('jobStatus', TType.LIST, 6)
+      oprot.writeListBegin(TType.STRUCT, len(self.jobStatus))
+      for iter6 in self.jobStatus:
+        iter6.write(oprot)
+      oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.computeResourceConsumed is not None:
       oprot.writeFieldBegin('computeResourceConsumed', TType.STRING, 7)

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46fd511/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/task/ttypes.py
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/task/ttypes.py
 
b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/task/ttypes.py
index ff6d729..9699f7b 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/task/ttypes.py
+++ 
b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/task/ttypes.py
@@ -108,10 +108,10 @@ class TaskModel:
     (3, TType.STRING, 'parentProcessId', None, None, ), # 3
     (4, TType.I64, 'creationTime', None, None, ), # 4
     (5, TType.I64, 'lastUpdateTime', None, None, ), # 5
-    (6, TType.STRUCT, 'taskStatus', 
(apache.airavata.model.status.ttypes.TaskStatus, 
apache.airavata.model.status.ttypes.TaskStatus.thrift_spec), None, ), # 6
+    (6, TType.LIST, 'taskStatus', 
(TType.STRUCT,(apache.airavata.model.status.ttypes.TaskStatus, 
apache.airavata.model.status.ttypes.TaskStatus.thrift_spec)), None, ), # 6
     (7, TType.STRING, 'taskDetail', None, None, ), # 7
     (8, TType.STRING, 'subTaskModel', None, None, ), # 8
-    (9, TType.STRUCT, 'taskError', 
(apache.airavata.model.commons.ttypes.ErrorModel, 
apache.airavata.model.commons.ttypes.ErrorModel.thrift_spec), None, ), # 9
+    (9, TType.LIST, 'taskError', 
(TType.STRUCT,(apache.airavata.model.commons.ttypes.ErrorModel, 
apache.airavata.model.commons.ttypes.ErrorModel.thrift_spec)), None, ), # 9
     (10, TType.LIST, 'jobs', 
(TType.STRUCT,(apache.airavata.model.job.ttypes.JobModel, 
apache.airavata.model.job.ttypes.JobModel.thrift_spec)), None, ), # 10
   )
 
@@ -162,9 +162,14 @@ class TaskModel:
         else:
           iprot.skip(ftype)
       elif fid == 6:
-        if ftype == TType.STRUCT:
-          self.taskStatus = apache.airavata.model.status.ttypes.TaskStatus()
-          self.taskStatus.read(iprot)
+        if ftype == TType.LIST:
+          self.taskStatus = []
+          (_etype3, _size0) = iprot.readListBegin()
+          for _i4 in xrange(_size0):
+            _elem5 = apache.airavata.model.status.ttypes.TaskStatus()
+            _elem5.read(iprot)
+            self.taskStatus.append(_elem5)
+          iprot.readListEnd()
         else:
           iprot.skip(ftype)
       elif fid == 7:
@@ -178,19 +183,24 @@ class TaskModel:
         else:
           iprot.skip(ftype)
       elif fid == 9:
-        if ftype == TType.STRUCT:
-          self.taskError = apache.airavata.model.commons.ttypes.ErrorModel()
-          self.taskError.read(iprot)
+        if ftype == TType.LIST:
+          self.taskError = []
+          (_etype9, _size6) = iprot.readListBegin()
+          for _i10 in xrange(_size6):
+            _elem11 = apache.airavata.model.commons.ttypes.ErrorModel()
+            _elem11.read(iprot)
+            self.taskError.append(_elem11)
+          iprot.readListEnd()
         else:
           iprot.skip(ftype)
       elif fid == 10:
         if ftype == TType.LIST:
           self.jobs = []
-          (_etype3, _size0) = iprot.readListBegin()
-          for _i4 in xrange(_size0):
-            _elem5 = apache.airavata.model.job.ttypes.JobModel()
-            _elem5.read(iprot)
-            self.jobs.append(_elem5)
+          (_etype15, _size12) = iprot.readListBegin()
+          for _i16 in xrange(_size12):
+            _elem17 = apache.airavata.model.job.ttypes.JobModel()
+            _elem17.read(iprot)
+            self.jobs.append(_elem17)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -225,8 +235,11 @@ class TaskModel:
       oprot.writeI64(self.lastUpdateTime)
       oprot.writeFieldEnd()
     if self.taskStatus is not None:
-      oprot.writeFieldBegin('taskStatus', TType.STRUCT, 6)
-      self.taskStatus.write(oprot)
+      oprot.writeFieldBegin('taskStatus', TType.LIST, 6)
+      oprot.writeListBegin(TType.STRUCT, len(self.taskStatus))
+      for iter18 in self.taskStatus:
+        iter18.write(oprot)
+      oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.taskDetail is not None:
       oprot.writeFieldBegin('taskDetail', TType.STRING, 7)
@@ -237,14 +250,17 @@ class TaskModel:
       oprot.writeString(self.subTaskModel)
       oprot.writeFieldEnd()
     if self.taskError is not None:
-      oprot.writeFieldBegin('taskError', TType.STRUCT, 9)
-      self.taskError.write(oprot)
+      oprot.writeFieldBegin('taskError', TType.LIST, 9)
+      oprot.writeListBegin(TType.STRUCT, len(self.taskError))
+      for iter19 in self.taskError:
+        iter19.write(oprot)
+      oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.jobs is not None:
       oprot.writeFieldBegin('jobs', TType.LIST, 10)
       oprot.writeListBegin(TType.STRUCT, len(self.jobs))
-      for iter6 in self.jobs:
-        iter6.write(oprot)
+      for iter20 in self.jobs:
+        iter20.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46fd511/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
 
b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
index f624be9..d14c50e 100644
--- 
a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
+++ 
b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
@@ -23,32 +23,15 @@
  */
 package org.apache.airavata.model.job;
 
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.protocol.TTupleProtocol;
 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 javax.annotation.Generated;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import java.util.*;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
 @Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
@@ -60,7 +43,7 @@ public class JobModel implements 
org.apache.thrift.TBase<JobModel, JobModel._Fie
   private static final org.apache.thrift.protocol.TField PROCESS_ID_FIELD_DESC 
= new org.apache.thrift.protocol.TField("processId", 
org.apache.thrift.protocol.TType.STRING, (short)3);
   private static final org.apache.thrift.protocol.TField 
JOB_DESCRIPTION_FIELD_DESC = new 
org.apache.thrift.protocol.TField("jobDescription", 
org.apache.thrift.protocol.TType.STRING, (short)4);
   private static final org.apache.thrift.protocol.TField 
CREATION_TIME_FIELD_DESC = new 
org.apache.thrift.protocol.TField("creationTime", 
org.apache.thrift.protocol.TType.I64, (short)5);
-  private static final org.apache.thrift.protocol.TField JOB_STATUS_FIELD_DESC 
= new org.apache.thrift.protocol.TField("jobStatus", 
org.apache.thrift.protocol.TType.STRUCT, (short)6);
+  private static final org.apache.thrift.protocol.TField JOB_STATUS_FIELD_DESC 
= new org.apache.thrift.protocol.TField("jobStatuses", 
org.apache.thrift.protocol.TType.LIST, (short)6);
   private static final org.apache.thrift.protocol.TField 
COMPUTE_RESOURCE_CONSUMED_FIELD_DESC = new 
org.apache.thrift.protocol.TField("computeResourceConsumed", 
org.apache.thrift.protocol.TType.STRING, (short)7);
   private static final org.apache.thrift.protocol.TField JOB_NAME_FIELD_DESC = 
new org.apache.thrift.protocol.TField("jobName", 
org.apache.thrift.protocol.TType.STRING, (short)8);
   private static final org.apache.thrift.protocol.TField 
WORKING_DIR_FIELD_DESC = new org.apache.thrift.protocol.TField("workingDir", 
org.apache.thrift.protocol.TType.STRING, (short)9);
@@ -79,7 +62,7 @@ public class JobModel implements 
org.apache.thrift.TBase<JobModel, JobModel._Fie
   private String processId; // required
   private String jobDescription; // required
   private long creationTime; // optional
-  private org.apache.airavata.model.status.JobStatus jobStatus; // optional
+  private List<org.apache.airavata.model.status.JobStatus> jobStatuses; // 
optional
   private String computeResourceConsumed; // optional
   private String jobName; // optional
   private String workingDir; // optional
@@ -94,7 +77,7 @@ public class JobModel implements 
org.apache.thrift.TBase<JobModel, JobModel._Fie
     PROCESS_ID((short)3, "processId"),
     JOB_DESCRIPTION((short)4, "jobDescription"),
     CREATION_TIME((short)5, "creationTime"),
-    JOB_STATUS((short)6, "jobStatus"),
+    JOB_STATUS((short)6, "jobStatuses"),
     COMPUTE_RESOURCE_CONSUMED((short)7, "computeResourceConsumed"),
     JOB_NAME((short)8, "jobName"),
     WORKING_DIR((short)9, "workingDir"),
@@ -196,8 +179,9 @@ public class JobModel implements 
org.apache.thrift.TBase<JobModel, JobModel._Fie
         new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.CREATION_TIME, new 
org.apache.thrift.meta_data.FieldMetaData("creationTime", 
org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
-    tmpMap.put(_Fields.JOB_STATUS, new 
org.apache.thrift.meta_data.FieldMetaData("jobStatus", 
org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new 
org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT,
 org.apache.airavata.model.status.JobStatus.class)));
+    tmpMap.put(_Fields.JOB_STATUS, new 
org.apache.thrift.meta_data.FieldMetaData("jobStatuses", 
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.status.JobStatus.class))));
     tmpMap.put(_Fields.COMPUTE_RESOURCE_CONSUMED, new 
org.apache.thrift.meta_data.FieldMetaData("computeResourceConsumed", 
org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.JOB_NAME, new 
org.apache.thrift.meta_data.FieldMetaData("jobName", 
org.apache.thrift.TFieldRequirementType.OPTIONAL, 
@@ -249,7 +233,11 @@ public class JobModel implements 
org.apache.thrift.TBase<JobModel, JobModel._Fie
     }
     this.creationTime = other.creationTime;
     if (other.isSetJobStatus()) {
-      this.jobStatus = new 
org.apache.airavata.model.status.JobStatus(other.jobStatus);
+      List<org.apache.airavata.model.status.JobStatus> __this__jobStatus = new 
ArrayList<org.apache.airavata.model.status.JobStatus>(other.jobStatuses.size());
+      for (org.apache.airavata.model.status.JobStatus other_element : 
other.jobStatuses) {
+        __this__jobStatus.add(new 
org.apache.airavata.model.status.JobStatus(other_element));
+      }
+      this.jobStatuses = __this__jobStatus;
     }
     if (other.isSetComputeResourceConsumed()) {
       this.computeResourceConsumed = other.computeResourceConsumed;
@@ -281,7 +269,7 @@ public class JobModel implements 
org.apache.thrift.TBase<JobModel, JobModel._Fie
     this.jobDescription = null;
     setCreationTimeIsSet(false);
     this.creationTime = 0;
-    this.jobStatus = null;
+    this.jobStatuses = null;
     this.computeResourceConsumed = null;
     this.jobName = null;
     this.workingDir = null;
@@ -405,26 +393,41 @@ public class JobModel implements 
org.apache.thrift.TBase<JobModel, JobModel._Fie
     __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, 
__CREATIONTIME_ISSET_ID, value);
   }
 
-  public org.apache.airavata.model.status.JobStatus getJobStatus() {
-    return this.jobStatus;
+  public int getJobStatusSize() {
+    return (this.jobStatuses == null) ? 0 : this.jobStatuses.size();
+  }
+
+  public java.util.Iterator<org.apache.airavata.model.status.JobStatus> 
getJobStatusIterator() {
+    return (this.jobStatuses == null) ? null : this.jobStatuses.iterator();
   }
 
-  public void setJobStatus(org.apache.airavata.model.status.JobStatus 
jobStatus) {
-    this.jobStatus = jobStatus;
+  public void addToJobStatus(org.apache.airavata.model.status.JobStatus elem) {
+    if (this.jobStatuses == null) {
+      this.jobStatuses = new 
ArrayList<org.apache.airavata.model.status.JobStatus>();
+    }
+    this.jobStatuses.add(elem);
+  }
+
+  public List<org.apache.airavata.model.status.JobStatus> getJobStatuses() {
+    return this.jobStatuses;
+  }
+
+  public void setJobStatuses(List<org.apache.airavata.model.status.JobStatus> 
jobStatuses) {
+    this.jobStatuses = jobStatuses;
   }
 
   public void unsetJobStatus() {
-    this.jobStatus = null;
+    this.jobStatuses = null;
   }
 
-  /** Returns true if field jobStatus is set (has been assigned a value) and 
false otherwise */
+  /** Returns true if field jobStatuses is set (has been assigned a value) and 
false otherwise */
   public boolean isSetJobStatus() {
-    return this.jobStatus != null;
+    return this.jobStatuses != null;
   }
 
   public void setJobStatusIsSet(boolean value) {
     if (!value) {
-      this.jobStatus = null;
+      this.jobStatuses = null;
     }
   }
 
@@ -611,7 +614,7 @@ public class JobModel implements 
org.apache.thrift.TBase<JobModel, JobModel._Fie
       if (value == null) {
         unsetJobStatus();
       } else {
-        setJobStatus((org.apache.airavata.model.status.JobStatus)value);
+        setJobStatuses((List<org.apache.airavata.model.status.JobStatus>) 
value);
       }
       break;
 
@@ -684,7 +687,7 @@ public class JobModel implements 
org.apache.thrift.TBase<JobModel, JobModel._Fie
       return getCreationTime();
 
     case JOB_STATUS:
-      return getJobStatus();
+      return getJobStatuses();
 
     case COMPUTE_RESOURCE_CONSUMED:
       return getComputeResourceConsumed();
@@ -806,7 +809,7 @@ public class JobModel implements 
org.apache.thrift.TBase<JobModel, JobModel._Fie
     if (this_present_jobStatus || that_present_jobStatus) {
       if (!(this_present_jobStatus && that_present_jobStatus))
         return false;
-      if (!this.jobStatus.equals(that.jobStatus))
+      if (!this.jobStatuses.equals(that.jobStatuses))
         return false;
     }
 
@@ -899,7 +902,7 @@ public class JobModel implements 
org.apache.thrift.TBase<JobModel, JobModel._Fie
     boolean present_jobStatus = true && (isSetJobStatus());
     list.add(present_jobStatus);
     if (present_jobStatus)
-      list.add(jobStatus);
+      list.add(jobStatuses);
 
     boolean present_computeResourceConsumed = true && 
(isSetComputeResourceConsumed());
     list.add(present_computeResourceConsumed);
@@ -997,7 +1000,7 @@ public class JobModel implements 
org.apache.thrift.TBase<JobModel, JobModel._Fie
       return lastComparison;
     }
     if (isSetJobStatus()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jobStatus, 
other.jobStatus);
+      lastComparison = 
org.apache.thrift.TBaseHelper.compareTo(this.jobStatuses, other.jobStatuses);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -1121,11 +1124,11 @@ public class JobModel implements 
org.apache.thrift.TBase<JobModel, JobModel._Fie
     }
     if (isSetJobStatus()) {
       if (!first) sb.append(", ");
-      sb.append("jobStatus:");
-      if (this.jobStatus == null) {
+      sb.append("jobStatuses:");
+      if (this.jobStatuses == null) {
         sb.append("null");
       } else {
-        sb.append(this.jobStatus);
+        sb.append(this.jobStatuses);
       }
       first = false;
     }
@@ -1208,9 +1211,6 @@ public class JobModel implements 
org.apache.thrift.TBase<JobModel, JobModel._Fie
     }
 
     // check for sub-struct validity
-    if (jobStatus != null) {
-      jobStatus.validate();
-    }
   }
 
   private void writeObject(java.io.ObjectOutputStream out) throws 
java.io.IOException {
@@ -1290,9 +1290,19 @@ public class JobModel implements 
org.apache.thrift.TBase<JobModel, JobModel._Fie
             }
             break;
           case 6: // JOB_STATUS
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-              struct.jobStatus = new 
org.apache.airavata.model.status.JobStatus();
-              struct.jobStatus.read(iprot);
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list0 = 
iprot.readListBegin();
+                struct.jobStatuses = new 
ArrayList<org.apache.airavata.model.status.JobStatus>(_list0.size);
+                org.apache.airavata.model.status.JobStatus _elem1;
+                for (int _i2 = 0; _i2 < _list0.size; ++_i2)
+                {
+                  _elem1 = new org.apache.airavata.model.status.JobStatus();
+                  _elem1.read(iprot);
+                  struct.jobStatuses.add(_elem1);
+                }
+                iprot.readListEnd();
+              }
               struct.setJobStatusIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
@@ -1384,10 +1394,17 @@ public class JobModel implements 
org.apache.thrift.TBase<JobModel, JobModel._Fie
         oprot.writeI64(struct.creationTime);
         oprot.writeFieldEnd();
       }
-      if (struct.jobStatus != null) {
+      if (struct.jobStatuses != null) {
         if (struct.isSetJobStatus()) {
           oprot.writeFieldBegin(JOB_STATUS_FIELD_DESC);
-          struct.jobStatus.write(oprot);
+          {
+            oprot.writeListBegin(new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
struct.jobStatuses.size()));
+            for (org.apache.airavata.model.status.JobStatus _iter3 : 
struct.jobStatuses)
+            {
+              _iter3.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
           oprot.writeFieldEnd();
         }
       }
@@ -1482,7 +1499,13 @@ public class JobModel implements 
org.apache.thrift.TBase<JobModel, JobModel._Fie
         oprot.writeI64(struct.creationTime);
       }
       if (struct.isSetJobStatus()) {
-        struct.jobStatus.write(oprot);
+        {
+          oprot.writeI32(struct.jobStatuses.size());
+          for (org.apache.airavata.model.status.JobStatus _iter4 : 
struct.jobStatuses)
+          {
+            _iter4.write(oprot);
+          }
+        }
       }
       if (struct.isSetComputeResourceConsumed()) {
         oprot.writeString(struct.computeResourceConsumed);
@@ -1521,8 +1544,17 @@ public class JobModel implements 
org.apache.thrift.TBase<JobModel, JobModel._Fie
         struct.setCreationTimeIsSet(true);
       }
       if (incoming.get(1)) {
-        struct.jobStatus = new org.apache.airavata.model.status.JobStatus();
-        struct.jobStatus.read(iprot);
+        {
+          org.apache.thrift.protocol.TList _list5 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
iprot.readI32());
+          struct.jobStatuses = new 
ArrayList<org.apache.airavata.model.status.JobStatus>(_list5.size);
+          org.apache.airavata.model.status.JobStatus _elem6;
+          for (int _i7 = 0; _i7 < _list5.size; ++_i7)
+          {
+            _elem6 = new org.apache.airavata.model.status.JobStatus();
+            _elem6.read(iprot);
+            struct.jobStatuses.add(_elem6);
+          }
+        }
         struct.setJobStatusIsSet(true);
       }
       if (incoming.get(2)) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/b46fd511/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
 
b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
index 471d7c5..00db295 100644
--- 
a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
+++ 
b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
@@ -23,32 +23,15 @@
  */
 package org.apache.airavata.model.process;
 
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.protocol.TTupleProtocol;
 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 javax.annotation.Generated;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import java.util.*;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
 /**
@@ -68,7 +51,7 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
   private static final org.apache.thrift.protocol.TField 
EXPERIMENT_ID_FIELD_DESC = new 
org.apache.thrift.protocol.TField("experimentId", 
org.apache.thrift.protocol.TType.STRING, (short)2);
   private static final org.apache.thrift.protocol.TField 
CREATION_TIME_FIELD_DESC = new 
org.apache.thrift.protocol.TField("creationTime", 
org.apache.thrift.protocol.TType.I64, (short)3);
   private static final org.apache.thrift.protocol.TField 
LAST_UPDATE_TIME_FIELD_DESC = new 
org.apache.thrift.protocol.TField("lastUpdateTime", 
org.apache.thrift.protocol.TType.I64, (short)4);
-  private static final org.apache.thrift.protocol.TField 
PROCESS_STATUS_FIELD_DESC = new 
org.apache.thrift.protocol.TField("processStatus", 
org.apache.thrift.protocol.TType.LIST, (short)5);
+  private static final org.apache.thrift.protocol.TField 
PROCESS_STATUS_FIELD_DESC = new 
org.apache.thrift.protocol.TField("processStatuses", 
org.apache.thrift.protocol.TType.LIST, (short)5);
   private static final org.apache.thrift.protocol.TField 
PROCESS_DETAIL_FIELD_DESC = new 
org.apache.thrift.protocol.TField("processDetail", 
org.apache.thrift.protocol.TType.STRING, (short)6);
   private static final org.apache.thrift.protocol.TField 
APPLICATION_INTERFACE_ID_FIELD_DESC = new 
org.apache.thrift.protocol.TField("applicationInterfaceId", 
org.apache.thrift.protocol.TType.STRING, (short)7);
   private static final org.apache.thrift.protocol.TField 
APPLICATION_DEPLOYMENT_ID_FIELD_DESC = new 
org.apache.thrift.protocol.TField("applicationDeploymentId", 
org.apache.thrift.protocol.TType.STRING, (short)8);
@@ -78,7 +61,7 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
   private static final org.apache.thrift.protocol.TField 
PROCESS_RESOURCE_SCHEDULE_FIELD_DESC = new 
org.apache.thrift.protocol.TField("processResourceSchedule", 
org.apache.thrift.protocol.TType.STRUCT, (short)12);
   private static final org.apache.thrift.protocol.TField TASKS_FIELD_DESC = 
new org.apache.thrift.protocol.TField("tasks", 
org.apache.thrift.protocol.TType.LIST, (short)13);
   private static final org.apache.thrift.protocol.TField TASK_DAG_FIELD_DESC = 
new org.apache.thrift.protocol.TField("taskDag", 
org.apache.thrift.protocol.TType.STRING, (short)14);
-  private static final org.apache.thrift.protocol.TField 
PROCESS_ERROR_FIELD_DESC = new 
org.apache.thrift.protocol.TField("processError", 
org.apache.thrift.protocol.TType.LIST, (short)15);
+  private static final org.apache.thrift.protocol.TField 
PROCESS_ERROR_FIELD_DESC = new 
org.apache.thrift.protocol.TField("processErrors", 
org.apache.thrift.protocol.TType.LIST, (short)15);
   private static final org.apache.thrift.protocol.TField 
GATEWAY_EXECUTION_ID_FIELD_DESC = new 
org.apache.thrift.protocol.TField("gatewayExecutionId", 
org.apache.thrift.protocol.TType.STRING, (short)16);
   private static final org.apache.thrift.protocol.TField 
ENABLE_EMAIL_NOTIFICATION_FIELD_DESC = new 
org.apache.thrift.protocol.TField("enableEmailNotification", 
org.apache.thrift.protocol.TType.BOOL, (short)17);
   private static final org.apache.thrift.protocol.TField 
EMAIL_ADDRESSES_FIELD_DESC = new 
org.apache.thrift.protocol.TField("emailAddresses", 
org.apache.thrift.protocol.TType.LIST, (short)18);
@@ -98,7 +81,7 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
   private String experimentId; // required
   private long creationTime; // optional
   private long lastUpdateTime; // optional
-  private List<org.apache.airavata.model.status.ProcessStatus> processStatus; 
// optional
+  private List<org.apache.airavata.model.status.ProcessStatus> 
processStatuses; // optional
   private String processDetail; // optional
   private String applicationInterfaceId; // optional
   private String applicationDeploymentId; // optional
@@ -108,7 +91,7 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
   private 
org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel 
processResourceSchedule; // optional
   private List<org.apache.airavata.model.task.TaskModel> tasks; // optional
   private String taskDag; // optional
-  private List<org.apache.airavata.model.commons.ErrorModel> processError; // 
optional
+  private List<org.apache.airavata.model.commons.ErrorModel> processErrors; // 
optional
   private String gatewayExecutionId; // optional
   private boolean enableEmailNotification; // optional
   private List<String> emailAddresses; // optional
@@ -124,7 +107,7 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
     EXPERIMENT_ID((short)2, "experimentId"),
     CREATION_TIME((short)3, "creationTime"),
     LAST_UPDATE_TIME((short)4, "lastUpdateTime"),
-    PROCESS_STATUS((short)5, "processStatus"),
+    PROCESS_STATUS((short)5, "processStatuses"),
     PROCESS_DETAIL((short)6, "processDetail"),
     APPLICATION_INTERFACE_ID((short)7, "applicationInterfaceId"),
     APPLICATION_DEPLOYMENT_ID((short)8, "applicationDeploymentId"),
@@ -134,7 +117,7 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
     PROCESS_RESOURCE_SCHEDULE((short)12, "processResourceSchedule"),
     TASKS((short)13, "tasks"),
     TASK_DAG((short)14, "taskDag"),
-    PROCESS_ERROR((short)15, "processError"),
+    PROCESS_ERROR((short)15, "processErrors"),
     GATEWAY_EXECUTION_ID((short)16, "gatewayExecutionId"),
     ENABLE_EMAIL_NOTIFICATION((short)17, "enableEmailNotification"),
     EMAIL_ADDRESSES((short)18, "emailAddresses"),
@@ -260,7 +243,7 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
         new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
     tmpMap.put(_Fields.LAST_UPDATE_TIME, new 
org.apache.thrift.meta_data.FieldMetaData("lastUpdateTime", 
org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
-    tmpMap.put(_Fields.PROCESS_STATUS, new 
org.apache.thrift.meta_data.FieldMetaData("processStatus", 
org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+    tmpMap.put(_Fields.PROCESS_STATUS, new 
org.apache.thrift.meta_data.FieldMetaData("processStatuses", 
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.status.ProcessStatus.class))));
     tmpMap.put(_Fields.PROCESS_DETAIL, new 
org.apache.thrift.meta_data.FieldMetaData("processDetail", 
org.apache.thrift.TFieldRequirementType.OPTIONAL, 
@@ -284,7 +267,7 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
             new 
org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT,
 org.apache.airavata.model.task.TaskModel.class))));
     tmpMap.put(_Fields.TASK_DAG, new 
org.apache.thrift.meta_data.FieldMetaData("taskDag", 
org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.PROCESS_ERROR, new 
org.apache.thrift.meta_data.FieldMetaData("processError", 
org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+    tmpMap.put(_Fields.PROCESS_ERROR, new 
org.apache.thrift.meta_data.FieldMetaData("processErrors", 
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))));
     tmpMap.put(_Fields.GATEWAY_EXECUTION_ID, new 
org.apache.thrift.meta_data.FieldMetaData("gatewayExecutionId", 
org.apache.thrift.TFieldRequirementType.OPTIONAL, 
@@ -338,11 +321,11 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
     this.creationTime = other.creationTime;
     this.lastUpdateTime = other.lastUpdateTime;
     if (other.isSetProcessStatus()) {
-      List<org.apache.airavata.model.status.ProcessStatus> 
__this__processStatus = new 
ArrayList<org.apache.airavata.model.status.ProcessStatus>(other.processStatus.size());
-      for (org.apache.airavata.model.status.ProcessStatus other_element : 
other.processStatus) {
+      List<org.apache.airavata.model.status.ProcessStatus> 
__this__processStatus = new 
ArrayList<org.apache.airavata.model.status.ProcessStatus>(other.processStatuses.size());
+      for (org.apache.airavata.model.status.ProcessStatus other_element : 
other.processStatuses) {
         __this__processStatus.add(new 
org.apache.airavata.model.status.ProcessStatus(other_element));
       }
-      this.processStatus = __this__processStatus;
+      this.processStatuses = __this__processStatus;
     }
     if (other.isSetProcessDetail()) {
       this.processDetail = other.processDetail;
@@ -384,11 +367,11 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
       this.taskDag = other.taskDag;
     }
     if (other.isSetProcessError()) {
-      List<org.apache.airavata.model.commons.ErrorModel> __this__processError 
= new 
ArrayList<org.apache.airavata.model.commons.ErrorModel>(other.processError.size());
-      for (org.apache.airavata.model.commons.ErrorModel other_element : 
other.processError) {
+      List<org.apache.airavata.model.commons.ErrorModel> __this__processError 
= new 
ArrayList<org.apache.airavata.model.commons.ErrorModel>(other.processErrors.size());
+      for (org.apache.airavata.model.commons.ErrorModel other_element : 
other.processErrors) {
         __this__processError.add(new 
org.apache.airavata.model.commons.ErrorModel(other_element));
       }
-      this.processError = __this__processError;
+      this.processErrors = __this__processError;
     }
     if (other.isSetGatewayExecutionId()) {
       this.gatewayExecutionId = other.gatewayExecutionId;
@@ -426,7 +409,7 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
     this.creationTime = 0;
     setLastUpdateTimeIsSet(false);
     this.lastUpdateTime = 0;
-    this.processStatus = null;
+    this.processStatuses = null;
     this.processDetail = null;
     this.applicationInterfaceId = null;
     this.applicationDeploymentId = null;
@@ -436,7 +419,7 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
     this.processResourceSchedule = null;
     this.tasks = null;
     this.taskDag = null;
-    this.processError = null;
+    this.processErrors = null;
     this.gatewayExecutionId = null;
     setEnableEmailNotificationIsSet(false);
     this.enableEmailNotification = false;
@@ -540,40 +523,40 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
   }
 
   public int getProcessStatusSize() {
-    return (this.processStatus == null) ? 0 : this.processStatus.size();
+    return (this.processStatuses == null) ? 0 : this.processStatuses.size();
   }
 
   public java.util.Iterator<org.apache.airavata.model.status.ProcessStatus> 
getProcessStatusIterator() {
-    return (this.processStatus == null) ? null : this.processStatus.iterator();
+    return (this.processStatuses == null) ? null : 
this.processStatuses.iterator();
   }
 
   public void 
addToProcessStatus(org.apache.airavata.model.status.ProcessStatus elem) {
-    if (this.processStatus == null) {
-      this.processStatus = new 
ArrayList<org.apache.airavata.model.status.ProcessStatus>();
+    if (this.processStatuses == null) {
+      this.processStatuses = new 
ArrayList<org.apache.airavata.model.status.ProcessStatus>();
     }
-    this.processStatus.add(elem);
+    this.processStatuses.add(elem);
   }
 
-  public List<org.apache.airavata.model.status.ProcessStatus> 
getProcessStatus() {
-    return this.processStatus;
+  public List<org.apache.airavata.model.status.ProcessStatus> 
getProcessStatuses() {
+    return this.processStatuses;
   }
 
-  public void 
setProcessStatus(List<org.apache.airavata.model.status.ProcessStatus> 
processStatus) {
-    this.processStatus = processStatus;
+  public void 
setProcessStatuses(List<org.apache.airavata.model.status.ProcessStatus> 
processStatuses) {
+    this.processStatuses = processStatuses;
   }
 
   public void unsetProcessStatus() {
-    this.processStatus = null;
+    this.processStatuses = null;
   }
 
-  /** Returns true if field processStatus is set (has been assigned a value) 
and false otherwise */
+  /** Returns true if field processStatuses is set (has been assigned a value) 
and false otherwise */
   public boolean isSetProcessStatus() {
-    return this.processStatus != null;
+    return this.processStatuses != null;
   }
 
   public void setProcessStatusIsSet(boolean value) {
     if (!value) {
-      this.processStatus = null;
+      this.processStatuses = null;
     }
   }
 
@@ -830,40 +813,40 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
   }
 
   public int getProcessErrorSize() {
-    return (this.processError == null) ? 0 : this.processError.size();
+    return (this.processErrors == null) ? 0 : this.processErrors.size();
   }
 
   public java.util.Iterator<org.apache.airavata.model.commons.ErrorModel> 
getProcessErrorIterator() {
-    return (this.processError == null) ? null : this.processError.iterator();
+    return (this.processErrors == null) ? null : this.processErrors.iterator();
   }
 
   public void addToProcessError(org.apache.airavata.model.commons.ErrorModel 
elem) {
-    if (this.processError == null) {
-      this.processError = new 
ArrayList<org.apache.airavata.model.commons.ErrorModel>();
+    if (this.processErrors == null) {
+      this.processErrors = new 
ArrayList<org.apache.airavata.model.commons.ErrorModel>();
     }
-    this.processError.add(elem);
+    this.processErrors.add(elem);
   }
 
-  public List<org.apache.airavata.model.commons.ErrorModel> getProcessError() {
-    return this.processError;
+  public List<org.apache.airavata.model.commons.ErrorModel> getProcessErrors() 
{
+    return this.processErrors;
   }
 
-  public void 
setProcessError(List<org.apache.airavata.model.commons.ErrorModel> 
processError) {
-    this.processError = processError;
+  public void 
setProcessErrors(List<org.apache.airavata.model.commons.ErrorModel> 
processErrors) {
+    this.processErrors = processErrors;
   }
 
   public void unsetProcessError() {
-    this.processError = null;
+    this.processErrors = null;
   }
 
-  /** Returns true if field processError is set (has been assigned a value) 
and false otherwise */
+  /** Returns true if field processErrors is set (has been assigned a value) 
and false otherwise */
   public boolean isSetProcessError() {
-    return this.processError != null;
+    return this.processErrors != null;
   }
 
   public void setProcessErrorIsSet(boolean value) {
     if (!value) {
-      this.processError = null;
+      this.processErrors = null;
     }
   }
 
@@ -1102,7 +1085,7 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
       if (value == null) {
         unsetProcessStatus();
       } else {
-        
setProcessStatus((List<org.apache.airavata.model.status.ProcessStatus>)value);
+        
setProcessStatuses((List<org.apache.airavata.model.status.ProcessStatus>) 
value);
       }
       break;
 
@@ -1182,7 +1165,7 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
       if (value == null) {
         unsetProcessError();
       } else {
-        
setProcessError((List<org.apache.airavata.model.commons.ErrorModel>)value);
+        setProcessErrors((List<org.apache.airavata.model.commons.ErrorModel>) 
value);
       }
       break;
 
@@ -1268,7 +1251,7 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
       return getLastUpdateTime();
 
     case PROCESS_STATUS:
-      return getProcessStatus();
+      return getProcessStatuses();
 
     case PROCESS_DETAIL:
       return getProcessDetail();
@@ -1298,7 +1281,7 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
       return getTaskDag();
 
     case PROCESS_ERROR:
-      return getProcessError();
+      return getProcessErrors();
 
     case GATEWAY_EXECUTION_ID:
       return getGatewayExecutionId();
@@ -1439,7 +1422,7 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
     if (this_present_processStatus || that_present_processStatus) {
       if (!(this_present_processStatus && that_present_processStatus))
         return false;
-      if (!this.processStatus.equals(that.processStatus))
+      if (!this.processStatuses.equals(that.processStatuses))
         return false;
     }
 
@@ -1529,7 +1512,7 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
     if (this_present_processError || that_present_processError) {
       if (!(this_present_processError && that_present_processError))
         return false;
-      if (!this.processError.equals(that.processError))
+      if (!this.processErrors.equals(that.processErrors))
         return false;
     }
 
@@ -1635,7 +1618,7 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
     boolean present_processStatus = true && (isSetProcessStatus());
     list.add(present_processStatus);
     if (present_processStatus)
-      list.add(processStatus);
+      list.add(processStatuses);
 
     boolean present_processDetail = true && (isSetProcessDetail());
     list.add(present_processDetail);
@@ -1685,7 +1668,7 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
     boolean present_processError = true && (isSetProcessError());
     list.add(present_processError);
     if (present_processError)
-      list.add(processError);
+      list.add(processErrors);
 
     boolean present_gatewayExecutionId = true && (isSetGatewayExecutionId());
     list.add(present_gatewayExecutionId);
@@ -1783,7 +1766,7 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
       return lastComparison;
     }
     if (isSetProcessStatus()) {
-      lastComparison = 
org.apache.thrift.TBaseHelper.compareTo(this.processStatus, 
other.processStatus);
+      lastComparison = 
org.apache.thrift.TBaseHelper.compareTo(this.processStatuses, 
other.processStatuses);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -1883,7 +1866,7 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
       return lastComparison;
     }
     if (isSetProcessError()) {
-      lastComparison = 
org.apache.thrift.TBaseHelper.compareTo(this.processError, other.processError);
+      lastComparison = 
org.apache.thrift.TBaseHelper.compareTo(this.processErrors, 
other.processErrors);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -2017,11 +2000,11 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
     }
     if (isSetProcessStatus()) {
       if (!first) sb.append(", ");
-      sb.append("processStatus:");
-      if (this.processStatus == null) {
+      sb.append("processStatuses:");
+      if (this.processStatuses == null) {
         sb.append("null");
       } else {
-        sb.append(this.processStatus);
+        sb.append(this.processStatuses);
       }
       first = false;
     }
@@ -2117,11 +2100,11 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
     }
     if (isSetProcessError()) {
       if (!first) sb.append(", ");
-      sb.append("processError:");
-      if (this.processError == null) {
+      sb.append("processErrors:");
+      if (this.processErrors == null) {
         sb.append("null");
       } else {
-        sb.append(this.processError);
+        sb.append(this.processErrors);
       }
       first = false;
     }
@@ -2289,13 +2272,13 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
                 org.apache.thrift.protocol.TList _list0 = 
iprot.readListBegin();
-                struct.processStatus = new 
ArrayList<org.apache.airavata.model.status.ProcessStatus>(_list0.size);
+                struct.processStatuses = new 
ArrayList<org.apache.airavata.model.status.ProcessStatus>(_list0.size);
                 org.apache.airavata.model.status.ProcessStatus _elem1;
                 for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                 {
                   _elem1 = new 
org.apache.airavata.model.status.ProcessStatus();
                   _elem1.read(iprot);
-                  struct.processStatus.add(_elem1);
+                  struct.processStatuses.add(_elem1);
                 }
                 iprot.readListEnd();
               }
@@ -2414,13 +2397,13 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
                 org.apache.thrift.protocol.TList _list12 = 
iprot.readListBegin();
-                struct.processError = new 
ArrayList<org.apache.airavata.model.commons.ErrorModel>(_list12.size);
+                struct.processErrors = 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)
                 {
                   _elem13 = new org.apache.airavata.model.commons.ErrorModel();
                   _elem13.read(iprot);
-                  struct.processError.add(_elem13);
+                  struct.processErrors.add(_elem13);
                 }
                 iprot.readListEnd();
               }
@@ -2536,12 +2519,12 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
         oprot.writeI64(struct.lastUpdateTime);
         oprot.writeFieldEnd();
       }
-      if (struct.processStatus != null) {
+      if (struct.processStatuses != null) {
         if (struct.isSetProcessStatus()) {
           oprot.writeFieldBegin(PROCESS_STATUS_FIELD_DESC);
           {
-            oprot.writeListBegin(new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
struct.processStatus.size()));
-            for (org.apache.airavata.model.status.ProcessStatus _iter18 : 
struct.processStatus)
+            oprot.writeListBegin(new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
struct.processStatuses.size()));
+            for (org.apache.airavata.model.status.ProcessStatus _iter18 : 
struct.processStatuses)
             {
               _iter18.write(oprot);
             }
@@ -2634,12 +2617,12 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
           oprot.writeFieldEnd();
         }
       }
-      if (struct.processError != null) {
+      if (struct.processErrors != null) {
         if (struct.isSetProcessError()) {
           oprot.writeFieldBegin(PROCESS_ERROR_FIELD_DESC);
           {
-            oprot.writeListBegin(new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
struct.processError.size()));
-            for (org.apache.airavata.model.commons.ErrorModel _iter22 : 
struct.processError)
+            oprot.writeListBegin(new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
struct.processErrors.size()));
+            for (org.apache.airavata.model.commons.ErrorModel _iter22 : 
struct.processErrors)
             {
               _iter22.write(oprot);
             }
@@ -2799,8 +2782,8 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
       }
       if (struct.isSetProcessStatus()) {
         {
-          oprot.writeI32(struct.processStatus.size());
-          for (org.apache.airavata.model.status.ProcessStatus _iter24 : 
struct.processStatus)
+          oprot.writeI32(struct.processStatuses.size());
+          for (org.apache.airavata.model.status.ProcessStatus _iter24 : 
struct.processStatuses)
           {
             _iter24.write(oprot);
           }
@@ -2853,8 +2836,8 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
       }
       if (struct.isSetProcessError()) {
         {
-          oprot.writeI32(struct.processError.size());
-          for (org.apache.airavata.model.commons.ErrorModel _iter28 : 
struct.processError)
+          oprot.writeI32(struct.processErrors.size());
+          for (org.apache.airavata.model.commons.ErrorModel _iter28 : 
struct.processErrors)
           {
             _iter28.write(oprot);
           }
@@ -2911,13 +2894,13 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
       if (incoming.get(2)) {
         {
           org.apache.thrift.protocol.TList _list30 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
iprot.readI32());
-          struct.processStatus = new 
ArrayList<org.apache.airavata.model.status.ProcessStatus>(_list30.size);
+          struct.processStatuses = new 
ArrayList<org.apache.airavata.model.status.ProcessStatus>(_list30.size);
           org.apache.airavata.model.status.ProcessStatus _elem31;
           for (int _i32 = 0; _i32 < _list30.size; ++_i32)
           {
             _elem31 = new org.apache.airavata.model.status.ProcessStatus();
             _elem31.read(iprot);
-            struct.processStatus.add(_elem31);
+            struct.processStatuses.add(_elem31);
           }
         }
         struct.setProcessStatusIsSet(true);
@@ -2992,13 +2975,13 @@ public class ProcessModel implements 
org.apache.thrift.TBase<ProcessModel, Proce
       if (incoming.get(12)) {
         {
           org.apache.thrift.protocol.TList _list42 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
iprot.readI32());
-          struct.processError = new 
ArrayList<org.apache.airavata.model.commons.ErrorModel>(_list42.size);
+          struct.processErrors = 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)
           {
             _elem43 = new org.apache.airavata.model.commons.ErrorModel();
             _elem43.read(iprot);
-            struct.processError.add(_elem43);
+            struct.processErrors.add(_elem43);
           }
         }
         struct.setProcessErrorIsSet(true);

Reply via email to