http://git-wip-us.apache.org/repos/asf/airavata/blob/b490671e/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_constants.cpp
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_constants.cpp
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_constants.cpp
index 6a8bf09..9a13809 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_constants.cpp
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_constants.cpp
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.9.2)
+ * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated

http://git-wip-us.apache.org/repos/asf/airavata/blob/b490671e/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_constants.h
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_constants.h
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_constants.h
index 7de8402..7304f11 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_constants.h
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_constants.h
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.9.2)
+ * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated

http://git-wip-us.apache.org/repos/asf/airavata/blob/b490671e/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.cpp
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.cpp
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.cpp
index 67600ea..1cbdcaa 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.cpp
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.cpp
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.9.2)
+ * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated

http://git-wip-us.apache.org/repos/asf/airavata/blob/b490671e/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.h
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.h
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.h
index 692cd5f..5d059c5 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.h
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.h
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.9.2)
+ * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated

http://git-wip-us.apache.org/repos/asf/airavata/blob/b490671e/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_constants.cpp
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_constants.cpp
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_constants.cpp
index c67be12..989f7eb 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_constants.cpp
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_constants.cpp
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.9.2)
+ * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated

http://git-wip-us.apache.org/repos/asf/airavata/blob/b490671e/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_constants.h
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_constants.h
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_constants.h
index 7b8bb03..0832be0 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_constants.h
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_constants.h
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.9.2)
+ * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated

http://git-wip-us.apache.org/repos/asf/airavata/blob/b490671e/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_types.cpp
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_types.cpp
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_types.cpp
index 69d0bef..7f23bb7 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_types.cpp
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_types.cpp
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.9.2)
+ * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -64,11 +64,9 @@ void ErrorModel::__set_rootCauseErrorIdList(const 
std::vector<std::string> & val
 __isset.rootCauseErrorIdList = true;
 }
 
