You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sm...@apache.org on 2015/07/21 06:41:49 UTC

[06/44] airavata git commit: changing few API methods to adhere to security solution.

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_types.cpp
new file mode 100644
index 0000000..706453d
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_types.cpp
@@ -0,0 +1,683 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "status_models_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+namespace apache { namespace airavata { namespace model { namespace status {
+
+int _kExperimentStateValues[] = {
+  ExperimentState::CREATED,
+  ExperimentState::VALIDATED,
+  ExperimentState::SCHEDULED,
+  ExperimentState::LAUNCHED,
+  ExperimentState::EXECUTING,
+  ExperimentState::CANCELING,
+  ExperimentState::CANCELED,
+  ExperimentState::COMPLETED,
+  ExperimentState::FAILED
+};
+const char* _kExperimentStateNames[] = {
+  "CREATED",
+  "VALIDATED",
+  "SCHEDULED",
+  "LAUNCHED",
+  "EXECUTING",
+  "CANCELING",
+  "CANCELED",
+  "COMPLETED",
+  "FAILED"
+};
+const std::map<int, const char*> _ExperimentState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(9, _kExperimentStateValues, _kExperimentStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kTaskStateValues[] = {
+  TaskState::CREATED,
+  TaskState::EXECUTING,
+  TaskState::COMPLETED,
+  TaskState::FAILED,
+  TaskState::CANCELED
+};
+const char* _kTaskStateNames[] = {
+  "CREATED",
+  "EXECUTING",
+  "COMPLETED",
+  "FAILED",
+  "CANCELED"
+};
+const std::map<int, const char*> _TaskState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kTaskStateValues, _kTaskStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kProcessStateValues[] = {
+  ProcessState::CREATED,
+  ProcessState::VALIDATED,
+  ProcessState::PRE_PROCESSING,
+  ProcessState::CONFIGURING_WORKSPACE,
+  ProcessState::INPUT_DATA_STAGING,
+  ProcessState::EXECUTING,
+  ProcessState::MONITORING,
+  ProcessState::OUTPUT_DATA_STAGING,
+  ProcessState::POST_PROCESSING,
+  ProcessState::COMPLETED,
+  ProcessState::FAILED,
+  ProcessState::CANCELLING,
+  ProcessState::CANCELED
+};
+const char* _kProcessStateNames[] = {
+  "CREATED",
+  "VALIDATED",
+  "PRE_PROCESSING",
+  "CONFIGURING_WORKSPACE",
+  "INPUT_DATA_STAGING",
+  "EXECUTING",
+  "MONITORING",
+  "OUTPUT_DATA_STAGING",
+  "POST_PROCESSING",
+  "COMPLETED",
+  "FAILED",
+  "CANCELLING",
+  "CANCELED"
+};
+const std::map<int, const char*> _ProcessState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(13, _kProcessStateValues, _kProcessStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kJobStateValues[] = {
+  JobState::SUBMITTED,
+  JobState::QUEUED,
+  JobState::ACTIVE,
+  JobState::COMPLETE,
+  JobState::CANCELED,
+  JobState::FAILED,
+  JobState::SUSPENDED,
+  JobState::UNKNOWN
+};
+const char* _kJobStateNames[] = {
+  "SUBMITTED",
+  "QUEUED",
+  "ACTIVE",
+  "COMPLETE",
+  "CANCELED",
+  "FAILED",
+  "SUSPENDED",
+  "UNKNOWN"
+};
+const std::map<int, const char*> _JobState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(8, _kJobStateValues, _kJobStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+
+ExperimentStatus::~ExperimentStatus() throw() {
+}
+
+
+void ExperimentStatus::__set_state(const ExperimentState::type val) {
+  this->state = val;
+}
+
+void ExperimentStatus::__set_timeOfStateChange(const int64_t val) {
+  this->timeOfStateChange = val;
+__isset.timeOfStateChange = true;
+}
+
+void ExperimentStatus::__set_reason(const std::string& val) {
+  this->reason = val;
+__isset.reason = true;
+}
+
+const char* ExperimentStatus::ascii_fingerprint = "CDBB2A55999EF5954D567AC5CF6F0786";
+const uint8_t ExperimentStatus::binary_fingerprint[16] = {0xCD,0xBB,0x2A,0x55,0x99,0x9E,0xF5,0x95,0x4D,0x56,0x7A,0xC5,0xCF,0x6F,0x07,0x86};
+
+uint32_t ExperimentStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_state = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast0;
+          xfer += iprot->readI32(ecast0);
+          this->state = (ExperimentState::type)ecast0;
+          isset_state = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->timeOfStateChange);
+          this->__isset.timeOfStateChange = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->reason);
+          this->__isset.reason = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_state)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ExperimentStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ExperimentStatus");
+
+  xfer += oprot->writeFieldBegin("state", ::apache::thrift::protocol::T_I32, 1);
+  xfer += oprot->writeI32((int32_t)this->state);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.timeOfStateChange) {
+    xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
+    xfer += oprot->writeI64(this->timeOfStateChange);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.reason) {
+    xfer += oprot->writeFieldBegin("reason", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->reason);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ExperimentStatus &a, ExperimentStatus &b) {
+  using ::std::swap;
+  swap(a.state, b.state);
+  swap(a.timeOfStateChange, b.timeOfStateChange);
+  swap(a.reason, b.reason);
+  swap(a.__isset, b.__isset);
+}
+
+ExperimentStatus::ExperimentStatus(const ExperimentStatus& other1) {
+  state = other1.state;
+  timeOfStateChange = other1.timeOfStateChange;
+  reason = other1.reason;
+  __isset = other1.__isset;
+}
+ExperimentStatus& ExperimentStatus::operator=(const ExperimentStatus& other2) {
+  state = other2.state;
+  timeOfStateChange = other2.timeOfStateChange;
+  reason = other2.reason;
+  __isset = other2.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ExperimentStatus& obj) {
+  using apache::thrift::to_string;
+  out << "ExperimentStatus(";
+  out << "state=" << to_string(obj.state);
+  out << ", " << "timeOfStateChange="; (obj.__isset.timeOfStateChange ? (out << to_string(obj.timeOfStateChange)) : (out << "<null>"));
+  out << ", " << "reason="; (obj.__isset.reason ? (out << to_string(obj.reason)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+ProcessStatus::~ProcessStatus() throw() {
+}
+
+
+void ProcessStatus::__set_state(const ProcessState::type val) {
+  this->state = val;
+}
+
+void ProcessStatus::__set_timeOfStateChange(const int64_t val) {
+  this->timeOfStateChange = val;
+__isset.timeOfStateChange = true;
+}
+
+void ProcessStatus::__set_reason(const std::string& val) {
+  this->reason = val;
+__isset.reason = true;
+}
+
+const char* ProcessStatus::ascii_fingerprint = "CDBB2A55999EF5954D567AC5CF6F0786";
+const uint8_t ProcessStatus::binary_fingerprint[16] = {0xCD,0xBB,0x2A,0x55,0x99,0x9E,0xF5,0x95,0x4D,0x56,0x7A,0xC5,0xCF,0x6F,0x07,0x86};
+
+uint32_t ProcessStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_state = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast3;
+          xfer += iprot->readI32(ecast3);
+          this->state = (ProcessState::type)ecast3;
+          isset_state = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->timeOfStateChange);
+          this->__isset.timeOfStateChange = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->reason);
+          this->__isset.reason = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_state)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ProcessStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ProcessStatus");
+
+  xfer += oprot->writeFieldBegin("state", ::apache::thrift::protocol::T_I32, 1);
+  xfer += oprot->writeI32((int32_t)this->state);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.timeOfStateChange) {
+    xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
+    xfer += oprot->writeI64(this->timeOfStateChange);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.reason) {
+    xfer += oprot->writeFieldBegin("reason", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->reason);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ProcessStatus &a, ProcessStatus &b) {
+  using ::std::swap;
+  swap(a.state, b.state);
+  swap(a.timeOfStateChange, b.timeOfStateChange);
+  swap(a.reason, b.reason);
+  swap(a.__isset, b.__isset);
+}
+
+ProcessStatus::ProcessStatus(const ProcessStatus& other4) {
+  state = other4.state;
+  timeOfStateChange = other4.timeOfStateChange;
+  reason = other4.reason;
+  __isset = other4.__isset;
+}
+ProcessStatus& ProcessStatus::operator=(const ProcessStatus& other5) {
+  state = other5.state;
+  timeOfStateChange = other5.timeOfStateChange;
+  reason = other5.reason;
+  __isset = other5.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ProcessStatus& obj) {
+  using apache::thrift::to_string;
+  out << "ProcessStatus(";
+  out << "state=" << to_string(obj.state);
+  out << ", " << "timeOfStateChange="; (obj.__isset.timeOfStateChange ? (out << to_string(obj.timeOfStateChange)) : (out << "<null>"));
+  out << ", " << "reason="; (obj.__isset.reason ? (out << to_string(obj.reason)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+TaskStatus::~TaskStatus() throw() {
+}
+
+
+void TaskStatus::__set_state(const TaskState::type val) {
+  this->state = val;
+}
+
+void TaskStatus::__set_timeOfStateChange(const int64_t val) {
+  this->timeOfStateChange = val;
+__isset.timeOfStateChange = true;
+}
+
+void TaskStatus::__set_reason(const std::string& val) {
+  this->reason = val;
+__isset.reason = true;
+}
+
+const char* TaskStatus::ascii_fingerprint = "CDBB2A55999EF5954D567AC5CF6F0786";
+const uint8_t TaskStatus::binary_fingerprint[16] = {0xCD,0xBB,0x2A,0x55,0x99,0x9E,0xF5,0x95,0x4D,0x56,0x7A,0xC5,0xCF,0x6F,0x07,0x86};
+
+uint32_t TaskStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_state = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast6;
+          xfer += iprot->readI32(ecast6);
+          this->state = (TaskState::type)ecast6;
+          isset_state = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->timeOfStateChange);
+          this->__isset.timeOfStateChange = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->reason);
+          this->__isset.reason = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_state)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t TaskStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("TaskStatus");
+
+  xfer += oprot->writeFieldBegin("state", ::apache::thrift::protocol::T_I32, 1);
+  xfer += oprot->writeI32((int32_t)this->state);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.timeOfStateChange) {
+    xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
+    xfer += oprot->writeI64(this->timeOfStateChange);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.reason) {
+    xfer += oprot->writeFieldBegin("reason", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->reason);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(TaskStatus &a, TaskStatus &b) {
+  using ::std::swap;
+  swap(a.state, b.state);
+  swap(a.timeOfStateChange, b.timeOfStateChange);
+  swap(a.reason, b.reason);
+  swap(a.__isset, b.__isset);
+}
+
+TaskStatus::TaskStatus(const TaskStatus& other7) {
+  state = other7.state;
+  timeOfStateChange = other7.timeOfStateChange;
+  reason = other7.reason;
+  __isset = other7.__isset;
+}
+TaskStatus& TaskStatus::operator=(const TaskStatus& other8) {
+  state = other8.state;
+  timeOfStateChange = other8.timeOfStateChange;
+  reason = other8.reason;
+  __isset = other8.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const TaskStatus& obj) {
+  using apache::thrift::to_string;
+  out << "TaskStatus(";
+  out << "state=" << to_string(obj.state);
+  out << ", " << "timeOfStateChange="; (obj.__isset.timeOfStateChange ? (out << to_string(obj.timeOfStateChange)) : (out << "<null>"));
+  out << ", " << "reason="; (obj.__isset.reason ? (out << to_string(obj.reason)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+JobStatus::~JobStatus() throw() {
+}
+
+
+void JobStatus::__set_jobState(const JobState::type val) {
+  this->jobState = val;
+}
+
+void JobStatus::__set_timeOfStateChange(const int64_t val) {
+  this->timeOfStateChange = val;
+__isset.timeOfStateChange = true;
+}
+
+void JobStatus::__set_reason(const std::string& val) {
+  this->reason = val;
+__isset.reason = true;
+}
+
+const char* JobStatus::ascii_fingerprint = "CDBB2A55999EF5954D567AC5CF6F0786";
+const uint8_t JobStatus::binary_fingerprint[16] = {0xCD,0xBB,0x2A,0x55,0x99,0x9E,0xF5,0x95,0x4D,0x56,0x7A,0xC5,0xCF,0x6F,0x07,0x86};
+
+uint32_t JobStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_jobState = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast9;
+          xfer += iprot->readI32(ecast9);
+          this->jobState = (JobState::type)ecast9;
+          isset_jobState = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->timeOfStateChange);
+          this->__isset.timeOfStateChange = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->reason);
+          this->__isset.reason = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_jobState)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t JobStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("JobStatus");
+
+  xfer += oprot->writeFieldBegin("jobState", ::apache::thrift::protocol::T_I32, 1);
+  xfer += oprot->writeI32((int32_t)this->jobState);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.timeOfStateChange) {
+    xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
+    xfer += oprot->writeI64(this->timeOfStateChange);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.reason) {
+    xfer += oprot->writeFieldBegin("reason", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->reason);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(JobStatus &a, JobStatus &b) {
+  using ::std::swap;
+  swap(a.jobState, b.jobState);
+  swap(a.timeOfStateChange, b.timeOfStateChange);
+  swap(a.reason, b.reason);
+  swap(a.__isset, b.__isset);
+}
+
+JobStatus::JobStatus(const JobStatus& other10) {
+  jobState = other10.jobState;
+  timeOfStateChange = other10.timeOfStateChange;
+  reason = other10.reason;
+  __isset = other10.__isset;
+}
+JobStatus& JobStatus::operator=(const JobStatus& other11) {
+  jobState = other11.jobState;
+  timeOfStateChange = other11.timeOfStateChange;
+  reason = other11.reason;
+  __isset = other11.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const JobStatus& obj) {
+  using apache::thrift::to_string;
+  out << "JobStatus(";
+  out << "jobState=" << to_string(obj.jobState);
+  out << ", " << "timeOfStateChange="; (obj.__isset.timeOfStateChange ? (out << to_string(obj.timeOfStateChange)) : (out << "<null>"));
+  out << ", " << "reason="; (obj.__isset.reason ? (out << to_string(obj.reason)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+}}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_types.h
new file mode 100644
index 0000000..18f2f96
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_types.h
@@ -0,0 +1,344 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef status_models_TYPES_H
+#define status_models_TYPES_H
+
+#include <iosfwd>
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+
+
+namespace apache { namespace airavata { namespace model { namespace status {
+
+struct ExperimentState {
+  enum type {
+    CREATED = 0,
+    VALIDATED = 1,
+    SCHEDULED = 2,
+    LAUNCHED = 3,
+    EXECUTING = 4,
+    CANCELING = 5,
+    CANCELED = 6,
+    COMPLETED = 7,
+    FAILED = 8
+  };
+};
+
+extern const std::map<int, const char*> _ExperimentState_VALUES_TO_NAMES;
+
+struct TaskState {
+  enum type {
+    CREATED = 0,
+    EXECUTING = 1,
+    COMPLETED = 2,
+    FAILED = 3,
+    CANCELED = 4
+  };
+};
+
+extern const std::map<int, const char*> _TaskState_VALUES_TO_NAMES;
+
+struct ProcessState {
+  enum type {
+    CREATED = 0,
+    VALIDATED = 1,
+    PRE_PROCESSING = 2,
+    CONFIGURING_WORKSPACE = 3,
+    INPUT_DATA_STAGING = 4,
+    EXECUTING = 5,
+    MONITORING = 6,
+    OUTPUT_DATA_STAGING = 7,
+    POST_PROCESSING = 8,
+    COMPLETED = 9,
+    FAILED = 10,
+    CANCELLING = 11,
+    CANCELED = 12
+  };
+};
+
+extern const std::map<int, const char*> _ProcessState_VALUES_TO_NAMES;
+
+struct JobState {
+  enum type {
+    SUBMITTED = 0,
+    QUEUED = 1,
+    ACTIVE = 2,
+    COMPLETE = 3,
+    CANCELED = 4,
+    FAILED = 5,
+    SUSPENDED = 6,
+    UNKNOWN = 7
+  };
+};
+
+extern const std::map<int, const char*> _JobState_VALUES_TO_NAMES;
+
+class ExperimentStatus;
+
+class ProcessStatus;
+
+class TaskStatus;
+
+class JobStatus;
+
+typedef struct _ExperimentStatus__isset {
+  _ExperimentStatus__isset() : timeOfStateChange(false), reason(false) {}
+  bool timeOfStateChange :1;
+  bool reason :1;
+} _ExperimentStatus__isset;
+
+class ExperimentStatus {
+ public:
+
+  static const char* ascii_fingerprint; // = "CDBB2A55999EF5954D567AC5CF6F0786";
+  static const uint8_t binary_fingerprint[16]; // = {0xCD,0xBB,0x2A,0x55,0x99,0x9E,0xF5,0x95,0x4D,0x56,0x7A,0xC5,0xCF,0x6F,0x07,0x86};
+
+  ExperimentStatus(const ExperimentStatus&);
+  ExperimentStatus& operator=(const ExperimentStatus&);
+  ExperimentStatus() : state((ExperimentState::type)0), timeOfStateChange(0), reason() {
+  }
+
+  virtual ~ExperimentStatus() throw();
+  ExperimentState::type state;
+  int64_t timeOfStateChange;
+  std::string reason;
+
+  _ExperimentStatus__isset __isset;
+
+  void __set_state(const ExperimentState::type val);
+
+  void __set_timeOfStateChange(const int64_t val);
+
+  void __set_reason(const std::string& val);
+
+  bool operator == (const ExperimentStatus & rhs) const
+  {
+    if (!(state == rhs.state))
+      return false;
+    if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
+      return false;
+    else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
+      return false;
+    if (__isset.reason != rhs.__isset.reason)
+      return false;
+    else if (__isset.reason && !(reason == rhs.reason))
+      return false;
+    return true;
+  }
+  bool operator != (const ExperimentStatus &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ExperimentStatus & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ExperimentStatus& obj);
+};
+
+void swap(ExperimentStatus &a, ExperimentStatus &b);
+
+typedef struct _ProcessStatus__isset {
+  _ProcessStatus__isset() : timeOfStateChange(false), reason(false) {}
+  bool timeOfStateChange :1;
+  bool reason :1;
+} _ProcessStatus__isset;
+
+class ProcessStatus {
+ public:
+
+  static const char* ascii_fingerprint; // = "CDBB2A55999EF5954D567AC5CF6F0786";
+  static const uint8_t binary_fingerprint[16]; // = {0xCD,0xBB,0x2A,0x55,0x99,0x9E,0xF5,0x95,0x4D,0x56,0x7A,0xC5,0xCF,0x6F,0x07,0x86};
+
+  ProcessStatus(const ProcessStatus&);
+  ProcessStatus& operator=(const ProcessStatus&);
+  ProcessStatus() : state((ProcessState::type)0), timeOfStateChange(0), reason() {
+  }
+
+  virtual ~ProcessStatus() throw();
+  ProcessState::type state;
+  int64_t timeOfStateChange;
+  std::string reason;
+
+  _ProcessStatus__isset __isset;
+
+  void __set_state(const ProcessState::type val);
+
+  void __set_timeOfStateChange(const int64_t val);
+
+  void __set_reason(const std::string& val);
+
+  bool operator == (const ProcessStatus & rhs) const
+  {
+    if (!(state == rhs.state))
+      return false;
+    if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
+      return false;
+    else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
+      return false;
+    if (__isset.reason != rhs.__isset.reason)
+      return false;
+    else if (__isset.reason && !(reason == rhs.reason))
+      return false;
+    return true;
+  }
+  bool operator != (const ProcessStatus &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ProcessStatus & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ProcessStatus& obj);
+};
+
+void swap(ProcessStatus &a, ProcessStatus &b);
+
+typedef struct _TaskStatus__isset {
+  _TaskStatus__isset() : timeOfStateChange(false), reason(false) {}
+  bool timeOfStateChange :1;
+  bool reason :1;
+} _TaskStatus__isset;
+
+class TaskStatus {
+ public:
+
+  static const char* ascii_fingerprint; // = "CDBB2A55999EF5954D567AC5CF6F0786";
+  static const uint8_t binary_fingerprint[16]; // = {0xCD,0xBB,0x2A,0x55,0x99,0x9E,0xF5,0x95,0x4D,0x56,0x7A,0xC5,0xCF,0x6F,0x07,0x86};
+
+  TaskStatus(const TaskStatus&);
+  TaskStatus& operator=(const TaskStatus&);
+  TaskStatus() : state((TaskState::type)0), timeOfStateChange(0), reason() {
+  }
+
+  virtual ~TaskStatus() throw();
+  TaskState::type state;
+  int64_t timeOfStateChange;
+  std::string reason;
+
+  _TaskStatus__isset __isset;
+
+  void __set_state(const TaskState::type val);
+
+  void __set_timeOfStateChange(const int64_t val);
+
+  void __set_reason(const std::string& val);
+
+  bool operator == (const TaskStatus & rhs) const
+  {
+    if (!(state == rhs.state))
+      return false;
+    if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
+      return false;
+    else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
+      return false;
+    if (__isset.reason != rhs.__isset.reason)
+      return false;
+    else if (__isset.reason && !(reason == rhs.reason))
+      return false;
+    return true;
+  }
+  bool operator != (const TaskStatus &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const TaskStatus & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const TaskStatus& obj);
+};
+
+void swap(TaskStatus &a, TaskStatus &b);
+
+typedef struct _JobStatus__isset {
+  _JobStatus__isset() : timeOfStateChange(false), reason(false) {}
+  bool timeOfStateChange :1;
+  bool reason :1;
+} _JobStatus__isset;
+
+class JobStatus {
+ public:
+
+  static const char* ascii_fingerprint; // = "CDBB2A55999EF5954D567AC5CF6F0786";
+  static const uint8_t binary_fingerprint[16]; // = {0xCD,0xBB,0x2A,0x55,0x99,0x9E,0xF5,0x95,0x4D,0x56,0x7A,0xC5,0xCF,0x6F,0x07,0x86};
+
+  JobStatus(const JobStatus&);
+  JobStatus& operator=(const JobStatus&);
+  JobStatus() : jobState((JobState::type)0), timeOfStateChange(0), reason() {
+  }
+
+  virtual ~JobStatus() throw();
+  JobState::type jobState;
+  int64_t timeOfStateChange;
+  std::string reason;
+
+  _JobStatus__isset __isset;
+
+  void __set_jobState(const JobState::type val);
+
+  void __set_timeOfStateChange(const int64_t val);
+
+  void __set_reason(const std::string& val);
+
+  bool operator == (const JobStatus & rhs) const
+  {
+    if (!(jobState == rhs.jobState))
+      return false;
+    if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
+      return false;
+    else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
+      return false;
+    if (__isset.reason != rhs.__isset.reason)
+      return false;
+    else if (__isset.reason && !(reason == rhs.reason))
+      return false;
+    return true;
+  }
+  bool operator != (const JobStatus &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const JobStatus & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const JobStatus& obj);
+};
+
+void swap(JobStatus &a, JobStatus &b);
+
+}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_constants.cpp
new file mode 100644
index 0000000..dd551b8
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_constants.cpp
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "task_model_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace task {
+
+const task_modelConstants g_task_model_constants;
+
+task_modelConstants::task_modelConstants() {
+}
+
+}}}} // namespace
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_constants.h
new file mode 100644
index 0000000..7d1b2b3
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_constants.h
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef task_model_CONSTANTS_H
+#define task_model_CONSTANTS_H
+
+#include "task_model_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace task {
+
+class task_modelConstants {
+ public:
+  task_modelConstants();
+
+};
+
+extern const task_modelConstants g_task_model_constants;
+
+}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/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
new file mode 100644
index 0000000..7709267
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.cpp
@@ -0,0 +1,507 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "task_model_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+namespace apache { namespace airavata { namespace model { namespace task {
+
+int _kTaskTypesValues[] = {
+  TaskTypes::ENV_SETUP,
+  TaskTypes::DATA_STAGING,
+  TaskTypes::JOB_SUBMISSION,
+  TaskTypes::ENV_CLEANUP,
+  TaskTypes::MONITORING
+};
+const char* _kTaskTypesNames[] = {
+  "ENV_SETUP",
+  "DATA_STAGING",
+  "JOB_SUBMISSION",
+  "ENV_CLEANUP",
+  "MONITORING"
+};
+const std::map<int, const char*> _TaskTypes_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kTaskTypesValues, _kTaskTypesNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+
+TaskModel::~TaskModel() throw() {
+}
+
+
+void TaskModel::__set_taskId(const std::string& val) {
+  this->taskId = val;
+}
+
+void TaskModel::__set_taskType(const TaskTypes::type val) {
+  this->taskType = val;
+}
+
+void TaskModel::__set_parentProcessId(const std::string& val) {
+  this->parentProcessId = val;
+}
+
+void TaskModel::__set_creationTime(const int64_t val) {
+  this->creationTime = val;
+}
+
+void TaskModel::__set_lastUpdateTime(const int64_t val) {
+  this->lastUpdateTime = val;
+}
+
+void TaskModel::__set_taskStatus(const  ::apache::airavata::model::status::TaskStatus& val) {
+  this->taskStatus = val;
+}
+
+void TaskModel::__set_taskDetail(const std::string& val) {
+  this->taskDetail = val;
+__isset.taskDetail = true;
+}
+
+void TaskModel::__set_subTaskModel(const std::string& val) {
+  this->subTaskModel = val;
+__isset.subTaskModel = true;
+}
+
+void TaskModel::__set_taskError(const  ::apache::airavata::model::commons::ErrorModel& val) {
+  this->taskError = val;
+__isset.taskError = true;
+}
+
+const char* TaskModel::ascii_fingerprint = "CE3A1BEFC350140F2B4D2EF1424A7C4F";
+const uint8_t TaskModel::binary_fingerprint[16] = {0xCE,0x3A,0x1B,0xEF,0xC3,0x50,0x14,0x0F,0x2B,0x4D,0x2E,0xF1,0x42,0x4A,0x7C,0x4F};
+
+uint32_t TaskModel::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_taskId = false;
+  bool isset_taskType = false;
+  bool isset_parentProcessId = false;
+  bool isset_creationTime = false;
+  bool isset_lastUpdateTime = false;
+  bool isset_taskStatus = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->taskId);
+          isset_taskId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast0;
+          xfer += iprot->readI32(ecast0);
+          this->taskType = (TaskTypes::type)ecast0;
+          isset_taskType = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->parentProcessId);
+          isset_parentProcessId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->creationTime);
+          isset_creationTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->lastUpdateTime);
+          isset_lastUpdateTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->taskStatus.read(iprot);
+          isset_taskStatus = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->taskDetail);
+          this->__isset.taskDetail = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readBinary(this->subTaskModel);
+          this->__isset.subTaskModel = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 9:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->taskError.read(iprot);
+          this->__isset.taskError = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_taskId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_taskType)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_parentProcessId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_creationTime)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_lastUpdateTime)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_taskStatus)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t TaskModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("TaskModel");
+
+  xfer += oprot->writeFieldBegin("taskId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->taskId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("taskType", ::apache::thrift::protocol::T_I32, 2);
+  xfer += oprot->writeI32((int32_t)this->taskType);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("parentProcessId", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->parentProcessId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 4);
+  xfer += oprot->writeI64(this->creationTime);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("lastUpdateTime", ::apache::thrift::protocol::T_I64, 5);
+  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->writeFieldEnd();
+
+  if (this->__isset.taskDetail) {
+    xfer += oprot->writeFieldBegin("taskDetail", ::apache::thrift::protocol::T_STRING, 7);
+    xfer += oprot->writeString(this->taskDetail);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.subTaskModel) {
+    xfer += oprot->writeFieldBegin("subTaskModel", ::apache::thrift::protocol::T_STRING, 8);
+    xfer += oprot->writeBinary(this->subTaskModel);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.taskError) {
+    xfer += oprot->writeFieldBegin("taskError", ::apache::thrift::protocol::T_STRUCT, 9);
+    xfer += this->taskError.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(TaskModel &a, TaskModel &b) {
+  using ::std::swap;
+  swap(a.taskId, b.taskId);
+  swap(a.taskType, b.taskType);
+  swap(a.parentProcessId, b.parentProcessId);
+  swap(a.creationTime, b.creationTime);
+  swap(a.lastUpdateTime, b.lastUpdateTime);
+  swap(a.taskStatus, b.taskStatus);
+  swap(a.taskDetail, b.taskDetail);
+  swap(a.subTaskModel, b.subTaskModel);
+  swap(a.taskError, b.taskError);
+  swap(a.__isset, b.__isset);
+}
+
+TaskModel::TaskModel(const TaskModel& other1) {
+  taskId = other1.taskId;
+  taskType = other1.taskType;
+  parentProcessId = other1.parentProcessId;
+  creationTime = other1.creationTime;
+  lastUpdateTime = other1.lastUpdateTime;
+  taskStatus = other1.taskStatus;
+  taskDetail = other1.taskDetail;
+  subTaskModel = other1.subTaskModel;
+  taskError = other1.taskError;
+  __isset = other1.__isset;
+}
+TaskModel& TaskModel::operator=(const TaskModel& other2) {
+  taskId = other2.taskId;
+  taskType = other2.taskType;
+  parentProcessId = other2.parentProcessId;
+  creationTime = other2.creationTime;
+  lastUpdateTime = other2.lastUpdateTime;
+  taskStatus = other2.taskStatus;
+  taskDetail = other2.taskDetail;
+  subTaskModel = other2.subTaskModel;
+  taskError = other2.taskError;
+  __isset = other2.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const TaskModel& obj) {
+  using apache::thrift::to_string;
+  out << "TaskModel(";
+  out << "taskId=" << to_string(obj.taskId);
+  out << ", " << "taskType=" << to_string(obj.taskType);
+  out << ", " << "parentProcessId=" << to_string(obj.parentProcessId);
+  out << ", " << "creationTime=" << to_string(obj.creationTime);
+  out << ", " << "lastUpdateTime=" << to_string(obj.lastUpdateTime);
+  out << ", " << "taskStatus=" << to_string(obj.taskStatus);
+  out << ", " << "taskDetail="; (obj.__isset.taskDetail ? (out << to_string(obj.taskDetail)) : (out << "<null>"));
+  out << ", " << "subTaskModel="; (obj.__isset.subTaskModel ? (out << to_string(obj.subTaskModel)) : (out << "<null>"));
+  out << ", " << "taskError="; (obj.__isset.taskError ? (out << to_string(obj.taskError)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+DataStagingTaskModel::~DataStagingTaskModel() throw() {
+}
+
+
+void DataStagingTaskModel::__set_source(const std::string& val) {
+  this->source = val;
+}
+
+void DataStagingTaskModel::__set_destination(const std::string& val) {
+  this->destination = val;
+}
+
+void DataStagingTaskModel::__set_transferStartTime(const int64_t val) {
+  this->transferStartTime = val;
+__isset.transferStartTime = true;
+}
+
+void DataStagingTaskModel::__set_transferEndTime(const int64_t val) {
+  this->transferEndTime = val;
+__isset.transferEndTime = true;
+}
+
+void DataStagingTaskModel::__set_transferRate(const std::string& val) {
+  this->transferRate = val;
+__isset.transferRate = true;
+}
+
+const char* DataStagingTaskModel::ascii_fingerprint = "3224DD8D1EC3134AB6350703A4B92D60";
+const uint8_t DataStagingTaskModel::binary_fingerprint[16] = {0x32,0x24,0xDD,0x8D,0x1E,0xC3,0x13,0x4A,0xB6,0x35,0x07,0x03,0xA4,0xB9,0x2D,0x60};
+
+uint32_t DataStagingTaskModel::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_source = false;
+  bool isset_destination = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->source);
+          isset_source = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->destination);
+          isset_destination = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->transferStartTime);
+          this->__isset.transferStartTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->transferEndTime);
+          this->__isset.transferEndTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->transferRate);
+          this->__isset.transferRate = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_source)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_destination)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t DataStagingTaskModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("DataStagingTaskModel");
+
+  xfer += oprot->writeFieldBegin("source", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->source);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("destination", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->destination);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.transferStartTime) {
+    xfer += oprot->writeFieldBegin("transferStartTime", ::apache::thrift::protocol::T_I64, 3);
+    xfer += oprot->writeI64(this->transferStartTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.transferEndTime) {
+    xfer += oprot->writeFieldBegin("transferEndTime", ::apache::thrift::protocol::T_I64, 4);
+    xfer += oprot->writeI64(this->transferEndTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.transferRate) {
+    xfer += oprot->writeFieldBegin("transferRate", ::apache::thrift::protocol::T_STRING, 5);
+    xfer += oprot->writeString(this->transferRate);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(DataStagingTaskModel &a, DataStagingTaskModel &b) {
+  using ::std::swap;
+  swap(a.source, b.source);
+  swap(a.destination, b.destination);
+  swap(a.transferStartTime, b.transferStartTime);
+  swap(a.transferEndTime, b.transferEndTime);
+  swap(a.transferRate, b.transferRate);
+  swap(a.__isset, b.__isset);
+}
+
+DataStagingTaskModel::DataStagingTaskModel(const DataStagingTaskModel& other3) {
+  source = other3.source;
+  destination = other3.destination;
+  transferStartTime = other3.transferStartTime;
+  transferEndTime = other3.transferEndTime;
+  transferRate = other3.transferRate;
+  __isset = other3.__isset;
+}
+DataStagingTaskModel& DataStagingTaskModel::operator=(const DataStagingTaskModel& other4) {
+  source = other4.source;
+  destination = other4.destination;
+  transferStartTime = other4.transferStartTime;
+  transferEndTime = other4.transferEndTime;
+  transferRate = other4.transferRate;
+  __isset = other4.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const DataStagingTaskModel& obj) {
+  using apache::thrift::to_string;
+  out << "DataStagingTaskModel(";
+  out << "source=" << to_string(obj.source);
+  out << ", " << "destination=" << to_string(obj.destination);
+  out << ", " << "transferStartTime="; (obj.__isset.transferStartTime ? (out << to_string(obj.transferStartTime)) : (out << "<null>"));
+  out << ", " << "transferEndTime="; (obj.__isset.transferEndTime ? (out << to_string(obj.transferEndTime)) : (out << "<null>"));
+  out << ", " << "transferRate="; (obj.__isset.transferRate ? (out << to_string(obj.transferRate)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+}}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/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
new file mode 100644
index 0000000..3292c36
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.h
@@ -0,0 +1,221 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef task_model_TYPES_H
+#define task_model_TYPES_H
+
+#include <iosfwd>
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "airavata_commons_types.h"
+#include "status_models_types.h"
+
+
+namespace apache { namespace airavata { namespace model { namespace task {
+
+struct TaskTypes {
+  enum type {
+    ENV_SETUP = 0,
+    DATA_STAGING = 1,
+    JOB_SUBMISSION = 2,
+    ENV_CLEANUP = 3,
+    MONITORING = 4
+  };
+};
+
+extern const std::map<int, const char*> _TaskTypes_VALUES_TO_NAMES;
+
+class TaskModel;
+
+class DataStagingTaskModel;
+
+typedef struct _TaskModel__isset {
+  _TaskModel__isset() : taskDetail(false), subTaskModel(false), taskError(false) {}
+  bool taskDetail :1;
+  bool subTaskModel :1;
+  bool taskError :1;
+} _TaskModel__isset;
+
+class TaskModel {
+ public:
+
+  static const char* ascii_fingerprint; // = "CE3A1BEFC350140F2B4D2EF1424A7C4F";
+  static const uint8_t binary_fingerprint[16]; // = {0xCE,0x3A,0x1B,0xEF,0xC3,0x50,0x14,0x0F,0x2B,0x4D,0x2E,0xF1,0x42,0x4A,0x7C,0x4F};
+
+  TaskModel(const TaskModel&);
+  TaskModel& operator=(const TaskModel&);
+  TaskModel() : taskId("DO_NOT_SET_AT_CLIENTS"), taskType((TaskTypes::type)0), parentProcessId(), creationTime(0), lastUpdateTime(0), taskDetail(), subTaskModel() {
+  }
+
+  virtual ~TaskModel() throw();
+  std::string taskId;
+  TaskTypes::type taskType;
+  std::string parentProcessId;
+  int64_t creationTime;
+  int64_t lastUpdateTime;
+   ::apache::airavata::model::status::TaskStatus taskStatus;
+  std::string taskDetail;
+  std::string subTaskModel;
+   ::apache::airavata::model::commons::ErrorModel taskError;
+
+  _TaskModel__isset __isset;
+
+  void __set_taskId(const std::string& val);
+
+  void __set_taskType(const TaskTypes::type val);
+
+  void __set_parentProcessId(const std::string& val);
+
+  void __set_creationTime(const int64_t val);
+
+  void __set_lastUpdateTime(const int64_t val);
+
+  void __set_taskStatus(const  ::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);
+
+  bool operator == (const TaskModel & rhs) const
+  {
+    if (!(taskId == rhs.taskId))
+      return false;
+    if (!(taskType == rhs.taskType))
+      return false;
+    if (!(parentProcessId == rhs.parentProcessId))
+      return false;
+    if (!(creationTime == rhs.creationTime))
+      return false;
+    if (!(lastUpdateTime == rhs.lastUpdateTime))
+      return false;
+    if (!(taskStatus == rhs.taskStatus))
+      return false;
+    if (__isset.taskDetail != rhs.__isset.taskDetail)
+      return false;
+    else if (__isset.taskDetail && !(taskDetail == rhs.taskDetail))
+      return false;
+    if (__isset.subTaskModel != rhs.__isset.subTaskModel)
+      return false;
+    else if (__isset.subTaskModel && !(subTaskModel == rhs.subTaskModel))
+      return false;
+    if (__isset.taskError != rhs.__isset.taskError)
+      return false;
+    else if (__isset.taskError && !(taskError == rhs.taskError))
+      return false;
+    return true;
+  }
+  bool operator != (const TaskModel &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const TaskModel & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const TaskModel& obj);
+};
+
+void swap(TaskModel &a, TaskModel &b);
+
+typedef struct _DataStagingTaskModel__isset {
+  _DataStagingTaskModel__isset() : transferStartTime(false), transferEndTime(false), transferRate(false) {}
+  bool transferStartTime :1;
+  bool transferEndTime :1;
+  bool transferRate :1;
+} _DataStagingTaskModel__isset;
+
+class DataStagingTaskModel {
+ public:
+
+  static const char* ascii_fingerprint; // = "3224DD8D1EC3134AB6350703A4B92D60";
+  static const uint8_t binary_fingerprint[16]; // = {0x32,0x24,0xDD,0x8D,0x1E,0xC3,0x13,0x4A,0xB6,0x35,0x07,0x03,0xA4,0xB9,0x2D,0x60};
+
+  DataStagingTaskModel(const DataStagingTaskModel&);
+  DataStagingTaskModel& operator=(const DataStagingTaskModel&);
+  DataStagingTaskModel() : source(), destination(), transferStartTime(0), transferEndTime(0), transferRate() {
+  }
+
+  virtual ~DataStagingTaskModel() throw();
+  std::string source;
+  std::string destination;
+  int64_t transferStartTime;
+  int64_t transferEndTime;
+  std::string transferRate;
+
+  _DataStagingTaskModel__isset __isset;
+
+  void __set_source(const std::string& val);
+
+  void __set_destination(const std::string& val);
+
+  void __set_transferStartTime(const int64_t val);
+
+  void __set_transferEndTime(const int64_t val);
+
+  void __set_transferRate(const std::string& val);
+
+  bool operator == (const DataStagingTaskModel & rhs) const
+  {
+    if (!(source == rhs.source))
+      return false;
+    if (!(destination == rhs.destination))
+      return false;
+    if (__isset.transferStartTime != rhs.__isset.transferStartTime)
+      return false;
+    else if (__isset.transferStartTime && !(transferStartTime == rhs.transferStartTime))
+      return false;
+    if (__isset.transferEndTime != rhs.__isset.transferEndTime)
+      return false;
+    else if (__isset.transferEndTime && !(transferEndTime == rhs.transferEndTime))
+      return false;
+    if (__isset.transferRate != rhs.__isset.transferRate)
+      return false;
+    else if (__isset.transferRate && !(transferRate == rhs.transferRate))
+      return false;
+    return true;
+  }
+  bool operator != (const DataStagingTaskModel &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const DataStagingTaskModel & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const DataStagingTaskModel& obj);
+};
+
+void swap(DataStagingTaskModel &a, DataStagingTaskModel &b);
+
+}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_constants.cpp
new file mode 100644
index 0000000..c8e5a35
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_constants.cpp
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "workflow_data_model_constants.h"
+
+
+
+const workflow_data_modelConstants g_workflow_data_model_constants;
+
+workflow_data_modelConstants::workflow_data_modelConstants() {
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_constants.h
new file mode 100644
index 0000000..e4b294a
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_constants.h
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef workflow_data_model_CONSTANTS_H
+#define workflow_data_model_CONSTANTS_H
+
+#include "workflow_data_model_types.h"
+
+
+
+class workflow_data_modelConstants {
+ public:
+  workflow_data_modelConstants();
+
+};
+
+extern const workflow_data_modelConstants g_workflow_data_model_constants;
+
+
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_types.cpp
new file mode 100644
index 0000000..eac1a14
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_types.cpp
@@ -0,0 +1,277 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "workflow_data_model_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+
+
+
+Workflow::~Workflow() throw() {
+}
+
+
+void Workflow::__set_templateId(const std::string& val) {
+  this->templateId = val;
+}
+
+void Workflow::__set_name(const std::string& val) {
+  this->name = val;
+}
+
+void Workflow::__set_graph(const std::string& val) {
+  this->graph = val;
+__isset.graph = true;
+}
+
+void Workflow::__set_image(const std::string& val) {
+  this->image = val;
+__isset.image = true;
+}
+
+void Workflow::__set_workflowInputs(const std::vector< ::apache::airavata::model::application::io::InputDataObjectType> & val) {
+  this->workflowInputs = val;
+__isset.workflowInputs = true;
+}
+
+void Workflow::__set_workflowOutputs(const std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & val) {
+  this->workflowOutputs = val;
+__isset.workflowOutputs = true;
+}
+
+const char* Workflow::ascii_fingerprint = "5BEAC53013828D81DABDECEEE0E170C2";
+const uint8_t Workflow::binary_fingerprint[16] = {0x5B,0xEA,0xC5,0x30,0x13,0x82,0x8D,0x81,0xDA,0xBD,0xEC,0xEE,0xE0,0xE1,0x70,0xC2};
+
+uint32_t Workflow::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_templateId = false;
+  bool isset_name = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->templateId);
+          isset_templateId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->name);
+          isset_name = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->graph);
+          this->__isset.graph = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readBinary(this->image);
+          this->__isset.image = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->workflowInputs.clear();
+            uint32_t _size0;
+            ::apache::thrift::protocol::TType _etype3;
+            xfer += iprot->readListBegin(_etype3, _size0);
+            this->workflowInputs.resize(_size0);
+            uint32_t _i4;
+            for (_i4 = 0; _i4 < _size0; ++_i4)
+            {
+              xfer += this->workflowInputs[_i4].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.workflowInputs = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->workflowOutputs.clear();
+            uint32_t _size5;
+            ::apache::thrift::protocol::TType _etype8;
+            xfer += iprot->readListBegin(_etype8, _size5);
+            this->workflowOutputs.resize(_size5);
+            uint32_t _i9;
+            for (_i9 = 0; _i9 < _size5; ++_i9)
+            {
+              xfer += this->workflowOutputs[_i9].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.workflowOutputs = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_templateId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_name)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Workflow::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("Workflow");
+
+  xfer += oprot->writeFieldBegin("templateId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->templateId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->name);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.graph) {
+    xfer += oprot->writeFieldBegin("graph", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->graph);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.image) {
+    xfer += oprot->writeFieldBegin("image", ::apache::thrift::protocol::T_STRING, 4);
+    xfer += oprot->writeBinary(this->image);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.workflowInputs) {
+    xfer += oprot->writeFieldBegin("workflowInputs", ::apache::thrift::protocol::T_LIST, 5);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->workflowInputs.size()));
+      std::vector< ::apache::airavata::model::application::io::InputDataObjectType> ::const_iterator _iter10;
+      for (_iter10 = this->workflowInputs.begin(); _iter10 != this->workflowInputs.end(); ++_iter10)
+      {
+        xfer += (*_iter10).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.workflowOutputs) {
+    xfer += oprot->writeFieldBegin("workflowOutputs", ::apache::thrift::protocol::T_LIST, 6);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->workflowOutputs.size()));
+      std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> ::const_iterator _iter11;
+      for (_iter11 = this->workflowOutputs.begin(); _iter11 != this->workflowOutputs.end(); ++_iter11)
+      {
+        xfer += (*_iter11).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(Workflow &a, Workflow &b) {
+  using ::std::swap;
+  swap(a.templateId, b.templateId);
+  swap(a.name, b.name);
+  swap(a.graph, b.graph);
+  swap(a.image, b.image);
+  swap(a.workflowInputs, b.workflowInputs);
+  swap(a.workflowOutputs, b.workflowOutputs);
+  swap(a.__isset, b.__isset);
+}
+
+Workflow::Workflow(const Workflow& other12) {
+  templateId = other12.templateId;
+  name = other12.name;
+  graph = other12.graph;
+  image = other12.image;
+  workflowInputs = other12.workflowInputs;
+  workflowOutputs = other12.workflowOutputs;
+  __isset = other12.__isset;
+}
+Workflow& Workflow::operator=(const Workflow& other13) {
+  templateId = other13.templateId;
+  name = other13.name;
+  graph = other13.graph;
+  image = other13.image;
+  workflowInputs = other13.workflowInputs;
+  workflowOutputs = other13.workflowOutputs;
+  __isset = other13.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const Workflow& obj) {
+  using apache::thrift::to_string;
+  out << "Workflow(";
+  out << "templateId=" << to_string(obj.templateId);
+  out << ", " << "name=" << to_string(obj.name);
+  out << ", " << "graph="; (obj.__isset.graph ? (out << to_string(obj.graph)) : (out << "<null>"));
+  out << ", " << "image="; (obj.__isset.image ? (out << to_string(obj.image)) : (out << "<null>"));
+  out << ", " << "workflowInputs="; (obj.__isset.workflowInputs ? (out << to_string(obj.workflowInputs)) : (out << "<null>"));
+  out << ", " << "workflowOutputs="; (obj.__isset.workflowOutputs ? (out << to_string(obj.workflowOutputs)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_types.h
new file mode 100644
index 0000000..6183298
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_types.h
@@ -0,0 +1,124 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef workflow_data_model_TYPES_H
+#define workflow_data_model_TYPES_H
+
+#include <iosfwd>
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "application_io_models_types.h"
+#include "airavata_commons_types.h"
+
+
+
+
+class Workflow;
+
+typedef struct _Workflow__isset {
+  _Workflow__isset() : graph(false), image(false), workflowInputs(false), workflowOutputs(false) {}
+  bool graph :1;
+  bool image :1;
+  bool workflowInputs :1;
+  bool workflowOutputs :1;
+} _Workflow__isset;
+
+class Workflow {
+ public:
+
+  static const char* ascii_fingerprint; // = "5BEAC53013828D81DABDECEEE0E170C2";
+  static const uint8_t binary_fingerprint[16]; // = {0x5B,0xEA,0xC5,0x30,0x13,0x82,0x8D,0x81,0xDA,0xBD,0xEC,0xEE,0xE0,0xE1,0x70,0xC2};
+
+  Workflow(const Workflow&);
+  Workflow& operator=(const Workflow&);
+  Workflow() : templateId("DO_NOT_SET_AT_CLIENTS"), name(), graph(), image() {
+  }
+
+  virtual ~Workflow() throw();
+  std::string templateId;
+  std::string name;
+  std::string graph;
+  std::string image;
+  std::vector< ::apache::airavata::model::application::io::InputDataObjectType>  workflowInputs;
+  std::vector< ::apache::airavata::model::application::io::OutputDataObjectType>  workflowOutputs;
+
+  _Workflow__isset __isset;
+
+  void __set_templateId(const std::string& val);
+
+  void __set_name(const std::string& val);
+
+  void __set_graph(const std::string& val);
+
+  void __set_image(const std::string& val);
+
+  void __set_workflowInputs(const std::vector< ::apache::airavata::model::application::io::InputDataObjectType> & val);
+
+  void __set_workflowOutputs(const std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & val);
+
+  bool operator == (const Workflow & rhs) const
+  {
+    if (!(templateId == rhs.templateId))
+      return false;
+    if (!(name == rhs.name))
+      return false;
+    if (__isset.graph != rhs.__isset.graph)
+      return false;
+    else if (__isset.graph && !(graph == rhs.graph))
+      return false;
+    if (__isset.image != rhs.__isset.image)
+      return false;
+    else if (__isset.image && !(image == rhs.image))
+      return false;
+    if (__isset.workflowInputs != rhs.__isset.workflowInputs)
+      return false;
+    else if (__isset.workflowInputs && !(workflowInputs == rhs.workflowInputs))
+      return false;
+    if (__isset.workflowOutputs != rhs.__isset.workflowOutputs)
+      return false;
+    else if (__isset.workflowOutputs && !(workflowOutputs == rhs.workflowOutputs))
+      return false;
+    return true;
+  }
+  bool operator != (const Workflow &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Workflow & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const Workflow& obj);
+};
+
+void swap(Workflow &a, Workflow &b);
+
+
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_constants.cpp
new file mode 100644
index 0000000..f687bff
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_constants.cpp
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "workspace_model_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace workspace {
+
+const workspace_modelConstants g_workspace_model_constants;
+
+workspace_modelConstants::workspace_modelConstants() {
+}
+
+}}}} // namespace
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_constants.h
new file mode 100644
index 0000000..1a55565
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_constants.h
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef workspace_model_CONSTANTS_H
+#define workspace_model_CONSTANTS_H
+
+#include "workspace_model_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace workspace {
+
+class workspace_modelConstants {
+ public:
+  workspace_modelConstants();
+
+};
+
+extern const workspace_modelConstants g_workspace_model_constants;
+
+}}}} // namespace
+
+#endif