-const char* ErrorModel::ascii_fingerprint = "6BB8CB86A8248ACCEDDC6598B87B119F";
-const uint8_t ErrorModel::binary_fingerprint[16] = 
{0x6B,0xB8,0xCB,0x86,0xA8,0x24,0x8A,0xCC,0xED,0xDC,0x65,0x98,0xB8,0x7B,0x11,0x9F};
-
 uint32_t ErrorModel::read(::apache::thrift::protocol::TProtocol* iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -164,7 +162,7 @@ uint32_t 
ErrorModel::read(::apache::thrift::protocol::TProtocol* iprot) {
 
 uint32_t ErrorModel::write(::apache::thrift::protocol::TProtocol* oprot) const 
{
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("ErrorModel");
 
   xfer += oprot->writeFieldBegin("errorId", 
::apache::thrift::protocol::T_STRING, 1);
@@ -206,7 +204,6 @@ uint32_t 
ErrorModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -240,17 +237,16 @@ ErrorModel& ErrorModel::operator=(const ErrorModel& 
other7) {
   __isset = other7.__isset;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const ErrorModel& obj) {
-  using apache::thrift::to_string;
+void ErrorModel::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "ErrorModel(";
-  out << "errorId=" << to_string(obj.errorId);
-  out << ", " << "creationTime="; (obj.__isset.creationTime ? (out << 
to_string(obj.creationTime)) : (out << "<null>"));
-  out << ", " << "actualErrorMessage="; (obj.__isset.actualErrorMessage ? (out 
<< to_string(obj.actualErrorMessage)) : (out << "<null>"));
-  out << ", " << "userFriendlyMessage="; (obj.__isset.userFriendlyMessage ? 
(out << to_string(obj.userFriendlyMessage)) : (out << "<null>"));
-  out << ", " << "transientOrPersistent="; (obj.__isset.transientOrPersistent 
? (out << to_string(obj.transientOrPersistent)) : (out << "<null>"));
-  out << ", " << "rootCauseErrorIdList="; (obj.__isset.rootCauseErrorIdList ? 
(out << to_string(obj.rootCauseErrorIdList)) : (out << "<null>"));
+  out << "errorId=" << to_string(errorId);
+  out << ", " << "creationTime="; (__isset.creationTime ? (out << 
to_string(creationTime)) : (out << "<null>"));
+  out << ", " << "actualErrorMessage="; (__isset.actualErrorMessage ? (out << 
to_string(actualErrorMessage)) : (out << "<null>"));
+  out << ", " << "userFriendlyMessage="; (__isset.userFriendlyMessage ? (out 
<< to_string(userFriendlyMessage)) : (out << "<null>"));
+  out << ", " << "transientOrPersistent="; (__isset.transientOrPersistent ? 
(out << to_string(transientOrPersistent)) : (out << "<null>"));
+  out << ", " << "rootCauseErrorIdList="; (__isset.rootCauseErrorIdList ? (out 
<< to_string(rootCauseErrorIdList)) : (out << "<null>"));
   out << ")";
-  return out;
 }
 
 
@@ -267,11 +263,9 @@ void ValidatorResult::__set_errorDetails(const 
std::string& val) {
 __isset.errorDetails = true;
 }
 
-const char* ValidatorResult::ascii_fingerprint = 
"EB04A806CFFC9025AEE48CFFDC378A86";
-const uint8_t ValidatorResult::binary_fingerprint[16] = 
{0xEB,0x04,0xA8,0x06,0xCF,0xFC,0x90,0x25,0xAE,0xE4,0x8C,0xFF,0xDC,0x37,0x8A,0x86};
-
 uint32_t ValidatorResult::read(::apache::thrift::protocol::TProtocol* iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -323,7 +317,7 @@ uint32_t 
ValidatorResult::read(::apache::thrift::protocol::TProtocol* iprot) {
 
 uint32_t ValidatorResult::write(::apache::thrift::protocol::TProtocol* oprot) 
const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("ValidatorResult");
 
   xfer += oprot->writeFieldBegin("result", ::apache::thrift::protocol::T_BOOL, 
1);
@@ -337,7 +331,6 @@ uint32_t 
ValidatorResult::write(::apache::thrift::protocol::TProtocol* oprot) co
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -359,13 +352,12 @@ ValidatorResult& ValidatorResult::operator=(const 
ValidatorResult& other9) {
   __isset = other9.__isset;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const ValidatorResult& obj) {
-  using apache::thrift::to_string;
+void ValidatorResult::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "ValidatorResult(";
-  out << "result=" << to_string(obj.result);
-  out << ", " << "errorDetails="; (obj.__isset.errorDetails ? (out << 
to_string(obj.errorDetails)) : (out << "<null>"));
+  out << "result=" << to_string(result);
+  out << ", " << "errorDetails="; (__isset.errorDetails ? (out << 
to_string(errorDetails)) : (out << "<null>"));
   out << ")";
-  return out;
 }
 
 
@@ -381,11 +373,9 @@ void ValidationResults::__set_validationResultList(const 
std::vector<ValidatorRe
   this->validationResultList = val;
 }
 
-const char* ValidationResults::ascii_fingerprint = 
"E73BC8630EE405DA5FB801ED852143D2";
-const uint8_t ValidationResults::binary_fingerprint[16] = 
{0xE7,0x3B,0xC8,0x63,0x0E,0xE4,0x05,0xDA,0x5F,0xB8,0x01,0xED,0x85,0x21,0x43,0xD2};
-
 uint32_t ValidationResults::read(::apache::thrift::protocol::TProtocol* iprot) 
{
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -452,7 +442,7 @@ uint32_t 
ValidationResults::read(::apache::thrift::protocol::TProtocol* iprot) {
 
 uint32_t ValidationResults::write(::apache::thrift::protocol::TProtocol* 
oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("ValidationResults");
 
   xfer += oprot->writeFieldBegin("validationState", 
::apache::thrift::protocol::T_BOOL, 1);
@@ -473,7 +463,6 @@ uint32_t 
ValidationResults::write(::apache::thrift::protocol::TProtocol* oprot)
 
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -492,13 +481,12 @@ ValidationResults& ValidationResults::operator=(const 
ValidationResults& other17
   validationResultList = other17.validationResultList;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const ValidationResults& obj) {
-  using apache::thrift::to_string;
+void ValidationResults::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "ValidationResults(";
-  out << "validationState=" << to_string(obj.validationState);
-  out << ", " << "validationResultList=" << 
to_string(obj.validationResultList);
+  out << "validationState=" << to_string(validationState);
+  out << ", " << "validationResultList=" << to_string(validationResultList);
   out << ")";
-  return out;
 }
 
 }}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/b490671e/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_types.h
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_types.h
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_types.h
index 6f4c7f2..c0bf1fd 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_types.h
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_types.h
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.9.2)
+ * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -54,9 +54,6 @@ typedef struct _ErrorModel__isset {
 class ErrorModel {
  public:
 
-  static const char* ascii_fingerprint; // = 
"6BB8CB86A8248ACCEDDC6598B87B119F";
-  static const uint8_t binary_fingerprint[16]; // = 
{0x6B,0xB8,0xCB,0x86,0xA8,0x24,0x8A,0xCC,0xED,0xDC,0x65,0x98,0xB8,0x7B,0x11,0x9F};
-
   ErrorModel(const ErrorModel&);
   ErrorModel& operator=(const ErrorModel&);
   ErrorModel() : errorId("DO_NOT_SET_AT_CLIENTS"), creationTime(0), 
actualErrorMessage(), userFriendlyMessage(), transientOrPersistent(false) {
@@ -119,11 +116,17 @@ class ErrorModel {
   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 ErrorModel& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(ErrorModel &a, ErrorModel &b);
 
+inline std::ostream& operator<<(std::ostream& out, const ErrorModel& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _ValidatorResult__isset {
   _ValidatorResult__isset() : errorDetails(false) {}
   bool errorDetails :1;
@@ -132,9 +135,6 @@ typedef struct _ValidatorResult__isset {
 class ValidatorResult {
  public:
 
-  static const char* ascii_fingerprint; // = 
"EB04A806CFFC9025AEE48CFFDC378A86";
-  static const uint8_t binary_fingerprint[16]; // = 
{0xEB,0x04,0xA8,0x06,0xCF,0xFC,0x90,0x25,0xAE,0xE4,0x8C,0xFF,0xDC,0x37,0x8A,0x86};
-
   ValidatorResult(const ValidatorResult&);
   ValidatorResult& operator=(const ValidatorResult&);
   ValidatorResult() : result(0), errorDetails() {
@@ -169,18 +169,21 @@ class ValidatorResult {
   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 ValidatorResult& 
obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(ValidatorResult &a, ValidatorResult &b);
 
+inline std::ostream& operator<<(std::ostream& out, const ValidatorResult& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class ValidationResults {
  public:
 
-  static const char* ascii_fingerprint; // = 
"E73BC8630EE405DA5FB801ED852143D2";
-  static const uint8_t binary_fingerprint[16]; // = 
{0xE7,0x3B,0xC8,0x63,0x0E,0xE4,0x05,0xDA,0x5F,0xB8,0x01,0xED,0x85,0x21,0x43,0xD2};
-
   ValidationResults(const ValidationResults&);
   ValidationResults& operator=(const ValidationResults&);
   ValidationResults() : validationState(0) {
@@ -211,11 +214,17 @@ class ValidationResults {
   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 ValidationResults& 
obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(ValidationResults &a, ValidationResults &b);
 
+inline std::ostream& operator<<(std::ostream& out, const ValidationResults& 
obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 }}}} // namespace
 
 #endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/b490671e/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_constants.cpp
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_constants.cpp
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_constants.cpp
index 1764a3b..d4a991b 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_constants.cpp
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_constants.cpp
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.9.2)
+ * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated

http://git-wip-us.apache.org/repos/asf/airavata/blob/b490671e/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_constants.h
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_constants.h
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_constants.h
index 071c000..0d871ec 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_constants.h
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_constants.h
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.9.2)
+ * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated

http://git-wip-us.apache.org/repos/asf/airavata/blob/b490671e/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.cpp
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.cpp
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.cpp
index e9ac27d..637fcf6 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.cpp
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.cpp
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.9.2)
+ * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated

http://git-wip-us.apache.org/repos/asf/airavata/blob/b490671e/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.h
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.h
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.h
index 40c53e0..ca6796a 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.h
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.h
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.9.2)
+ * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated

http://git-wip-us.apache.org/repos/asf/airavata/blob/b490671e/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_constants.cpp
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_constants.cpp
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_constants.cpp
index 078ca39..c721378 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_constants.cpp
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_constants.cpp
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.9.2)
+ * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated

http://git-wip-us.apache.org/repos/asf/airavata/blob/b490671e/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_constants.h
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_constants.h
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_constants.h
index 9f80fcb..ee97b5b 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_constants.h
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_constants.h
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.9.2)
+ * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated

http://git-wip-us.apache.org/repos/asf/airavata/blob/b490671e/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.cpp
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.cpp
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.cpp
index de38fb2..08c02cf 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.cpp
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.cpp
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.9.2)
+ * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -61,11 +61,9 @@ void ExperimentNotFoundException::__set_message(const 
std::string& val) {
   this->message = val;
 }
 
-const char* ExperimentNotFoundException::ascii_fingerprint = 
"EFB929595D312AC8F305D5A794CFEDA1";
-const uint8_t ExperimentNotFoundException::binary_fingerprint[16] = 
{0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
-
 uint32_t 
ExperimentNotFoundException::read(::apache::thrift::protocol::TProtocol* iprot) 
{
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -109,7 +107,7 @@ uint32_t 
ExperimentNotFoundException::read(::apache::thrift::protocol::TProtocol
 
 uint32_t 
ExperimentNotFoundException::write(::apache::thrift::protocol::TProtocol* 
oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("ExperimentNotFoundException");
 
   xfer += oprot->writeFieldBegin("message", 
::apache::thrift::protocol::T_STRING, 1);
@@ -118,7 +116,6 @@ uint32_t 
ExperimentNotFoundException::write(::apache::thrift::protocol::TProtoco
 
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -134,12 +131,22 @@ ExperimentNotFoundException& 
ExperimentNotFoundException::operator=(const Experi
   message = other1.message;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const ExperimentNotFoundException& 
obj) {
-  using apache::thrift::to_string;
+void ExperimentNotFoundException::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "ExperimentNotFoundException(";
-  out << "message=" << to_string(obj.message);
+  out << "message=" << to_string(message);
   out << ")";
-  return out;
+}
+
+const char* ExperimentNotFoundException::what() const throw() {
+  try {
+    std::stringstream ss;
+    ss << "TException - service has thrown: " << *this;
+    this->thriftTExceptionMessageHolder_ = ss.str();
+    return this->thriftTExceptionMessageHolder_.c_str();
+  } catch (const std::exception&) {
+    return "TException - service has thrown: ExperimentNotFoundException";
+  }
 }
 
 
@@ -151,11 +158,9 @@ void ProjectNotFoundException::__set_message(const 
std::string& val) {
   this->message = val;
 }
 
-const char* ProjectNotFoundException::ascii_fingerprint = 
"EFB929595D312AC8F305D5A794CFEDA1";
-const uint8_t ProjectNotFoundException::binary_fingerprint[16] = 
{0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
-
 uint32_t ProjectNotFoundException::read(::apache::thrift::protocol::TProtocol* 
iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -199,7 +204,7 @@ uint32_t 
ProjectNotFoundException::read(::apache::thrift::protocol::TProtocol* i
 
 uint32_t 
ProjectNotFoundException::write(::apache::thrift::protocol::TProtocol* oprot) 
const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("ProjectNotFoundException");
 
   xfer += oprot->writeFieldBegin("message", 
::apache::thrift::protocol::T_STRING, 1);
@@ -208,7 +213,6 @@ uint32_t 
ProjectNotFoundException::write(::apache::thrift::protocol::TProtocol*
 
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -224,12 +228,22 @@ ProjectNotFoundException& 
ProjectNotFoundException::operator=(const ProjectNotFo
   message = other3.message;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const ProjectNotFoundException& 
obj) {
-  using apache::thrift::to_string;
+void ProjectNotFoundException::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "ProjectNotFoundException(";
-  out << "message=" << to_string(obj.message);
+  out << "message=" << to_string(message);
   out << ")";
-  return out;
+}
+
+const char* ProjectNotFoundException::what() const throw() {
+  try {
+    std::stringstream ss;
+    ss << "TException - service has thrown: " << *this;
+    this->thriftTExceptionMessageHolder_ = ss.str();
+    return this->thriftTExceptionMessageHolder_.c_str();
+  } catch (const std::exception&) {
+    return "TException - service has thrown: ProjectNotFoundException";
+  }
 }
 
 
@@ -241,11 +255,9 @@ void InvalidRequestException::__set_message(const 
std::string& val) {
   this->message = val;
 }
 
-const char* InvalidRequestException::ascii_fingerprint = 
"EFB929595D312AC8F305D5A794CFEDA1";
-const uint8_t InvalidRequestException::binary_fingerprint[16] = 
{0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
-
 uint32_t InvalidRequestException::read(::apache::thrift::protocol::TProtocol* 
iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -289,7 +301,7 @@ uint32_t 
InvalidRequestException::read(::apache::thrift::protocol::TProtocol* ip
 
 uint32_t InvalidRequestException::write(::apache::thrift::protocol::TProtocol* 
oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("InvalidRequestException");
 
   xfer += oprot->writeFieldBegin("message", 
::apache::thrift::protocol::T_STRING, 1);
@@ -298,7 +310,6 @@ uint32_t 
InvalidRequestException::write(::apache::thrift::protocol::TProtocol* o
 
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -314,12 +325,22 @@ InvalidRequestException& 
InvalidRequestException::operator=(const InvalidRequest
   message = other5.message;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const InvalidRequestException& 
obj) {
-  using apache::thrift::to_string;
+void InvalidRequestException::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "InvalidRequestException(";
-  out << "message=" << to_string(obj.message);
+  out << "message=" << to_string(message);
   out << ")";
-  return out;
+}
+
+const char* InvalidRequestException::what() const throw() {
+  try {
+    std::stringstream ss;
+    ss << "TException - service has thrown: " << *this;
+    this->thriftTExceptionMessageHolder_ = ss.str();
+    return this->thriftTExceptionMessageHolder_.c_str();
+  } catch (const std::exception&) {
+    return "TException - service has thrown: InvalidRequestException";
+  }
 }
 
 
@@ -327,11 +348,9 @@ TimedOutException::~TimedOutException() throw() {
 }
 
 
-const char* TimedOutException::ascii_fingerprint = 
"99914B932BD37A50B983C5E7C90AE93B";
-const uint8_t TimedOutException::binary_fingerprint[16] = 
{0x99,0x91,0x4B,0x93,0x2B,0xD3,0x7A,0x50,0xB9,0x83,0xC5,0xE7,0xC9,0x0A,0xE9,0x3B};
-
 uint32_t TimedOutException::read(::apache::thrift::protocol::TProtocol* iprot) 
{
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -359,12 +378,11 @@ uint32_t 
TimedOutException::read(::apache::thrift::protocol::TProtocol* iprot) {
 
 uint32_t TimedOutException::write(::apache::thrift::protocol::TProtocol* 
oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("TimedOutException");
 
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -381,12 +399,21 @@ TimedOutException& TimedOutException::operator=(const 
TimedOutException& other7)
   (void) other7;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const TimedOutException& obj) {
-  using apache::thrift::to_string;
-  (void) obj;
+void TimedOutException::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "TimedOutException(";
   out << ")";
-  return out;
+}
+
+const char* TimedOutException::what() const throw() {
+  try {
+    std::stringstream ss;
+    ss << "TException - service has thrown: " << *this;
+    this->thriftTExceptionMessageHolder_ = ss.str();
+    return this->thriftTExceptionMessageHolder_.c_str();
+  } catch (const std::exception&) {
+    return "TException - service has thrown: TimedOutException";
+  }
 }
 
 
@@ -398,11 +425,9 @@ void AuthenticationException::__set_message(const 
std::string& val) {
   this->message = val;
 }
 
-const char* AuthenticationException::ascii_fingerprint = 
"EFB929595D312AC8F305D5A794CFEDA1";
-const uint8_t AuthenticationException::binary_fingerprint[16] = 
{0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
-
 uint32_t AuthenticationException::read(::apache::thrift::protocol::TProtocol* 
iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -446,7 +471,7 @@ uint32_t 
AuthenticationException::read(::apache::thrift::protocol::TProtocol* ip
 
 uint32_t AuthenticationException::write(::apache::thrift::protocol::TProtocol* 
oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("AuthenticationException");
 
   xfer += oprot->writeFieldBegin("message", 
::apache::thrift::protocol::T_STRING, 1);
@@ -455,7 +480,6 @@ uint32_t 
AuthenticationException::write(::apache::thrift::protocol::TProtocol* o
 
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -471,12 +495,22 @@ AuthenticationException& 
AuthenticationException::operator=(const Authentication
   message = other9.message;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const AuthenticationException& 
obj) {
-  using apache::thrift::to_string;
+void AuthenticationException::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "AuthenticationException(";
-  out << "message=" << to_string(obj.message);
+  out << "message=" << to_string(message);
   out << ")";
-  return out;
+}
+
+const char* AuthenticationException::what() const throw() {
+  try {
+    std::stringstream ss;
+    ss << "TException - service has thrown: " << *this;
+    this->thriftTExceptionMessageHolder_ = ss.str();
+    return this->thriftTExceptionMessageHolder_.c_str();
+  } catch (const std::exception&) {
+    return "TException - service has thrown: AuthenticationException";
+  }
 }
 
 
@@ -488,11 +522,9 @@ void AuthorizationException::__set_message(const 
std::string& val) {
   this->message = val;
 }
 
-const char* AuthorizationException::ascii_fingerprint = 
"EFB929595D312AC8F305D5A794CFEDA1";
-const uint8_t AuthorizationException::binary_fingerprint[16] = 
{0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
-
 uint32_t AuthorizationException::read(::apache::thrift::protocol::TProtocol* 
iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -536,7 +568,7 @@ uint32_t 
AuthorizationException::read(::apache::thrift::protocol::TProtocol* ipr
 
 uint32_t AuthorizationException::write(::apache::thrift::protocol::TProtocol* 
oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("AuthorizationException");
 
   xfer += oprot->writeFieldBegin("message", 
::apache::thrift::protocol::T_STRING, 1);
@@ -545,7 +577,6 @@ uint32_t 
AuthorizationException::write(::apache::thrift::protocol::TProtocol* op
 
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -561,12 +592,22 @@ AuthorizationException& 
AuthorizationException::operator=(const AuthorizationExc
   message = other11.message;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const AuthorizationException& obj) 
{
-  using apache::thrift::to_string;
+void AuthorizationException::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "AuthorizationException(";
-  out << "message=" << to_string(obj.message);
+  out << "message=" << to_string(message);
   out << ")";
-  return out;
+}
+
+const char* AuthorizationException::what() const throw() {
+  try {
+    std::stringstream ss;
+    ss << "TException - service has thrown: " << *this;
+    this->thriftTExceptionMessageHolder_ = ss.str();
+    return this->thriftTExceptionMessageHolder_.c_str();
+  } catch (const std::exception&) {
+    return "TException - service has thrown: AuthorizationException";
+  }
 }
 
 
@@ -583,11 +624,9 @@ void AiravataClientException::__set_parameter(const 
std::string& val) {
 __isset.parameter = true;
 }
 
-const char* AiravataClientException::ascii_fingerprint = 
"24652790C81ECE22B629CB60A19F1E93";
-const uint8_t AiravataClientException::binary_fingerprint[16] = 
{0x24,0x65,0x27,0x90,0xC8,0x1E,0xCE,0x22,0xB6,0x29,0xCB,0x60,0xA1,0x9F,0x1E,0x93};
-
 uint32_t AiravataClientException::read(::apache::thrift::protocol::TProtocol* 
iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -641,7 +680,7 @@ uint32_t 
AiravataClientException::read(::apache::thrift::protocol::TProtocol* ip
 
 uint32_t AiravataClientException::write(::apache::thrift::protocol::TProtocol* 
oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("AiravataClientException");
 
   xfer += oprot->writeFieldBegin("airavataErrorType", 
::apache::thrift::protocol::T_I32, 1);
@@ -655,7 +694,6 @@ uint32_t 
AiravataClientException::write(::apache::thrift::protocol::TProtocol* o
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -677,13 +715,23 @@ AiravataClientException& 
AiravataClientException::operator=(const AiravataClient
   __isset = other14.__isset;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const AiravataClientException& 
obj) {
-  using apache::thrift::to_string;
+void AiravataClientException::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "AiravataClientException(";
-  out << "airavataErrorType=" << to_string(obj.airavataErrorType);
-  out << ", " << "parameter="; (obj.__isset.parameter ? (out << 
to_string(obj.parameter)) : (out << "<null>"));
+  out << "airavataErrorType=" << to_string(airavataErrorType);
+  out << ", " << "parameter="; (__isset.parameter ? (out << 
to_string(parameter)) : (out << "<null>"));
   out << ")";
-  return out;
+}
+
+const char* AiravataClientException::what() const throw() {
+  try {
+    std::stringstream ss;
+    ss << "TException - service has thrown: " << *this;
+    this->thriftTExceptionMessageHolder_ = ss.str();
+    return this->thriftTExceptionMessageHolder_.c_str();
+  } catch (const std::exception&) {
+    return "TException - service has thrown: AiravataClientException";
+  }
 }
 
 
@@ -700,11 +748,9 @@ void ValidatorResult::__set_errorDetails(const 
std::string& val) {
 __isset.errorDetails = true;
 }
 
-const char* ValidatorResult::ascii_fingerprint = 
"EB04A806CFFC9025AEE48CFFDC378A86";
-const uint8_t ValidatorResult::binary_fingerprint[16] = 
{0xEB,0x04,0xA8,0x06,0xCF,0xFC,0x90,0x25,0xAE,0xE4,0x8C,0xFF,0xDC,0x37,0x8A,0x86};
-
 uint32_t ValidatorResult::read(::apache::thrift::protocol::TProtocol* iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -756,7 +802,7 @@ uint32_t 
ValidatorResult::read(::apache::thrift::protocol::TProtocol* iprot) {
 
 uint32_t ValidatorResult::write(::apache::thrift::protocol::TProtocol* oprot) 
const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("ValidatorResult");
 
   xfer += oprot->writeFieldBegin("result", ::apache::thrift::protocol::T_BOOL, 
1);
@@ -770,7 +816,6 @@ uint32_t 
ValidatorResult::write(::apache::thrift::protocol::TProtocol* oprot) co
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -792,13 +837,12 @@ ValidatorResult& ValidatorResult::operator=(const 
ValidatorResult& other16) {
   __isset = other16.__isset;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const ValidatorResult& obj) {
-  using apache::thrift::to_string;
+void ValidatorResult::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "ValidatorResult(";
-  out << "result=" << to_string(obj.result);
-  out << ", " << "errorDetails="; (obj.__isset.errorDetails ? (out << 
to_string(obj.errorDetails)) : (out << "<null>"));
+  out << "result=" << to_string(result);
+  out << ", " << "errorDetails="; (__isset.errorDetails ? (out << 
to_string(errorDetails)) : (out << "<null>"));
   out << ")";
-  return out;
 }
 
 
@@ -814,11 +858,9 @@ void ValidationResults::__set_validationResultList(const 
std::vector<ValidatorRe
   this->validationResultList = val;
 }
 
-const char* ValidationResults::ascii_fingerprint = 
"E73BC8630EE405DA5FB801ED852143D2";
-const uint8_t ValidationResults::binary_fingerprint[16] = 
{0xE7,0x3B,0xC8,0x63,0x0E,0xE4,0x05,0xDA,0x5F,0xB8,0x01,0xED,0x85,0x21,0x43,0xD2};
-
 uint32_t ValidationResults::read(::apache::thrift::protocol::TProtocol* iprot) 
{
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -885,7 +927,7 @@ uint32_t 
ValidationResults::read(::apache::thrift::protocol::TProtocol* iprot) {
 
 uint32_t ValidationResults::write(::apache::thrift::protocol::TProtocol* 
oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("ValidationResults");
 
   xfer += oprot->writeFieldBegin("validationState", 
::apache::thrift::protocol::T_BOOL, 1);
@@ -906,7 +948,6 @@ uint32_t 
ValidationResults::write(::apache::thrift::protocol::TProtocol* oprot)
 
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -925,13 +966,12 @@ ValidationResults& ValidationResults::operator=(const 
ValidationResults& other24
   validationResultList = other24.validationResultList;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const ValidationResults& obj) {
-  using apache::thrift::to_string;
+void ValidationResults::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "ValidationResults(";
-  out << "validationState=" << to_string(obj.validationState);
-  out << ", " << "validationResultList=" << 
to_string(obj.validationResultList);
+  out << "validationState=" << to_string(validationState);
+  out << ", " << "validationResultList=" << to_string(validationResultList);
   out << ")";
-  return out;
 }
 
 
@@ -948,11 +988,9 @@ void LaunchValidationException::__set_errorMessage(const 
std::string& val) {
 __isset.errorMessage = true;
 }
 
-const char* LaunchValidationException::ascii_fingerprint = 
"99E9D28CC9613B8567277FD2B86021FA";
-const uint8_t LaunchValidationException::binary_fingerprint[16] = 
{0x99,0xE9,0xD2,0x8C,0xC9,0x61,0x3B,0x85,0x67,0x27,0x7F,0xD2,0xB8,0x60,0x21,0xFA};
-
 uint32_t 
LaunchValidationException::read(::apache::thrift::protocol::TProtocol* iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -1004,7 +1042,7 @@ uint32_t 
LaunchValidationException::read(::apache::thrift::protocol::TProtocol*
 
 uint32_t 
LaunchValidationException::write(::apache::thrift::protocol::TProtocol* oprot) 
const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("LaunchValidationException");
 
   xfer += oprot->writeFieldBegin("validationResult", 
::apache::thrift::protocol::T_STRUCT, 1);
@@ -1018,7 +1056,6 @@ uint32_t 
LaunchValidationException::write(::apache::thrift::protocol::TProtocol*
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -1040,13 +1077,23 @@ LaunchValidationException& 
LaunchValidationException::operator=(const LaunchVali
   __isset = other26.__isset;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const LaunchValidationException& 
obj) {
-  using apache::thrift::to_string;
+void LaunchValidationException::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "LaunchValidationException(";
-  out << "validationResult=" << to_string(obj.validationResult);
-  out << ", " << "errorMessage="; (obj.__isset.errorMessage ? (out << 
to_string(obj.errorMessage)) : (out << "<null>"));
+  out << "validationResult=" << to_string(validationResult);
+  out << ", " << "errorMessage="; (__isset.errorMessage ? (out << 
to_string(errorMessage)) : (out << "<null>"));
   out << ")";
-  return out;
+}
+
+const char* LaunchValidationException::what() const throw() {
+  try {
+    std::stringstream ss;
+    ss << "TException - service has thrown: " << *this;
+    this->thriftTExceptionMessageHolder_ = ss.str();
+    return this->thriftTExceptionMessageHolder_.c_str();
+  } catch (const std::exception&) {
+    return "TException - service has thrown: LaunchValidationException";
+  }
 }
 
 
@@ -1063,11 +1110,9 @@ void AiravataSystemException::__set_message(const 
std::string& val) {
 __isset.message = true;
 }
 
-const char* AiravataSystemException::ascii_fingerprint = 
"24652790C81ECE22B629CB60A19F1E93";
-const uint8_t AiravataSystemException::binary_fingerprint[16] = 
{0x24,0x65,0x27,0x90,0xC8,0x1E,0xCE,0x22,0xB6,0x29,0xCB,0x60,0xA1,0x9F,0x1E,0x93};
-
 uint32_t AiravataSystemException::read(::apache::thrift::protocol::TProtocol* 
iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -1121,7 +1166,7 @@ uint32_t 
AiravataSystemException::read(::apache::thrift::protocol::TProtocol* ip
 
 uint32_t AiravataSystemException::write(::apache::thrift::protocol::TProtocol* 
oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("AiravataSystemException");
 
   xfer += oprot->writeFieldBegin("airavataErrorType", 
::apache::thrift::protocol::T_I32, 1);
@@ -1135,7 +1180,6 @@ uint32_t 
AiravataSystemException::write(::apache::thrift::protocol::TProtocol* o
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -1157,13 +1201,23 @@ AiravataSystemException& 
AiravataSystemException::operator=(const AiravataSystem
   __isset = other29.__isset;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const AiravataSystemException& 
obj) {
-  using apache::thrift::to_string;
+void AiravataSystemException::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "AiravataSystemException(";
-  out << "airavataErrorType=" << to_string(obj.airavataErrorType);
-  out << ", " << "message="; (obj.__isset.message ? (out << 
to_string(obj.message)) : (out << "<null>"));
+  out << "airavataErrorType=" << to_string(airavataErrorType);
+  out << ", " << "message="; (__isset.message ? (out << to_string(message)) : 
(out << "<null>"));
   out << ")";
-  return out;
+}
+
+const char* AiravataSystemException::what() const throw() {
+  try {
+    std::stringstream ss;
+    ss << "TException - service has thrown: " << *this;
+    this->thriftTExceptionMessageHolder_ = ss.str();
+    return this->thriftTExceptionMessageHolder_.c_str();
+  } catch (const std::exception&) {
+    return "TException - service has thrown: AiravataSystemException";
+  }
 }
 
 }}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/b490671e/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.h
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.h
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.h
index 6ae818d..e756d0a 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.h
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.h
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.9.2)
+ * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -78,9 +78,6 @@ class AiravataSystemException;
 class ExperimentNotFoundException : public ::apache::thrift::TException {
  public:
 
-  static const char* ascii_fingerprint; // = 
"EFB929595D312AC8F305D5A794CFEDA1";
-  static const uint8_t binary_fingerprint[16]; // = 
{0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
-
   ExperimentNotFoundException(const ExperimentNotFoundException&);
   ExperimentNotFoundException& operator=(const ExperimentNotFoundException&);
   ExperimentNotFoundException() : message() {
@@ -106,18 +103,23 @@ class ExperimentNotFoundException : public 
::apache::thrift::TException {
   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 
ExperimentNotFoundException& obj);
+  virtual void printTo(std::ostream& out) const;
+  mutable std::string thriftTExceptionMessageHolder_;
+  const char* what() const throw();
 };
 
 void swap(ExperimentNotFoundException &a, ExperimentNotFoundException &b);
 
+inline std::ostream& operator<<(std::ostream& out, const 
ExperimentNotFoundException& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class ProjectNotFoundException : public ::apache::thrift::TException {
  public:
 
-  static const char* ascii_fingerprint; // = 
"EFB929595D312AC8F305D5A794CFEDA1";
-  static const uint8_t binary_fingerprint[16]; // = 
{0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
-
   ProjectNotFoundException(const ProjectNotFoundException&);
   ProjectNotFoundException& operator=(const ProjectNotFoundException&);
   ProjectNotFoundException() : message() {
@@ -143,18 +145,23 @@ class ProjectNotFoundException : public 
::apache::thrift::TException {
   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 
ProjectNotFoundException& obj);
+  virtual void printTo(std::ostream& out) const;
+  mutable std::string thriftTExceptionMessageHolder_;
+  const char* what() const throw();
 };
 
 void swap(ProjectNotFoundException &a, ProjectNotFoundException &b);
 
+inline std::ostream& operator<<(std::ostream& out, const 
ProjectNotFoundException& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class InvalidRequestException : public ::apache::thrift::TException {
  public:
 
-  static const char* ascii_fingerprint; // = 
"EFB929595D312AC8F305D5A794CFEDA1";
-  static const uint8_t binary_fingerprint[16]; // = 
{0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
-
   InvalidRequestException(const InvalidRequestException&);
   InvalidRequestException& operator=(const InvalidRequestException&);
   InvalidRequestException() : message() {
@@ -180,18 +187,23 @@ class InvalidRequestException : public 
::apache::thrift::TException {
   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 
InvalidRequestException& obj);
+  virtual void printTo(std::ostream& out) const;
+  mutable std::string thriftTExceptionMessageHolder_;
+  const char* what() const throw();
 };
 
 void swap(InvalidRequestException &a, InvalidRequestException &b);
 
+inline std::ostream& operator<<(std::ostream& out, const 
InvalidRequestException& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class TimedOutException : public ::apache::thrift::TException {
  public:
 
-  static const char* ascii_fingerprint; // = 
"99914B932BD37A50B983C5E7C90AE93B";
-  static const uint8_t binary_fingerprint[16]; // = 
{0x99,0x91,0x4B,0x93,0x2B,0xD3,0x7A,0x50,0xB9,0x83,0xC5,0xE7,0xC9,0x0A,0xE9,0x3B};
-
   TimedOutException(const TimedOutException&);
   TimedOutException& operator=(const TimedOutException&);
   TimedOutException() {
@@ -212,18 +224,23 @@ class TimedOutException : public 
::apache::thrift::TException {
   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 TimedOutException& 
obj);
+  virtual void printTo(std::ostream& out) const;
+  mutable std::string thriftTExceptionMessageHolder_;
+  const char* what() const throw();
 };
 
 void swap(TimedOutException &a, TimedOutException &b);
 
+inline std::ostream& operator<<(std::ostream& out, const TimedOutException& 
obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class AuthenticationException : public ::apache::thrift::TException {
  public:
 
-  static const char* ascii_fingerprint; // = 
"EFB929595D312AC8F305D5A794CFEDA1";
-  static const uint8_t binary_fingerprint[16]; // = 
{0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
-
   AuthenticationException(const AuthenticationException&);
   AuthenticationException& operator=(const AuthenticationException&);
   AuthenticationException() : message() {
@@ -249,18 +266,23 @@ class AuthenticationException : public 
::apache::thrift::TException {
   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 
AuthenticationException& obj);
+  virtual void printTo(std::ostream& out) const;
+  mutable std::string thriftTExceptionMessageHolder_;
+  const char* what() const throw();
 };
 
 void swap(AuthenticationException &a, AuthenticationException &b);
 
+inline std::ostream& operator<<(std::ostream& out, const 
AuthenticationException& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class AuthorizationException : public ::apache::thrift::TException {
  public:
 
-  static const char* ascii_fingerprint; // = 
"EFB929595D312AC8F305D5A794CFEDA1";
-  static const uint8_t binary_fingerprint[16]; // = 
{0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
-
   AuthorizationException(const AuthorizationException&);
   AuthorizationException& operator=(const AuthorizationException&);
   AuthorizationException() : message() {
@@ -286,11 +308,19 @@ class AuthorizationException : public 
::apache::thrift::TException {
   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 
AuthorizationException& obj);
+  virtual void printTo(std::ostream& out) const;
+  mutable std::string thriftTExceptionMessageHolder_;
+  const char* what() const throw();
 };
 
 void swap(AuthorizationException &a, AuthorizationException &b);
 
+inline std::ostream& operator<<(std::ostream& out, const 
AuthorizationException& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _AiravataClientException__isset {
   _AiravataClientException__isset() : parameter(false) {}
   bool parameter :1;
@@ -299,9 +329,6 @@ typedef struct _AiravataClientException__isset {
 class AiravataClientException : public ::apache::thrift::TException {
  public:
 
-  static const char* ascii_fingerprint; // = 
"24652790C81ECE22B629CB60A19F1E93";
-  static const uint8_t binary_fingerprint[16]; // = 
{0x24,0x65,0x27,0x90,0xC8,0x1E,0xCE,0x22,0xB6,0x29,0xCB,0x60,0xA1,0x9F,0x1E,0x93};
-
   AiravataClientException(const AiravataClientException&);
   AiravataClientException& operator=(const AiravataClientException&);
   AiravataClientException() : airavataErrorType((AiravataErrorType::type)0), 
parameter() {
@@ -336,11 +363,19 @@ class AiravataClientException : public 
::apache::thrift::TException {
   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 
AiravataClientException& obj);
+  virtual void printTo(std::ostream& out) const;
+  mutable std::string thriftTExceptionMessageHolder_;
+  const char* what() const throw();
 };
 
 void swap(AiravataClientException &a, AiravataClientException &b);
 
+inline std::ostream& operator<<(std::ostream& out, const 
AiravataClientException& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _ValidatorResult__isset {
   _ValidatorResult__isset() : errorDetails(false) {}
   bool errorDetails :1;
@@ -349,9 +384,6 @@ typedef struct _ValidatorResult__isset {
 class ValidatorResult {
  public:
 
-  static const char* ascii_fingerprint; // = 
"EB04A806CFFC9025AEE48CFFDC378A86";
-  static const uint8_t binary_fingerprint[16]; // = 
{0xEB,0x04,0xA8,0x06,0xCF,0xFC,0x90,0x25,0xAE,0xE4,0x8C,0xFF,0xDC,0x37,0x8A,0x86};
-
   ValidatorResult(const ValidatorResult&);
   ValidatorResult& operator=(const ValidatorResult&);
   ValidatorResult() : result(0), errorDetails() {
@@ -386,18 +418,21 @@ class ValidatorResult {
   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 ValidatorResult& 
obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(ValidatorResult &a, ValidatorResult &b);
 
+inline std::ostream& operator<<(std::ostream& out, const ValidatorResult& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class ValidationResults {
  public:
 
-  static const char* ascii_fingerprint; // = 
"E73BC8630EE405DA5FB801ED852143D2";
-  static const uint8_t binary_fingerprint[16]; // = 
{0xE7,0x3B,0xC8,0x63,0x0E,0xE4,0x05,0xDA,0x5F,0xB8,0x01,0xED,0x85,0x21,0x43,0xD2};
-
   ValidationResults(const ValidationResults&);
   ValidationResults& operator=(const ValidationResults&);
   ValidationResults() : validationState(0) {
@@ -428,11 +463,17 @@ class ValidationResults {
   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 ValidationResults& 
obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(ValidationResults &a, ValidationResults &b);
 
+inline std::ostream& operator<<(std::ostream& out, const ValidationResults& 
obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _LaunchValidationException__isset {
   _LaunchValidationException__isset() : errorMessage(false) {}
   bool errorMessage :1;
@@ -441,9 +482,6 @@ typedef struct _LaunchValidationException__isset {
 class LaunchValidationException : public ::apache::thrift::TException {
  public:
 
-  static const char* ascii_fingerprint; // = 
"99E9D28CC9613B8567277FD2B86021FA";
-  static const uint8_t binary_fingerprint[16]; // = 
{0x99,0xE9,0xD2,0x8C,0xC9,0x61,0x3B,0x85,0x67,0x27,0x7F,0xD2,0xB8,0x60,0x21,0xFA};
-
   LaunchValidationException(const LaunchValidationException&);
   LaunchValidationException& operator=(const LaunchValidationException&);
   LaunchValidationException() : errorMessage() {
@@ -478,11 +516,19 @@ class LaunchValidationException : public 
::apache::thrift::TException {
   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 
LaunchValidationException& obj);
+  virtual void printTo(std::ostream& out) const;
+  mutable std::string thriftTExceptionMessageHolder_;
+  const char* what() const throw();
 };
 
 void swap(LaunchValidationException &a, LaunchValidationException &b);
 
+inline std::ostream& operator<<(std::ostream& out, const 
LaunchValidationException& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _AiravataSystemException__isset {
   _AiravataSystemException__isset() : message(false) {}
   bool message :1;
@@ -491,9 +537,6 @@ typedef struct _AiravataSystemException__isset {
 class AiravataSystemException : public ::apache::thrift::TException {
  public:
 
-  static const char* ascii_fingerprint; // = 
"24652790C81ECE22B629CB60A19F1E93";
-  static const uint8_t binary_fingerprint[16]; // = 
{0x24,0x65,0x27,0x90,0xC8,0x1E,0xCE,0x22,0xB6,0x29,0xCB,0x60,0xA1,0x9F,0x1E,0x93};
-
   AiravataSystemException(const AiravataSystemException&);
   AiravataSystemException& operator=(const AiravataSystemException&);
   AiravataSystemException() : airavataErrorType((AiravataErrorType::type)0), 
message() {
@@ -528,11 +571,19 @@ class AiravataSystemException : public 
::apache::thrift::TException {
   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 
AiravataSystemException& obj);
+  virtual void printTo(std::ostream& out) const;
+  mutable std::string thriftTExceptionMessageHolder_;
+  const char* what() const throw();
 };
 
 void swap(AiravataSystemException &a, AiravataSystemException &b);
 
+inline std::ostream& operator<<(std::ostream& out, const 
AiravataSystemException& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 }}}} // namespace
 
 #endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/b490671e/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_constants.cpp
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_constants.cpp
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_constants.cpp
index 2229772..4c325ce 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_constants.cpp
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_constants.cpp
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.9.2)
+ * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated

http://git-wip-us.apache.org/repos/asf/airavata/blob/b490671e/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_constants.h
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_constants.h
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_constants.h
index 7c78282..bb51aad 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_constants.h
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_constants.h
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.9.2)
+ * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated

http://git-wip-us.apache.org/repos/asf/airavata/blob/b490671e/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.cpp
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.cpp
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.cpp
index eca8ef2..07ba64f 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.cpp
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.cpp
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.9.2)
+ * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -66,11 +66,9 @@ void SetEnvPaths::__set_envPathOrder(const int32_t val) {
 __isset.envPathOrder = true;
 }
 
-const char* SetEnvPaths::ascii_fingerprint = 
"CB1522D43F7EFF4C4CDE94ADBC65FF84";
-const uint8_t SetEnvPaths::binary_fingerprint[16] = 
{0xCB,0x15,0x22,0xD4,0x3F,0x7E,0xFF,0x4C,0x4C,0xDE,0x94,0xAD,0xBC,0x65,0xFF,0x84};
-
 uint32_t SetEnvPaths::read(::apache::thrift::protocol::TProtocol* iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -133,7 +131,7 @@ uint32_t 
SetEnvPaths::read(::apache::thrift::protocol::TProtocol* iprot) {
 
 uint32_t SetEnvPaths::write(::apache::thrift::protocol::TProtocol* oprot) 
const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("SetEnvPaths");
 
   xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 
1);
@@ -151,7 +149,6 @@ uint32_t 
SetEnvPaths::write(::apache::thrift::protocol::TProtocol* oprot) const
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -176,14 +173,13 @@ SetEnvPaths& SetEnvPaths::operator=(const SetEnvPaths& 
other1) {
   __isset = other1.__isset;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const SetEnvPaths& obj) {
-  using apache::thrift::to_string;
+void SetEnvPaths::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "SetEnvPaths(";
-  out << "name=" << to_string(obj.name);
-  out << ", " << "value=" << to_string(obj.value);
-  out << ", " << "envPathOrder="; (obj.__isset.envPathOrder ? (out << 
to_string(obj.envPathOrder)) : (out << "<null>"));
+  out << "name=" << to_string(name);
+  out << ", " << "value=" << to_string(value);
+  out << ", " << "envPathOrder="; (__isset.envPathOrder ? (out << 
to_string(envPathOrder)) : (out << "<null>"));
   out << ")";
-  return out;
 }
 
 
@@ -200,11 +196,9 @@ void CommandObject::__set_commandOrder(const int32_t val) {
 __isset.commandOrder = true;
 }
 
-const char* CommandObject::ascii_fingerprint = 
"18B162B1D15D8D46509D3911A9F1C2AA";
-const uint8_t CommandObject::binary_fingerprint[16] = 
{0x18,0xB1,0x62,0xB1,0xD1,0x5D,0x8D,0x46,0x50,0x9D,0x39,0x11,0xA9,0xF1,0xC2,0xAA};
-
 uint32_t CommandObject::read(::apache::thrift::protocol::TProtocol* iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -256,7 +250,7 @@ uint32_t 
CommandObject::read(::apache::thrift::protocol::TProtocol* iprot) {
 
 uint32_t CommandObject::write(::apache::thrift::protocol::TProtocol* oprot) 
const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("CommandObject");
 
   xfer += oprot->writeFieldBegin("command", 
::apache::thrift::protocol::T_STRING, 1);
@@ -270,7 +264,6 @@ uint32_t 
CommandObject::write(::apache::thrift::protocol::TProtocol* oprot) cons
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -292,13 +285,12 @@ CommandObject& CommandObject::operator=(const 
CommandObject& other3) {
   __isset = other3.__isset;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const CommandObject& obj) {
-  using apache::thrift::to_string;
+void CommandObject::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "CommandObject(";
-  out << "command=" << to_string(obj.command);
-  out << ", " << "commandOrder="; (obj.__isset.commandOrder ? (out << 
to_string(obj.commandOrder)) : (out << "<null>"));
+  out << "command=" << to_string(command);
+  out << ", " << "commandOrder="; (__isset.commandOrder ? (out << 
to_string(commandOrder)) : (out << "<null>"));
   out << ")";
-  return out;
 }
 
 
@@ -324,11 +316,9 @@ void ApplicationModule::__set_appModuleDescription(const 
std::string& val) {
 __isset.appModuleDescription = true;
 }
 
-const char* ApplicationModule::ascii_fingerprint = 
"FED0FBEAA0C90D1589E8B650561B7675";
-const uint8_t ApplicationModule::binary_fingerprint[16] = 
{0xFE,0xD0,0xFB,0xEA,0xA0,0xC9,0x0D,0x15,0x89,0xE8,0xB6,0x50,0x56,0x1B,0x76,0x75};
-
 uint32_t ApplicationModule::read(::apache::thrift::protocol::TProtocol* iprot) 
{
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -399,7 +389,7 @@ uint32_t 
ApplicationModule::read(::apache::thrift::protocol::TProtocol* iprot) {
 
 uint32_t ApplicationModule::write(::apache::thrift::protocol::TProtocol* 
oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("ApplicationModule");
 
   xfer += oprot->writeFieldBegin("appModuleId", 
::apache::thrift::protocol::T_STRING, 1);
@@ -422,7 +412,6 @@ uint32_t 
ApplicationModule::write(::apache::thrift::protocol::TProtocol* oprot)
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -450,15 +439,14 @@ ApplicationModule& ApplicationModule::operator=(const 
ApplicationModule& other5)
   __isset = other5.__isset;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const ApplicationModule& obj) {
-  using apache::thrift::to_string;
+void ApplicationModule::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "ApplicationModule(";
-  out << "appModuleId=" << to_string(obj.appModuleId);
-  out << ", " << "appModuleName=" << to_string(obj.appModuleName);
-  out << ", " << "appModuleVersion="; (obj.__isset.appModuleVersion ? (out << 
to_string(obj.appModuleVersion)) : (out << "<null>"));
-  out << ", " << "appModuleDescription="; (obj.__isset.appModuleDescription ? 
(out << to_string(obj.appModuleDescription)) : (out << "<null>"));
+  out << "appModuleId=" << to_string(appModuleId);
+  out << ", " << "appModuleName=" << to_string(appModuleName);
+  out << ", " << "appModuleVersion="; (__isset.appModuleVersion ? (out << 
to_string(appModuleVersion)) : (out << "<null>"));
+  out << ", " << "appModuleDescription="; (__isset.appModuleDescription ? (out 
<< to_string(appModuleDescription)) : (out << "<null>"));
   out << ")";
-  return out;
 }
 
 
@@ -521,11 +509,9 @@ void 
ApplicationDeploymentDescription::__set_postJobCommands(const std::vector<C
 __isset.postJobCommands = true;
 }
 
-const char* ApplicationDeploymentDescription::ascii_fingerprint = 
"248366FE9C58B4F98F9D84DE1237486F";
-const uint8_t ApplicationDeploymentDescription::binary_fingerprint[16] = 
{0x24,0x83,0x66,0xFE,0x9C,0x58,0xB4,0xF9,0x8F,0x9D,0x84,0xDE,0x12,0x37,0x48,0x6F};
-
 uint32_t 
ApplicationDeploymentDescription::read(::apache::thrift::protocol::TProtocol* 
iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -743,7 +729,7 @@ uint32_t 
ApplicationDeploymentDescription::read(::apache::thrift::protocol::TPro
 
 uint32_t 
ApplicationDeploymentDescription::write(::apache::thrift::protocol::TProtocol* 
oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("ApplicationDeploymentDescription");
 
   xfer += oprot->writeFieldBegin("appDeploymentId", 
::apache::thrift::protocol::T_STRING, 1);
@@ -851,7 +837,6 @@ uint32_t 
ApplicationDeploymentDescription::write(::apache::thrift::protocol::TPr
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -903,23 +888,22 @@ ApplicationDeploymentDescription& 
ApplicationDeploymentDescription::operator=(co
   __isset = other44.__isset;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const 
ApplicationDeploymentDescription& obj) {
-  using apache::thrift::to_string;
+void ApplicationDeploymentDescription::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "ApplicationDeploymentDescription(";
-  out << "appDeploymentId=" << to_string(obj.appDeploymentId);
-  out << ", " << "appModuleId=" << to_string(obj.appModuleId);
-  out << ", " << "computeHostId=" << to_string(obj.computeHostId);
-  out << ", " << "executablePath=" << to_string(obj.executablePath);
-  out << ", " << "parallelism=" << to_string(obj.parallelism);
-  out << ", " << "appDeploymentDescription="; 
(obj.__isset.appDeploymentDescription ? (out << 
to_string(obj.appDeploymentDescription)) : (out << "<null>"));
-  out << ", " << "moduleLoadCmds="; (obj.__isset.moduleLoadCmds ? (out << 
to_string(obj.moduleLoadCmds)) : (out << "<null>"));
-  out << ", " << "libPrependPaths="; (obj.__isset.libPrependPaths ? (out << 
to_string(obj.libPrependPaths)) : (out << "<null>"));
-  out << ", " << "libAppendPaths="; (obj.__isset.libAppendPaths ? (out << 
to_string(obj.libAppendPaths)) : (out << "<null>"));
-  out << ", " << "setEnvironment="; (obj.__isset.setEnvironment ? (out << 
to_string(obj.setEnvironment)) : (out << "<null>"));
-  out << ", " << "preJobCommands="; (obj.__isset.preJobCommands ? (out << 
to_string(obj.preJobCommands)) : (out << "<null>"));
-  out << ", " << "postJobCommands="; (obj.__isset.postJobCommands ? (out << 
to_string(obj.postJobCommands)) : (out << "<null>"));
+  out << "appDeploymentId=" << to_string(appDeploymentId);
+  out << ", " << "appModuleId=" << to_string(appModuleId);
+  out << ", " << "computeHostId=" << to_string(computeHostId);
+  out << ", " << "executablePath=" << to_string(executablePath);
+  out << ", " << "parallelism=" << to_string(parallelism);
+  out << ", " << "appDeploymentDescription="; 
(__isset.appDeploymentDescription ? (out << 
to_string(appDeploymentDescription)) : (out << "<null>"));
+  out << ", " << "moduleLoadCmds="; (__isset.moduleLoadCmds ? (out << 
to_string(moduleLoadCmds)) : (out << "<null>"));
+  out << ", " << "libPrependPaths="; (__isset.libPrependPaths ? (out << 
to_string(libPrependPaths)) : (out << "<null>"));
+  out << ", " << "libAppendPaths="; (__isset.libAppendPaths ? (out << 
to_string(libAppendPaths)) : (out << "<null>"));
+  out << ", " << "setEnvironment="; (__isset.setEnvironment ? (out << 
to_string(setEnvironment)) : (out << "<null>"));
+  out << ", " << "preJobCommands="; (__isset.preJobCommands ? (out << 
to_string(preJobCommands)) : (out << "<null>"));
+  out << ", " << "postJobCommands="; (__isset.postJobCommands ? (out << 
to_string(postJobCommands)) : (out << "<null>"));
   out << ")";
-  return out;
 }
 
 }}}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/b490671e/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.h
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.h
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.h
index 671b7e7..7723122 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.h
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.h
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.9.2)
+ * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -66,9 +66,6 @@ typedef struct _SetEnvPaths__isset {
 class SetEnvPaths {
  public:
 
-  static const char* ascii_fingerprint; // = 
"CB1522D43F7EFF4C4CDE94ADBC65FF84";
-  static const uint8_t binary_fingerprint[16]; // = 
{0xCB,0x15,0x22,0xD4,0x3F,0x7E,0xFF,0x4C,0x4C,0xDE,0x94,0xAD,0xBC,0x65,0xFF,0x84};
-
   SetEnvPaths(const SetEnvPaths&);
   SetEnvPaths& operator=(const SetEnvPaths&);
   SetEnvPaths() : name(), value(), envPathOrder(0) {
@@ -108,11 +105,17 @@ class SetEnvPaths {
   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 SetEnvPaths& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(SetEnvPaths &a, SetEnvPaths &b);
 
+inline std::ostream& operator<<(std::ostream& out, const SetEnvPaths& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _CommandObject__isset {
   _CommandObject__isset() : commandOrder(false) {}
   bool commandOrder :1;
@@ -121,9 +124,6 @@ typedef struct _CommandObject__isset {
 class CommandObject {
  public:
 
-  static const char* ascii_fingerprint; // = 
"18B162B1D15D8D46509D3911A9F1C2AA";
-  static const uint8_t binary_fingerprint[16]; // = 
{0x18,0xB1,0x62,0xB1,0xD1,0x5D,0x8D,0x46,0x50,0x9D,0x39,0x11,0xA9,0xF1,0xC2,0xAA};
-
   CommandObject(const CommandObject&);
   CommandObject& operator=(const CommandObject&);
   CommandObject() : command(), commandOrder(0) {
@@ -158,11 +158,17 @@ class CommandObject {
   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 CommandObject& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(CommandObject &a, CommandObject &b);
 
+inline std::ostream& operator<<(std::ostream& out, const CommandObject& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _ApplicationModule__isset {
   _ApplicationModule__isset() : appModuleVersion(false), 
appModuleDescription(false) {}
   bool appModuleVersion :1;
@@ -172,9 +178,6 @@ typedef struct _ApplicationModule__isset {
 class ApplicationModule {
  public:
 
-  static const char* ascii_fingerprint; // = 
"FED0FBEAA0C90D1589E8B650561B7675";
-  static const uint8_t binary_fingerprint[16]; // = 
{0xFE,0xD0,0xFB,0xEA,0xA0,0xC9,0x0D,0x15,0x89,0xE8,0xB6,0x50,0x56,0x1B,0x76,0x75};
-
   ApplicationModule(const ApplicationModule&);
   ApplicationModule& operator=(const ApplicationModule&);
   ApplicationModule() : appModuleId("DO_NOT_SET_AT_CLIENTS"), appModuleName(), 
appModuleVersion(), appModuleDescription() {
@@ -221,11 +224,17 @@ class ApplicationModule {
   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 ApplicationModule& 
obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(ApplicationModule &a, ApplicationModule &b);
 
+inline std::ostream& operator<<(std::ostream& out, const ApplicationModule& 
obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _ApplicationDeploymentDescription__isset {
   _ApplicationDeploymentDescription__isset() : 
appDeploymentDescription(false), moduleLoadCmds(false), libPrependPaths(false), 
libAppendPaths(false), setEnvironment(false), preJobCommands(false), 
postJobCommands(false) {}
   bool appDeploymentDescription :1;
@@ -240,9 +249,6 @@ typedef struct _ApplicationDeploymentDescription__isset {
 class ApplicationDeploymentDescription {
  public:
 
-  static const char* ascii_fingerprint; // = 
"248366FE9C58B4F98F9D84DE1237486F";
-  static const uint8_t binary_fingerprint[16]; // = 
{0x24,0x83,0x66,0xFE,0x9C,0x58,0xB4,0xF9,0x8F,0x9D,0x84,0xDE,0x12,0x37,0x48,0x6F};
-
   ApplicationDeploymentDescription(const ApplicationDeploymentDescription&);
   ApplicationDeploymentDescription& operator=(const 
ApplicationDeploymentDescription&);
   ApplicationDeploymentDescription() : 
appDeploymentId("DO_NOT_SET_AT_CLIENTS"), appModuleId(), computeHostId(), 
executablePath(), parallelism((ApplicationParallelismType::type)0), 
appDeploymentDescription() {
@@ -341,11 +347,17 @@ class ApplicationDeploymentDescription {
   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 
ApplicationDeploymentDescription& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(ApplicationDeploymentDescription &a, 
ApplicationDeploymentDescription &b);
 
+inline std::ostream& operator<<(std::ostream& out, const 
ApplicationDeploymentDescription& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 }}}}} // namespace
 
 #endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/b490671e/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_constants.cpp
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_constants.cpp
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_constants.cpp
index 7669129..9e26ad4 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_constants.cpp
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_constants.cpp
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.9.2)
+ * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated

http://git-wip-us.apache.org/repos/asf/airavata/blob/b490671e/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_constants.h
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_constants.h
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_constants.h
index 534fb74..128d8ec 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_constants.h
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_constants.h
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.9.2)
+ * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated

http://git-wip-us.apache.org/repos/asf/airavata/blob/b490671e/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_types.cpp
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_types.cpp
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_types.cpp
index cf6b13d..69df9f2 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_types.cpp
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_types.cpp
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.9.2)
+ * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -63,11 +63,9 @@ void 
ApplicationInterfaceDescription::__set_applicationOutputs(const std::vector
 __isset.applicationOutputs = true;
 }
 
-const char* ApplicationInterfaceDescription::ascii_fingerprint = 
"D41488A7C34E28C6E04EA596F09A1F6C";
-const uint8_t ApplicationInterfaceDescription::binary_fingerprint[16] = 
{0xD4,0x14,0x88,0xA7,0xC3,0x4E,0x28,0xC6,0xE0,0x4E,0xA5,0x96,0xF0,0x9A,0x1F,0x6C};
-
 uint32_t 
ApplicationInterfaceDescription::read(::apache::thrift::protocol::TProtocol* 
iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -190,7 +188,7 @@ uint32_t 
ApplicationInterfaceDescription::read(::apache::thrift::protocol::TProt
 
 uint32_t 
ApplicationInterfaceDescription::write(::apache::thrift::protocol::TProtocol* 
oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("ApplicationInterfaceDescription");
 
   xfer += oprot->writeFieldBegin("applicationInterfaceId", 
::apache::thrift::protocol::T_STRING, 1);
@@ -247,7 +245,6 @@ uint32_t 
ApplicationInterfaceDescription::write(::apache::thrift::protocol::TPro
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -281,17 +278,16 @@ ApplicationInterfaceDescription& 
ApplicationInterfaceDescription::operator=(cons
   __isset = other19.__isset;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const 
ApplicationInterfaceDescription& obj) {
-  using apache::thrift::to_string;
+void ApplicationInterfaceDescription::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "ApplicationInterfaceDescription(";
-  out << "applicationInterfaceId=" << to_string(obj.applicationInterfaceId);
-  out << ", " << "applicationName=" << to_string(obj.applicationName);
-  out << ", " << "applicationDescription="; 
(obj.__isset.applicationDescription ? (out << 
to_string(obj.applicationDescription)) : (out << "<null>"));
-  out << ", " << "applicationModules="; (obj.__isset.applicationModules ? (out 
<< to_string(obj.applicationModules)) : (out << "<null>"));
-  out << ", " << "applicationInputs="; (obj.__isset.applicationInputs ? (out 
<< to_string(obj.applicationInputs)) : (out << "<null>"));
-  out << ", " << "applicationOutputs="; (obj.__isset.applicationOutputs ? (out 
<< to_string(obj.applicationOutputs)) : (out << "<null>"));
+  out << "applicationInterfaceId=" << to_string(applicationInterfaceId);
+  out << ", " << "applicationName=" << to_string(applicationName);
+  out << ", " << "applicationDescription="; (__isset.applicationDescription ? 
(out << to_string(applicationDescription)) : (out << "<null>"));
+  out << ", " << "applicationModules="; (__isset.applicationModules ? (out << 
to_string(applicationModules)) : (out << "<null>"));
+  out << ", " << "applicationInputs="; (__isset.applicationInputs ? (out << 
to_string(applicationInputs)) : (out << "<null>"));
+  out << ", " << "applicationOutputs="; (__isset.applicationOutputs ? (out << 
to_string(applicationOutputs)) : (out << "<null>"));
   out << ")";
-  return out;
 }
 
 }}}}} // namespace

Reply via email to