airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sma...@apache.org
Subject [09/13] airavata git commit: Updating to thrift 0.93 as discussed in - AIRAVATA-1883
Date Wed, 16 Dec 2015 04:56:09 GMT
http://git-wip-us.apache.org/repos/asf/airavata/blob/a513dcde/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/a513dcde/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/a513dcde/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

http://git-wip-us.apache.org/repos/asf/airavata/blob/a513dcde/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_types.h
index cdf8fa3..adafa82 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_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
@@ -51,9 +51,6 @@ typedef struct _ApplicationInterfaceDescription__isset {
 class ApplicationInterfaceDescription {
  public:
 
-  static const char* ascii_fingerprint; // = "D41488A7C34E28C6E04EA596F09A1F6C";
-  static const uint8_t binary_fingerprint[16]; // = {0xD4,0x14,0x88,0xA7,0xC3,0x4E,0x28,0xC6,0xE0,0x4E,0xA5,0x96,0xF0,0x9A,0x1F,0x6C};
-
   ApplicationInterfaceDescription(const ApplicationInterfaceDescription&);
   ApplicationInterfaceDescription& operator=(const ApplicationInterfaceDescription&);
   ApplicationInterfaceDescription() : applicationInterfaceId("DO_NOT_SET_AT_CLIENTS"), applicationName(), applicationDescription() {
@@ -114,11 +111,17 @@ class ApplicationInterfaceDescription {
   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 ApplicationInterfaceDescription& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(ApplicationInterfaceDescription &a, ApplicationInterfaceDescription &b);
 
+inline std::ostream& operator<<(std::ostream& out, const ApplicationInterfaceDescription& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 }}}}} // namespace
 
 #endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/a513dcde/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_constants.cpp
index 16c91d6..bdf3e7c 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_constants.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_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/a513dcde/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_constants.h
index 67902c9..7181ead 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_constants.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_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/a513dcde/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.cpp
index 75476f8..0604770 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_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
@@ -107,11 +107,9 @@ void InputDataObjectType::__set_dataStaged(const bool val) {
 __isset.dataStaged = true;
 }
 
-const char* InputDataObjectType::ascii_fingerprint = "22DB8CAA7C1FBBFDD0CA6E19790BA799";
-const uint8_t InputDataObjectType::binary_fingerprint[16] = {0x22,0xDB,0x8C,0xAA,0x7C,0x1F,0xBB,0xFD,0xD0,0xCA,0x6E,0x19,0x79,0x0B,0xA7,0x99};
-
 uint32_t InputDataObjectType::read(::apache::thrift::protocol::TProtocol* iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -237,7 +235,7 @@ uint32_t InputDataObjectType::read(::apache::thrift::protocol::TProtocol* iprot)
 
 uint32_t InputDataObjectType::write(::apache::thrift::protocol::TProtocol* oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("InputDataObjectType");
 
   xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 1);
@@ -296,7 +294,6 @@ uint32_t InputDataObjectType::write(::apache::thrift::protocol::TProtocol* oprot
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -345,22 +342,21 @@ InputDataObjectType& InputDataObjectType::operator=(const InputDataObjectType& o
   __isset = other2.__isset;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const InputDataObjectType& obj) {
-  using apache::thrift::to_string;
+void InputDataObjectType::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "InputDataObjectType(";
-  out << "name=" << to_string(obj.name);
-  out << ", " << "value="; (obj.__isset.value ? (out << to_string(obj.value)) : (out << "<null>"));
-  out << ", " << "type="; (obj.__isset.type ? (out << to_string(obj.type)) : (out << "<null>"));
-  out << ", " << "applicationArgument="; (obj.__isset.applicationArgument ? (out << to_string(obj.applicationArgument)) : (out << "<null>"));
-  out << ", " << "standardInput="; (obj.__isset.standardInput ? (out << to_string(obj.standardInput)) : (out << "<null>"));
-  out << ", " << "userFriendlyDescription="; (obj.__isset.userFriendlyDescription ? (out << to_string(obj.userFriendlyDescription)) : (out << "<null>"));
-  out << ", " << "metaData="; (obj.__isset.metaData ? (out << to_string(obj.metaData)) : (out << "<null>"));
-  out << ", " << "inputOrder="; (obj.__isset.inputOrder ? (out << to_string(obj.inputOrder)) : (out << "<null>"));
-  out << ", " << "isRequired="; (obj.__isset.isRequired ? (out << to_string(obj.isRequired)) : (out << "<null>"));
-  out << ", " << "requiredToAddedToCommandLine="; (obj.__isset.requiredToAddedToCommandLine ? (out << to_string(obj.requiredToAddedToCommandLine)) : (out << "<null>"));
-  out << ", " << "dataStaged="; (obj.__isset.dataStaged ? (out << to_string(obj.dataStaged)) : (out << "<null>"));
+  out << "name=" << to_string(name);
+  out << ", " << "value="; (__isset.value ? (out << to_string(value)) : (out << "<null>"));
+  out << ", " << "type="; (__isset.type ? (out << to_string(type)) : (out << "<null>"));
+  out << ", " << "applicationArgument="; (__isset.applicationArgument ? (out << to_string(applicationArgument)) : (out << "<null>"));
+  out << ", " << "standardInput="; (__isset.standardInput ? (out << to_string(standardInput)) : (out << "<null>"));
+  out << ", " << "userFriendlyDescription="; (__isset.userFriendlyDescription ? (out << to_string(userFriendlyDescription)) : (out << "<null>"));
+  out << ", " << "metaData="; (__isset.metaData ? (out << to_string(metaData)) : (out << "<null>"));
+  out << ", " << "inputOrder="; (__isset.inputOrder ? (out << to_string(inputOrder)) : (out << "<null>"));
+  out << ", " << "isRequired="; (__isset.isRequired ? (out << to_string(isRequired)) : (out << "<null>"));
+  out << ", " << "requiredToAddedToCommandLine="; (__isset.requiredToAddedToCommandLine ? (out << to_string(requiredToAddedToCommandLine)) : (out << "<null>"));
+  out << ", " << "dataStaged="; (__isset.dataStaged ? (out << to_string(dataStaged)) : (out << "<null>"));
   out << ")";
-  return out;
 }
 
 
@@ -417,11 +413,9 @@ void OutputDataObjectType::__set_outputStreaming(const bool val) {
 __isset.outputStreaming = true;
 }
 
-const char* OutputDataObjectType::ascii_fingerprint = "459855F041A05E27C2DC8D53D68E6DA5";
-const uint8_t OutputDataObjectType::binary_fingerprint[16] = {0x45,0x98,0x55,0xF0,0x41,0xA0,0x5E,0x27,0xC2,0xDC,0x8D,0x53,0xD6,0x8E,0x6D,0xA5};
-
 uint32_t OutputDataObjectType::read(::apache::thrift::protocol::TProtocol* iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -539,7 +533,7 @@ uint32_t OutputDataObjectType::read(::apache::thrift::protocol::TProtocol* iprot
 
 uint32_t OutputDataObjectType::write(::apache::thrift::protocol::TProtocol* oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("OutputDataObjectType");
 
   xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 1);
@@ -593,7 +587,6 @@ uint32_t OutputDataObjectType::write(::apache::thrift::protocol::TProtocol* opro
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -639,21 +632,20 @@ OutputDataObjectType& OutputDataObjectType::operator=(const OutputDataObjectType
   __isset = other5.__isset;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const OutputDataObjectType& obj) {
-  using apache::thrift::to_string;
+void OutputDataObjectType::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "OutputDataObjectType(";
-  out << "name=" << to_string(obj.name);
-  out << ", " << "value="; (obj.__isset.value ? (out << to_string(obj.value)) : (out << "<null>"));
-  out << ", " << "type="; (obj.__isset.type ? (out << to_string(obj.type)) : (out << "<null>"));
-  out << ", " << "applicationArgument="; (obj.__isset.applicationArgument ? (out << to_string(obj.applicationArgument)) : (out << "<null>"));
-  out << ", " << "isRequired="; (obj.__isset.isRequired ? (out << to_string(obj.isRequired)) : (out << "<null>"));
-  out << ", " << "requiredToAddedToCommandLine="; (obj.__isset.requiredToAddedToCommandLine ? (out << to_string(obj.requiredToAddedToCommandLine)) : (out << "<null>"));
-  out << ", " << "dataMovement="; (obj.__isset.dataMovement ? (out << to_string(obj.dataMovement)) : (out << "<null>"));
-  out << ", " << "location="; (obj.__isset.location ? (out << to_string(obj.location)) : (out << "<null>"));
-  out << ", " << "searchQuery="; (obj.__isset.searchQuery ? (out << to_string(obj.searchQuery)) : (out << "<null>"));
-  out << ", " << "outputStreaming="; (obj.__isset.outputStreaming ? (out << to_string(obj.outputStreaming)) : (out << "<null>"));
+  out << "name=" << to_string(name);
+  out << ", " << "value="; (__isset.value ? (out << to_string(value)) : (out << "<null>"));
+  out << ", " << "type="; (__isset.type ? (out << to_string(type)) : (out << "<null>"));
+  out << ", " << "applicationArgument="; (__isset.applicationArgument ? (out << to_string(applicationArgument)) : (out << "<null>"));
+  out << ", " << "isRequired="; (__isset.isRequired ? (out << to_string(isRequired)) : (out << "<null>"));
+  out << ", " << "requiredToAddedToCommandLine="; (__isset.requiredToAddedToCommandLine ? (out << to_string(requiredToAddedToCommandLine)) : (out << "<null>"));
+  out << ", " << "dataMovement="; (__isset.dataMovement ? (out << to_string(dataMovement)) : (out << "<null>"));
+  out << ", " << "location="; (__isset.location ? (out << to_string(location)) : (out << "<null>"));
+  out << ", " << "searchQuery="; (__isset.searchQuery ? (out << to_string(searchQuery)) : (out << "<null>"));
+  out << ", " << "outputStreaming="; (__isset.outputStreaming ? (out << to_string(outputStreaming)) : (out << "<null>"));
   out << ")";
-  return out;
 }
 
 }}}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/a513dcde/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.h
index c298ad2..6180c2c 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_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
@@ -71,9 +71,6 @@ typedef struct _InputDataObjectType__isset {
 class InputDataObjectType {
  public:
 
-  static const char* ascii_fingerprint; // = "22DB8CAA7C1FBBFDD0CA6E19790BA799";
-  static const uint8_t binary_fingerprint[16]; // = {0x22,0xDB,0x8C,0xAA,0x7C,0x1F,0xBB,0xFD,0xD0,0xCA,0x6E,0x19,0x79,0x0B,0xA7,0x99};
-
   InputDataObjectType(const InputDataObjectType&);
   InputDataObjectType& operator=(const InputDataObjectType&);
   InputDataObjectType() : name(), value(), type((DataType::type)0), applicationArgument(), standardInput(0), userFriendlyDescription(), metaData(), inputOrder(0), isRequired(0), requiredToAddedToCommandLine(0), dataStaged(0) {
@@ -171,11 +168,17 @@ class InputDataObjectType {
   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 InputDataObjectType& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(InputDataObjectType &a, InputDataObjectType &b);
 
+inline std::ostream& operator<<(std::ostream& out, const InputDataObjectType& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _OutputDataObjectType__isset {
   _OutputDataObjectType__isset() : value(false), type(false), applicationArgument(false), isRequired(false), requiredToAddedToCommandLine(false), dataMovement(false), location(false), searchQuery(false), outputStreaming(false) {}
   bool value :1;
@@ -192,9 +195,6 @@ typedef struct _OutputDataObjectType__isset {
 class OutputDataObjectType {
  public:
 
-  static const char* ascii_fingerprint; // = "459855F041A05E27C2DC8D53D68E6DA5";
-  static const uint8_t binary_fingerprint[16]; // = {0x45,0x98,0x55,0xF0,0x41,0xA0,0x5E,0x27,0xC2,0xDC,0x8D,0x53,0xD6,0x8E,0x6D,0xA5};
-
   OutputDataObjectType(const OutputDataObjectType&);
   OutputDataObjectType& operator=(const OutputDataObjectType&);
   OutputDataObjectType() : name(), value(), type((DataType::type)0), applicationArgument(), isRequired(0), requiredToAddedToCommandLine(0), dataMovement(0), location(), searchQuery(), outputStreaming(0) {
@@ -285,11 +285,17 @@ class OutputDataObjectType {
   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 OutputDataObjectType& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(OutputDataObjectType &a, OutputDataObjectType &b);
 
+inline std::ostream& operator<<(std::ostream& out, const OutputDataObjectType& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 }}}}} // namespace
 
 #endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/a513dcde/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_constants.cpp
index ceed4f3..db466e7 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_constants.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_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/a513dcde/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_constants.h
index 5628fa1..055633e 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_constants.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_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/a513dcde/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp
index 1f575ad..ca207ca 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_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
@@ -166,11 +166,9 @@ void ResourceJobManager::__set_jobManagerCommands(const std::map<JobManagerComma
 __isset.jobManagerCommands = true;
 }
 
-const char* ResourceJobManager::ascii_fingerprint = "F61CAF80247D0E44C8D52504F3A43BED";
-const uint8_t ResourceJobManager::binary_fingerprint[16] = {0xF6,0x1C,0xAF,0x80,0x24,0x7D,0x0E,0x44,0xC8,0xD5,0x25,0x04,0xF3,0xA4,0x3B,0xED};
-
 uint32_t ResourceJobManager::read(::apache::thrift::protocol::TProtocol* iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -268,7 +266,7 @@ uint32_t ResourceJobManager::read(::apache::thrift::protocol::TProtocol* iprot)
 
 uint32_t ResourceJobManager::write(::apache::thrift::protocol::TProtocol* oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("ResourceJobManager");
 
   xfer += oprot->writeFieldBegin("resourceJobManagerId", ::apache::thrift::protocol::T_STRING, 1);
@@ -305,7 +303,6 @@ uint32_t ResourceJobManager::write(::apache::thrift::protocol::TProtocol* oprot)
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -336,16 +333,15 @@ ResourceJobManager& ResourceJobManager::operator=(const ResourceJobManager& othe
   __isset = other11.__isset;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const ResourceJobManager& obj) {
-  using apache::thrift::to_string;
+void ResourceJobManager::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "ResourceJobManager(";
-  out << "resourceJobManagerId=" << to_string(obj.resourceJobManagerId);
-  out << ", " << "resourceJobManagerType=" << to_string(obj.resourceJobManagerType);
-  out << ", " << "pushMonitoringEndpoint="; (obj.__isset.pushMonitoringEndpoint ? (out << to_string(obj.pushMonitoringEndpoint)) : (out << "<null>"));
-  out << ", " << "jobManagerBinPath="; (obj.__isset.jobManagerBinPath ? (out << to_string(obj.jobManagerBinPath)) : (out << "<null>"));
-  out << ", " << "jobManagerCommands="; (obj.__isset.jobManagerCommands ? (out << to_string(obj.jobManagerCommands)) : (out << "<null>"));
+  out << "resourceJobManagerId=" << to_string(resourceJobManagerId);
+  out << ", " << "resourceJobManagerType=" << to_string(resourceJobManagerType);
+  out << ", " << "pushMonitoringEndpoint="; (__isset.pushMonitoringEndpoint ? (out << to_string(pushMonitoringEndpoint)) : (out << "<null>"));
+  out << ", " << "jobManagerBinPath="; (__isset.jobManagerBinPath ? (out << to_string(jobManagerBinPath)) : (out << "<null>"));
+  out << ", " << "jobManagerCommands="; (__isset.jobManagerCommands ? (out << to_string(jobManagerCommands)) : (out << "<null>"));
   out << ")";
-  return out;
 }
 
 
@@ -387,11 +383,9 @@ void BatchQueue::__set_maxMemory(const int32_t val) {
 __isset.maxMemory = true;
 }
 
-const char* BatchQueue::ascii_fingerprint = "ED0A78585E8BA402743AC1D5D510EF9E";
-const uint8_t BatchQueue::binary_fingerprint[16] = {0xED,0x0A,0x78,0x58,0x5E,0x8B,0xA4,0x02,0x74,0x3A,0xC1,0xD5,0xD5,0x10,0xEF,0x9E};
-
 uint32_t BatchQueue::read(::apache::thrift::protocol::TProtocol* iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -483,7 +477,7 @@ uint32_t BatchQueue::read(::apache::thrift::protocol::TProtocol* iprot) {
 
 uint32_t BatchQueue::write(::apache::thrift::protocol::TProtocol* oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("BatchQueue");
 
   xfer += oprot->writeFieldBegin("queueName", ::apache::thrift::protocol::T_STRING, 1);
@@ -522,7 +516,6 @@ uint32_t BatchQueue::write(::apache::thrift::protocol::TProtocol* oprot) const {
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -559,18 +552,17 @@ BatchQueue& BatchQueue::operator=(const BatchQueue& other13) {
   __isset = other13.__isset;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const BatchQueue& obj) {
-  using apache::thrift::to_string;
+void BatchQueue::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "BatchQueue(";
-  out << "queueName=" << to_string(obj.queueName);
-  out << ", " << "queueDescription="; (obj.__isset.queueDescription ? (out << to_string(obj.queueDescription)) : (out << "<null>"));
-  out << ", " << "maxRunTime="; (obj.__isset.maxRunTime ? (out << to_string(obj.maxRunTime)) : (out << "<null>"));
-  out << ", " << "maxNodes="; (obj.__isset.maxNodes ? (out << to_string(obj.maxNodes)) : (out << "<null>"));
-  out << ", " << "maxProcessors="; (obj.__isset.maxProcessors ? (out << to_string(obj.maxProcessors)) : (out << "<null>"));
-  out << ", " << "maxJobsInQueue="; (obj.__isset.maxJobsInQueue ? (out << to_string(obj.maxJobsInQueue)) : (out << "<null>"));
-  out << ", " << "maxMemory="; (obj.__isset.maxMemory ? (out << to_string(obj.maxMemory)) : (out << "<null>"));
+  out << "queueName=" << to_string(queueName);
+  out << ", " << "queueDescription="; (__isset.queueDescription ? (out << to_string(queueDescription)) : (out << "<null>"));
+  out << ", " << "maxRunTime="; (__isset.maxRunTime ? (out << to_string(maxRunTime)) : (out << "<null>"));
+  out << ", " << "maxNodes="; (__isset.maxNodes ? (out << to_string(maxNodes)) : (out << "<null>"));
+  out << ", " << "maxProcessors="; (__isset.maxProcessors ? (out << to_string(maxProcessors)) : (out << "<null>"));
+  out << ", " << "maxJobsInQueue="; (__isset.maxJobsInQueue ? (out << to_string(maxJobsInQueue)) : (out << "<null>"));
+  out << ", " << "maxMemory="; (__isset.maxMemory ? (out << to_string(maxMemory)) : (out << "<null>"));
   out << ")";
-  return out;
 }
 
 
@@ -590,11 +582,9 @@ void LOCALSubmission::__set_resourceJobManager(const ResourceJobManager& val) {
   this->resourceJobManager = val;
 }
 
-const char* LOCALSubmission::ascii_fingerprint = "9237E82F3C6C8601C7B7AD6A6BBC347C";
-const uint8_t LOCALSubmission::binary_fingerprint[16] = {0x92,0x37,0xE8,0x2F,0x3C,0x6C,0x86,0x01,0xC7,0xB7,0xAD,0x6A,0x6B,0xBC,0x34,0x7C};
-
 uint32_t LOCALSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -662,7 +652,7 @@ uint32_t LOCALSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
 
 uint32_t LOCALSubmission::write(::apache::thrift::protocol::TProtocol* oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("LOCALSubmission");
 
   xfer += oprot->writeFieldBegin("jobSubmissionInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
@@ -679,7 +669,6 @@ uint32_t LOCALSubmission::write(::apache::thrift::protocol::TProtocol* oprot) co
 
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -701,14 +690,13 @@ LOCALSubmission& LOCALSubmission::operator=(const LOCALSubmission& other16) {
   resourceJobManager = other16.resourceJobManager;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const LOCALSubmission& obj) {
-  using apache::thrift::to_string;
+void LOCALSubmission::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "LOCALSubmission(";
-  out << "jobSubmissionInterfaceId=" << to_string(obj.jobSubmissionInterfaceId);
-  out << ", " << "securityProtocol=" << to_string(obj.securityProtocol);
-  out << ", " << "resourceJobManager=" << to_string(obj.resourceJobManager);
+  out << "jobSubmissionInterfaceId=" << to_string(jobSubmissionInterfaceId);
+  out << ", " << "securityProtocol=" << to_string(securityProtocol);
+  out << ", " << "resourceJobManager=" << to_string(resourceJobManager);
   out << ")";
-  return out;
 }
 
 
@@ -748,11 +736,9 @@ void SSHJobSubmission::__set_batchQueueEmailSenders(const std::vector<std::strin
 __isset.batchQueueEmailSenders = true;
 }
 
-const char* SSHJobSubmission::ascii_fingerprint = "46172F971809F7ECCCF7AB14291B87C6";
-const uint8_t SSHJobSubmission::binary_fingerprint[16] = {0x46,0x17,0x2F,0x97,0x18,0x09,0xF7,0xEC,0xCC,0xF7,0xAB,0x14,0x29,0x1B,0x87,0xC6};
-
 uint32_t SSHJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -866,7 +852,7 @@ uint32_t SSHJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
 
 uint32_t SSHJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("SSHJobSubmission");
 
   xfer += oprot->writeFieldBegin("jobSubmissionInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
@@ -911,7 +897,6 @@ uint32_t SSHJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot) c
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -948,18 +933,17 @@ SSHJobSubmission& SSHJobSubmission::operator=(const SSHJobSubmission& other26) {
   __isset = other26.__isset;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const SSHJobSubmission& obj) {
-  using apache::thrift::to_string;
+void SSHJobSubmission::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "SSHJobSubmission(";
-  out << "jobSubmissionInterfaceId=" << to_string(obj.jobSubmissionInterfaceId);
-  out << ", " << "securityProtocol=" << to_string(obj.securityProtocol);
-  out << ", " << "resourceJobManager=" << to_string(obj.resourceJobManager);
-  out << ", " << "alternativeSSHHostName="; (obj.__isset.alternativeSSHHostName ? (out << to_string(obj.alternativeSSHHostName)) : (out << "<null>"));
-  out << ", " << "sshPort="; (obj.__isset.sshPort ? (out << to_string(obj.sshPort)) : (out << "<null>"));
-  out << ", " << "monitorMode="; (obj.__isset.monitorMode ? (out << to_string(obj.monitorMode)) : (out << "<null>"));
-  out << ", " << "batchQueueEmailSenders="; (obj.__isset.batchQueueEmailSenders ? (out << to_string(obj.batchQueueEmailSenders)) : (out << "<null>"));
+  out << "jobSubmissionInterfaceId=" << to_string(jobSubmissionInterfaceId);
+  out << ", " << "securityProtocol=" << to_string(securityProtocol);
+  out << ", " << "resourceJobManager=" << to_string(resourceJobManager);
+  out << ", " << "alternativeSSHHostName="; (__isset.alternativeSSHHostName ? (out << to_string(alternativeSSHHostName)) : (out << "<null>"));
+  out << ", " << "sshPort="; (__isset.sshPort ? (out << to_string(sshPort)) : (out << "<null>"));
+  out << ", " << "monitorMode="; (__isset.monitorMode ? (out << to_string(monitorMode)) : (out << "<null>"));
+  out << ", " << "batchQueueEmailSenders="; (__isset.batchQueueEmailSenders ? (out << to_string(batchQueueEmailSenders)) : (out << "<null>"));
   out << ")";
-  return out;
 }
 
 
@@ -980,11 +964,9 @@ void GlobusJobSubmission::__set_globusGateKeeperEndPoint(const std::vector<std::
 __isset.globusGateKeeperEndPoint = true;
 }
 
-const char* GlobusJobSubmission::ascii_fingerprint = "AF422FFD77BB68BA57079B8B33BC8CF7";
-const uint8_t GlobusJobSubmission::binary_fingerprint[16] = {0xAF,0x42,0x2F,0xFD,0x77,0xBB,0x68,0xBA,0x57,0x07,0x9B,0x8B,0x33,0xBC,0x8C,0xF7};
-
 uint32_t GlobusJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -1061,7 +1043,7 @@ uint32_t GlobusJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot)
 
 uint32_t GlobusJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("GlobusJobSubmission");
 
   xfer += oprot->writeFieldBegin("jobSubmissionInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
@@ -1087,7 +1069,6 @@ uint32_t GlobusJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -1112,14 +1093,13 @@ GlobusJobSubmission& GlobusJobSubmission::operator=(const GlobusJobSubmission& o
   __isset = other35.__isset;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const GlobusJobSubmission& obj) {
-  using apache::thrift::to_string;
+void GlobusJobSubmission::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "GlobusJobSubmission(";
-  out << "jobSubmissionInterfaceId=" << to_string(obj.jobSubmissionInterfaceId);
-  out << ", " << "securityProtocol=" << to_string(obj.securityProtocol);
-  out << ", " << "globusGateKeeperEndPoint="; (obj.__isset.globusGateKeeperEndPoint ? (out << to_string(obj.globusGateKeeperEndPoint)) : (out << "<null>"));
+  out << "jobSubmissionInterfaceId=" << to_string(jobSubmissionInterfaceId);
+  out << ", " << "securityProtocol=" << to_string(securityProtocol);
+  out << ", " << "globusGateKeeperEndPoint="; (__isset.globusGateKeeperEndPoint ? (out << to_string(globusGateKeeperEndPoint)) : (out << "<null>"));
   out << ")";
-  return out;
 }
 
 
@@ -1139,11 +1119,9 @@ void UnicoreJobSubmission::__set_unicoreEndPointURL(const std::string& val) {
   this->unicoreEndPointURL = val;
 }
 
-const char* UnicoreJobSubmission::ascii_fingerprint = "D9F4CFE2F293A8B1052FD3031DD2C847";
-const uint8_t UnicoreJobSubmission::binary_fingerprint[16] = {0xD9,0xF4,0xCF,0xE2,0xF2,0x93,0xA8,0xB1,0x05,0x2F,0xD3,0x03,0x1D,0xD2,0xC8,0x47};
-
 uint32_t UnicoreJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -1211,7 +1189,7 @@ uint32_t UnicoreJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot
 
 uint32_t UnicoreJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("UnicoreJobSubmission");
 
   xfer += oprot->writeFieldBegin("jobSubmissionInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
@@ -1228,7 +1206,6 @@ uint32_t UnicoreJobSubmission::write(::apache::thrift::protocol::TProtocol* opro
 
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -1250,14 +1227,13 @@ UnicoreJobSubmission& UnicoreJobSubmission::operator=(const UnicoreJobSubmission
   unicoreEndPointURL = other38.unicoreEndPointURL;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const UnicoreJobSubmission& obj) {
-  using apache::thrift::to_string;
+void UnicoreJobSubmission::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "UnicoreJobSubmission(";
-  out << "jobSubmissionInterfaceId=" << to_string(obj.jobSubmissionInterfaceId);
-  out << ", " << "securityProtocol=" << to_string(obj.securityProtocol);
-  out << ", " << "unicoreEndPointURL=" << to_string(obj.unicoreEndPointURL);
+  out << "jobSubmissionInterfaceId=" << to_string(jobSubmissionInterfaceId);
+  out << ", " << "securityProtocol=" << to_string(securityProtocol);
+  out << ", " << "unicoreEndPointURL=" << to_string(unicoreEndPointURL);
   out << ")";
-  return out;
 }
 
 
@@ -1289,11 +1265,9 @@ void CloudJobSubmission::__set_userAccountName(const std::string& val) {
   this->userAccountName = val;
 }
 
-const char* CloudJobSubmission::ascii_fingerprint = "F98AE2E6E51F2426504F2566EB71B5CC";
-const uint8_t CloudJobSubmission::binary_fingerprint[16] = {0xF9,0x8A,0xE2,0xE6,0xE5,0x1F,0x24,0x26,0x50,0x4F,0x25,0x66,0xEB,0x71,0xB5,0xCC};
-
 uint32_t CloudJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -1396,7 +1370,7 @@ uint32_t CloudJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot)
 
 uint32_t CloudJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("CloudJobSubmission");
 
   xfer += oprot->writeFieldBegin("jobSubmissionInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
@@ -1425,7 +1399,6 @@ uint32_t CloudJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot)
 
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -1456,17 +1429,16 @@ CloudJobSubmission& CloudJobSubmission::operator=(const CloudJobSubmission& othe
   userAccountName = other42.userAccountName;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const CloudJobSubmission& obj) {
-  using apache::thrift::to_string;
+void CloudJobSubmission::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "CloudJobSubmission(";
-  out << "jobSubmissionInterfaceId=" << to_string(obj.jobSubmissionInterfaceId);
-  out << ", " << "securityProtocol=" << to_string(obj.securityProtocol);
-  out << ", " << "nodeId=" << to_string(obj.nodeId);
-  out << ", " << "executableType=" << to_string(obj.executableType);
-  out << ", " << "providerName=" << to_string(obj.providerName);
-  out << ", " << "userAccountName=" << to_string(obj.userAccountName);
+  out << "jobSubmissionInterfaceId=" << to_string(jobSubmissionInterfaceId);
+  out << ", " << "securityProtocol=" << to_string(securityProtocol);
+  out << ", " << "nodeId=" << to_string(nodeId);
+  out << ", " << "executableType=" << to_string(executableType);
+  out << ", " << "providerName=" << to_string(providerName);
+  out << ", " << "userAccountName=" << to_string(userAccountName);
   out << ")";
-  return out;
 }
 
 
@@ -1486,11 +1458,9 @@ void JobSubmissionInterface::__set_priorityOrder(const int32_t val) {
   this->priorityOrder = val;
 }
 
-const char* JobSubmissionInterface::ascii_fingerprint = "A0A4DD7B8243FB842E64EAC6E5DA6C7B";
-const uint8_t JobSubmissionInterface::binary_fingerprint[16] = {0xA0,0xA4,0xDD,0x7B,0x82,0x43,0xFB,0x84,0x2E,0x64,0xEA,0xC6,0xE5,0xDA,0x6C,0x7B};
-
 uint32_t JobSubmissionInterface::read(::apache::thrift::protocol::TProtocol* iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -1558,7 +1528,7 @@ uint32_t JobSubmissionInterface::read(::apache::thrift::protocol::TProtocol* ipr
 
 uint32_t JobSubmissionInterface::write(::apache::thrift::protocol::TProtocol* oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("JobSubmissionInterface");
 
   xfer += oprot->writeFieldBegin("jobSubmissionInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
@@ -1575,7 +1545,6 @@ uint32_t JobSubmissionInterface::write(::apache::thrift::protocol::TProtocol* op
 
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -1597,14 +1566,13 @@ JobSubmissionInterface& JobSubmissionInterface::operator=(const JobSubmissionInt
   priorityOrder = other45.priorityOrder;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const JobSubmissionInterface& obj) {
-  using apache::thrift::to_string;
+void JobSubmissionInterface::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "JobSubmissionInterface(";
-  out << "jobSubmissionInterfaceId=" << to_string(obj.jobSubmissionInterfaceId);
-  out << ", " << "jobSubmissionProtocol=" << to_string(obj.jobSubmissionProtocol);
-  out << ", " << "priorityOrder=" << to_string(obj.priorityOrder);
+  out << "jobSubmissionInterfaceId=" << to_string(jobSubmissionInterfaceId);
+  out << ", " << "jobSubmissionProtocol=" << to_string(jobSubmissionProtocol);
+  out << ", " << "priorityOrder=" << to_string(priorityOrder);
   out << ")";
-  return out;
 }
 
 
@@ -1665,11 +1633,9 @@ void ComputeResourceDescription::__set_maxMemoryPerNode(const int32_t val) {
 __isset.maxMemoryPerNode = true;
 }
 
-const char* ComputeResourceDescription::ascii_fingerprint = "FEBE7045EBC701802205EA9BA436FCE2";
-const uint8_t ComputeResourceDescription::binary_fingerprint[16] = {0xFE,0xBE,0x70,0x45,0xEB,0xC7,0x01,0x80,0x22,0x05,0xEA,0x9B,0xA4,0x36,0xFC,0xE2};
-
 uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol* iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -1873,7 +1839,7 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
 
 uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol* oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("ComputeResourceDescription");
 
   xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
@@ -1980,7 +1946,6 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -2029,22 +1994,21 @@ ComputeResourceDescription& ComputeResourceDescription::operator=(const ComputeR
   __isset = other86.__isset;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const ComputeResourceDescription& obj) {
-  using apache::thrift::to_string;
+void ComputeResourceDescription::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "ComputeResourceDescription(";
-  out << "computeResourceId=" << to_string(obj.computeResourceId);
-  out << ", " << "hostName=" << to_string(obj.hostName);
-  out << ", " << "hostAliases="; (obj.__isset.hostAliases ? (out << to_string(obj.hostAliases)) : (out << "<null>"));
-  out << ", " << "ipAddresses="; (obj.__isset.ipAddresses ? (out << to_string(obj.ipAddresses)) : (out << "<null>"));
-  out << ", " << "resourceDescription="; (obj.__isset.resourceDescription ? (out << to_string(obj.resourceDescription)) : (out << "<null>"));
-  out << ", " << "enabled="; (obj.__isset.enabled ? (out << to_string(obj.enabled)) : (out << "<null>"));
-  out << ", " << "batchQueues="; (obj.__isset.batchQueues ? (out << to_string(obj.batchQueues)) : (out << "<null>"));
-  out << ", " << "fileSystems="; (obj.__isset.fileSystems ? (out << to_string(obj.fileSystems)) : (out << "<null>"));
-  out << ", " << "jobSubmissionInterfaces="; (obj.__isset.jobSubmissionInterfaces ? (out << to_string(obj.jobSubmissionInterfaces)) : (out << "<null>"));
-  out << ", " << "dataMovementInterfaces="; (obj.__isset.dataMovementInterfaces ? (out << to_string(obj.dataMovementInterfaces)) : (out << "<null>"));
-  out << ", " << "maxMemoryPerNode="; (obj.__isset.maxMemoryPerNode ? (out << to_string(obj.maxMemoryPerNode)) : (out << "<null>"));
+  out << "computeResourceId=" << to_string(computeResourceId);
+  out << ", " << "hostName=" << to_string(hostName);
+  out << ", " << "hostAliases="; (__isset.hostAliases ? (out << to_string(hostAliases)) : (out << "<null>"));
+  out << ", " << "ipAddresses="; (__isset.ipAddresses ? (out << to_string(ipAddresses)) : (out << "<null>"));
+  out << ", " << "resourceDescription="; (__isset.resourceDescription ? (out << to_string(resourceDescription)) : (out << "<null>"));
+  out << ", " << "enabled="; (__isset.enabled ? (out << to_string(enabled)) : (out << "<null>"));
+  out << ", " << "batchQueues="; (__isset.batchQueues ? (out << to_string(batchQueues)) : (out << "<null>"));
+  out << ", " << "fileSystems="; (__isset.fileSystems ? (out << to_string(fileSystems)) : (out << "<null>"));
+  out << ", " << "jobSubmissionInterfaces="; (__isset.jobSubmissionInterfaces ? (out << to_string(jobSubmissionInterfaces)) : (out << "<null>"));
+  out << ", " << "dataMovementInterfaces="; (__isset.dataMovementInterfaces ? (out << to_string(dataMovementInterfaces)) : (out << "<null>"));
+  out << ", " << "maxMemoryPerNode="; (__isset.maxMemoryPerNode ? (out << to_string(maxMemoryPerNode)) : (out << "<null>"));
   out << ")";
-  return out;
 }
 
 }}}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/a513dcde/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h
index e6553ac..5457284 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_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
@@ -148,9 +148,6 @@ typedef struct _ResourceJobManager__isset {
 class ResourceJobManager {
  public:
 
-  static const char* ascii_fingerprint; // = "F61CAF80247D0E44C8D52504F3A43BED";
-  static const uint8_t binary_fingerprint[16]; // = {0xF6,0x1C,0xAF,0x80,0x24,0x7D,0x0E,0x44,0xC8,0xD5,0x25,0x04,0xF3,0xA4,0x3B,0xED};
-
   ResourceJobManager(const ResourceJobManager&);
   ResourceJobManager& operator=(const ResourceJobManager&);
   ResourceJobManager() : resourceJobManagerId("DO_NOT_SET_AT_CLIENTS"), resourceJobManagerType((ResourceJobManagerType::type)0), pushMonitoringEndpoint(), jobManagerBinPath() {
@@ -204,11 +201,17 @@ class ResourceJobManager {
   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 ResourceJobManager& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(ResourceJobManager &a, ResourceJobManager &b);
 
+inline std::ostream& operator<<(std::ostream& out, const ResourceJobManager& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _BatchQueue__isset {
   _BatchQueue__isset() : queueDescription(false), maxRunTime(false), maxNodes(false), maxProcessors(false), maxJobsInQueue(false), maxMemory(false) {}
   bool queueDescription :1;
@@ -222,9 +225,6 @@ typedef struct _BatchQueue__isset {
 class BatchQueue {
  public:
 
-  static const char* ascii_fingerprint; // = "ED0A78585E8BA402743AC1D5D510EF9E";
-  static const uint8_t binary_fingerprint[16]; // = {0xED,0x0A,0x78,0x58,0x5E,0x8B,0xA4,0x02,0x74,0x3A,0xC1,0xD5,0xD5,0x10,0xEF,0x9E};
-
   BatchQueue(const BatchQueue&);
   BatchQueue& operator=(const BatchQueue&);
   BatchQueue() : queueName(), queueDescription(), maxRunTime(0), maxNodes(0), maxProcessors(0), maxJobsInQueue(0), maxMemory(0) {
@@ -294,18 +294,21 @@ class BatchQueue {
   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 BatchQueue& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(BatchQueue &a, BatchQueue &b);
 
+inline std::ostream& operator<<(std::ostream& out, const BatchQueue& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class LOCALSubmission {
  public:
 
-  static const char* ascii_fingerprint; // = "9237E82F3C6C8601C7B7AD6A6BBC347C";
-  static const uint8_t binary_fingerprint[16]; // = {0x92,0x37,0xE8,0x2F,0x3C,0x6C,0x86,0x01,0xC7,0xB7,0xAD,0x6A,0x6B,0xBC,0x34,0x7C};
-
   LOCALSubmission(const LOCALSubmission&);
   LOCALSubmission& operator=(const LOCALSubmission&);
   LOCALSubmission() : jobSubmissionInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol(( ::apache::airavata::model::data::movement::SecurityProtocol::type)0) {
@@ -341,11 +344,17 @@ class LOCALSubmission {
   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 LOCALSubmission& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(LOCALSubmission &a, LOCALSubmission &b);
 
+inline std::ostream& operator<<(std::ostream& out, const LOCALSubmission& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _SSHJobSubmission__isset {
   _SSHJobSubmission__isset() : alternativeSSHHostName(false), sshPort(true), monitorMode(false), batchQueueEmailSenders(false) {}
   bool alternativeSSHHostName :1;
@@ -357,9 +366,6 @@ typedef struct _SSHJobSubmission__isset {
 class SSHJobSubmission {
  public:
 
-  static const char* ascii_fingerprint; // = "46172F971809F7ECCCF7AB14291B87C6";
-  static const uint8_t binary_fingerprint[16]; // = {0x46,0x17,0x2F,0x97,0x18,0x09,0xF7,0xEC,0xCC,0xF7,0xAB,0x14,0x29,0x1B,0x87,0xC6};
-
   SSHJobSubmission(const SSHJobSubmission&);
   SSHJobSubmission& operator=(const SSHJobSubmission&);
   SSHJobSubmission() : jobSubmissionInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol(( ::apache::airavata::model::data::movement::SecurityProtocol::type)0), alternativeSSHHostName(), sshPort(22), monitorMode((MonitorMode::type)0) {
@@ -425,11 +431,17 @@ class SSHJobSubmission {
   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 SSHJobSubmission& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(SSHJobSubmission &a, SSHJobSubmission &b);
 
+inline std::ostream& operator<<(std::ostream& out, const SSHJobSubmission& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _GlobusJobSubmission__isset {
   _GlobusJobSubmission__isset() : globusGateKeeperEndPoint(false) {}
   bool globusGateKeeperEndPoint :1;
@@ -438,9 +450,6 @@ typedef struct _GlobusJobSubmission__isset {
 class GlobusJobSubmission {
  public:
 
-  static const char* ascii_fingerprint; // = "AF422FFD77BB68BA57079B8B33BC8CF7";
-  static const uint8_t binary_fingerprint[16]; // = {0xAF,0x42,0x2F,0xFD,0x77,0xBB,0x68,0xBA,0x57,0x07,0x9B,0x8B,0x33,0xBC,0x8C,0xF7};
-
   GlobusJobSubmission(const GlobusJobSubmission&);
   GlobusJobSubmission& operator=(const GlobusJobSubmission&);
   GlobusJobSubmission() : jobSubmissionInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol(( ::apache::airavata::model::data::movement::SecurityProtocol::type)0) {
@@ -480,18 +489,21 @@ class GlobusJobSubmission {
   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 GlobusJobSubmission& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(GlobusJobSubmission &a, GlobusJobSubmission &b);
 
+inline std::ostream& operator<<(std::ostream& out, const GlobusJobSubmission& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class UnicoreJobSubmission {
  public:
 
-  static const char* ascii_fingerprint; // = "D9F4CFE2F293A8B1052FD3031DD2C847";
-  static const uint8_t binary_fingerprint[16]; // = {0xD9,0xF4,0xCF,0xE2,0xF2,0x93,0xA8,0xB1,0x05,0x2F,0xD3,0x03,0x1D,0xD2,0xC8,0x47};
-
   UnicoreJobSubmission(const UnicoreJobSubmission&);
   UnicoreJobSubmission& operator=(const UnicoreJobSubmission&);
   UnicoreJobSubmission() : jobSubmissionInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol(( ::apache::airavata::model::data::movement::SecurityProtocol::type)0), unicoreEndPointURL() {
@@ -527,18 +539,21 @@ class UnicoreJobSubmission {
   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 UnicoreJobSubmission& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(UnicoreJobSubmission &a, UnicoreJobSubmission &b);
 
+inline std::ostream& operator<<(std::ostream& out, const UnicoreJobSubmission& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class CloudJobSubmission {
  public:
 
-  static const char* ascii_fingerprint; // = "F98AE2E6E51F2426504F2566EB71B5CC";
-  static const uint8_t binary_fingerprint[16]; // = {0xF9,0x8A,0xE2,0xE6,0xE5,0x1F,0x24,0x26,0x50,0x4F,0x25,0x66,0xEB,0x71,0xB5,0xCC};
-
   CloudJobSubmission(const CloudJobSubmission&);
   CloudJobSubmission& operator=(const CloudJobSubmission&);
   CloudJobSubmission() : jobSubmissionInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol(( ::apache::airavata::model::data::movement::SecurityProtocol::type)0), nodeId(), executableType(), providerName((ProviderName::type)0), userAccountName() {
@@ -589,18 +604,21 @@ class CloudJobSubmission {
   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 CloudJobSubmission& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(CloudJobSubmission &a, CloudJobSubmission &b);
 
+inline std::ostream& operator<<(std::ostream& out, const CloudJobSubmission& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class JobSubmissionInterface {
  public:
 
-  static const char* ascii_fingerprint; // = "A0A4DD7B8243FB842E64EAC6E5DA6C7B";
-  static const uint8_t binary_fingerprint[16]; // = {0xA0,0xA4,0xDD,0x7B,0x82,0x43,0xFB,0x84,0x2E,0x64,0xEA,0xC6,0xE5,0xDA,0x6C,0x7B};
-
   JobSubmissionInterface(const JobSubmissionInterface&);
   JobSubmissionInterface& operator=(const JobSubmissionInterface&);
   JobSubmissionInterface() : jobSubmissionInterfaceId(), jobSubmissionProtocol((JobSubmissionProtocol::type)0), priorityOrder(0) {
@@ -636,11 +654,17 @@ class JobSubmissionInterface {
   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 JobSubmissionInterface& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(JobSubmissionInterface &a, JobSubmissionInterface &b);
 
+inline std::ostream& operator<<(std::ostream& out, const JobSubmissionInterface& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _ComputeResourceDescription__isset {
   _ComputeResourceDescription__isset() : hostAliases(false), ipAddresses(false), resourceDescription(false), enabled(false), batchQueues(false), fileSystems(false), jobSubmissionInterfaces(false), dataMovementInterfaces(false), maxMemoryPerNode(false) {}
   bool hostAliases :1;
@@ -657,9 +681,6 @@ typedef struct _ComputeResourceDescription__isset {
 class ComputeResourceDescription {
  public:
 
-  static const char* ascii_fingerprint; // = "FEBE7045EBC701802205EA9BA436FCE2";
-  static const uint8_t binary_fingerprint[16]; // = {0xFE,0xBE,0x70,0x45,0xEB,0xC7,0x01,0x80,0x22,0x05,0xEA,0x9B,0xA4,0x36,0xFC,0xE2};
-
   ComputeResourceDescription(const ComputeResourceDescription&);
   ComputeResourceDescription& operator=(const ComputeResourceDescription&);
   ComputeResourceDescription() : computeResourceId("DO_NOT_SET_AT_CLIENTS"), hostName(), resourceDescription(), enabled(0), maxMemoryPerNode(0) {
@@ -755,11 +776,17 @@ class ComputeResourceDescription {
   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 ComputeResourceDescription& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(ComputeResourceDescription &a, ComputeResourceDescription &b);
 
+inline std::ostream& operator<<(std::ostream& out, const ComputeResourceDescription& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 }}}}} // namespace
 
 #endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/a513dcde/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_movement_models_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_movement_models_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_movement_models_constants.cpp
index c564340..c57deca 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_movement_models_constants.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_movement_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/a513dcde/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_movement_models_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_movement_models_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_movement_models_constants.h
index e0402ca..27d5c2d 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_movement_models_constants.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_movement_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/a513dcde/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_movement_models_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_movement_models_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_movement_models_types.cpp
index 8e438f1..ed2a0ba 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_movement_models_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_movement_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
@@ -97,11 +97,9 @@ void SCPDataMovement::__set_sshPort(const int32_t val) {
 __isset.sshPort = true;
 }
 
-const char* SCPDataMovement::ascii_fingerprint = "63CAE6EE336A7DBD91CCCD6E22628F4A";
-const uint8_t SCPDataMovement::binary_fingerprint[16] = {0x63,0xCA,0xE6,0xEE,0x33,0x6A,0x7D,0xBD,0x91,0xCC,0xCD,0x6E,0x22,0x62,0x8F,0x4A};
-
 uint32_t SCPDataMovement::read(::apache::thrift::protocol::TProtocol* iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -174,7 +172,7 @@ uint32_t SCPDataMovement::read(::apache::thrift::protocol::TProtocol* iprot) {
 
 uint32_t SCPDataMovement::write(::apache::thrift::protocol::TProtocol* oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("SCPDataMovement");
 
   xfer += oprot->writeFieldBegin("dataMovementInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
@@ -197,7 +195,6 @@ uint32_t SCPDataMovement::write(::apache::thrift::protocol::TProtocol* oprot) co
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -225,15 +222,14 @@ SCPDataMovement& SCPDataMovement::operator=(const SCPDataMovement& other2) {
   __isset = other2.__isset;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const SCPDataMovement& obj) {
-  using apache::thrift::to_string;
+void SCPDataMovement::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "SCPDataMovement(";
-  out << "dataMovementInterfaceId=" << to_string(obj.dataMovementInterfaceId);
-  out << ", " << "securityProtocol=" << to_string(obj.securityProtocol);
-  out << ", " << "alternativeSCPHostName="; (obj.__isset.alternativeSCPHostName ? (out << to_string(obj.alternativeSCPHostName)) : (out << "<null>"));
-  out << ", " << "sshPort="; (obj.__isset.sshPort ? (out << to_string(obj.sshPort)) : (out << "<null>"));
+  out << "dataMovementInterfaceId=" << to_string(dataMovementInterfaceId);
+  out << ", " << "securityProtocol=" << to_string(securityProtocol);
+  out << ", " << "alternativeSCPHostName="; (__isset.alternativeSCPHostName ? (out << to_string(alternativeSCPHostName)) : (out << "<null>"));
+  out << ", " << "sshPort="; (__isset.sshPort ? (out << to_string(sshPort)) : (out << "<null>"));
   out << ")";
-  return out;
 }
 
 
@@ -253,11 +249,9 @@ void GridFTPDataMovement::__set_gridFTPEndPoints(const std::vector<std::string>
   this->gridFTPEndPoints = val;
 }
 
-const char* GridFTPDataMovement::ascii_fingerprint = "790EE8B1D56A3B9B76C41DD063726E75";
-const uint8_t GridFTPDataMovement::binary_fingerprint[16] = {0x79,0x0E,0xE8,0xB1,0xD5,0x6A,0x3B,0x9B,0x76,0xC4,0x1D,0xD0,0x63,0x72,0x6E,0x75};
-
 uint32_t GridFTPDataMovement::read(::apache::thrift::protocol::TProtocol* iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -337,7 +331,7 @@ uint32_t GridFTPDataMovement::read(::apache::thrift::protocol::TProtocol* iprot)
 
 uint32_t GridFTPDataMovement::write(::apache::thrift::protocol::TProtocol* oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("GridFTPDataMovement");
 
   xfer += oprot->writeFieldBegin("dataMovementInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
@@ -362,7 +356,6 @@ uint32_t GridFTPDataMovement::write(::apache::thrift::protocol::TProtocol* oprot
 
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -384,14 +377,13 @@ GridFTPDataMovement& GridFTPDataMovement::operator=(const GridFTPDataMovement& o
   gridFTPEndPoints = other11.gridFTPEndPoints;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const GridFTPDataMovement& obj) {
-  using apache::thrift::to_string;
+void GridFTPDataMovement::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "GridFTPDataMovement(";
-  out << "dataMovementInterfaceId=" << to_string(obj.dataMovementInterfaceId);
-  out << ", " << "securityProtocol=" << to_string(obj.securityProtocol);
-  out << ", " << "gridFTPEndPoints=" << to_string(obj.gridFTPEndPoints);
+  out << "dataMovementInterfaceId=" << to_string(dataMovementInterfaceId);
+  out << ", " << "securityProtocol=" << to_string(securityProtocol);
+  out << ", " << "gridFTPEndPoints=" << to_string(gridFTPEndPoints);
   out << ")";
-  return out;
 }
 
 
@@ -411,11 +403,9 @@ void UnicoreDataMovement::__set_unicoreEndPointURL(const std::string& val) {
   this->unicoreEndPointURL = val;
 }
 
-const char* UnicoreDataMovement::ascii_fingerprint = "D9F4CFE2F293A8B1052FD3031DD2C847";
-const uint8_t UnicoreDataMovement::binary_fingerprint[16] = {0xD9,0xF4,0xCF,0xE2,0xF2,0x93,0xA8,0xB1,0x05,0x2F,0xD3,0x03,0x1D,0xD2,0xC8,0x47};
-
 uint32_t UnicoreDataMovement::read(::apache::thrift::protocol::TProtocol* iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -483,7 +473,7 @@ uint32_t UnicoreDataMovement::read(::apache::thrift::protocol::TProtocol* iprot)
 
 uint32_t UnicoreDataMovement::write(::apache::thrift::protocol::TProtocol* oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("UnicoreDataMovement");
 
   xfer += oprot->writeFieldBegin("dataMovementInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
@@ -500,7 +490,6 @@ uint32_t UnicoreDataMovement::write(::apache::thrift::protocol::TProtocol* oprot
 
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -522,14 +511,13 @@ UnicoreDataMovement& UnicoreDataMovement::operator=(const UnicoreDataMovement& o
   unicoreEndPointURL = other14.unicoreEndPointURL;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const UnicoreDataMovement& obj) {
-  using apache::thrift::to_string;
+void UnicoreDataMovement::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "UnicoreDataMovement(";
-  out << "dataMovementInterfaceId=" << to_string(obj.dataMovementInterfaceId);
-  out << ", " << "securityProtocol=" << to_string(obj.securityProtocol);
-  out << ", " << "unicoreEndPointURL=" << to_string(obj.unicoreEndPointURL);
+  out << "dataMovementInterfaceId=" << to_string(dataMovementInterfaceId);
+  out << ", " << "securityProtocol=" << to_string(securityProtocol);
+  out << ", " << "unicoreEndPointURL=" << to_string(unicoreEndPointURL);
   out << ")";
-  return out;
 }
 
 
@@ -541,11 +529,9 @@ void LOCALDataMovement::__set_dataMovementInterfaceId(const std::string& val) {
   this->dataMovementInterfaceId = val;
 }
 
-const char* LOCALDataMovement::ascii_fingerprint = "EFB929595D312AC8F305D5A794CFEDA1";
-const uint8_t LOCALDataMovement::binary_fingerprint[16] = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
-
 uint32_t LOCALDataMovement::read(::apache::thrift::protocol::TProtocol* iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -589,7 +575,7 @@ uint32_t LOCALDataMovement::read(::apache::thrift::protocol::TProtocol* iprot) {
 
 uint32_t LOCALDataMovement::write(::apache::thrift::protocol::TProtocol* oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("LOCALDataMovement");
 
   xfer += oprot->writeFieldBegin("dataMovementInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
@@ -598,7 +584,6 @@ uint32_t LOCALDataMovement::write(::apache::thrift::protocol::TProtocol* oprot)
 
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -614,12 +599,11 @@ LOCALDataMovement& LOCALDataMovement::operator=(const LOCALDataMovement& other16
   dataMovementInterfaceId = other16.dataMovementInterfaceId;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const LOCALDataMovement& obj) {
-  using apache::thrift::to_string;
+void LOCALDataMovement::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "LOCALDataMovement(";
-  out << "dataMovementInterfaceId=" << to_string(obj.dataMovementInterfaceId);
+  out << "dataMovementInterfaceId=" << to_string(dataMovementInterfaceId);
   out << ")";
-  return out;
 }
 
 
@@ -639,11 +623,9 @@ void DataMovementInterface::__set_priorityOrder(const int32_t val) {
   this->priorityOrder = val;
 }
 
-const char* DataMovementInterface::ascii_fingerprint = "A0A4DD7B8243FB842E64EAC6E5DA6C7B";
-const uint8_t DataMovementInterface::binary_fingerprint[16] = {0xA0,0xA4,0xDD,0x7B,0x82,0x43,0xFB,0x84,0x2E,0x64,0xEA,0xC6,0xE5,0xDA,0x6C,0x7B};
-
 uint32_t DataMovementInterface::read(::apache::thrift::protocol::TProtocol* iprot) {
 
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
   std::string fname;
   ::apache::thrift::protocol::TType ftype;
@@ -711,7 +693,7 @@ uint32_t DataMovementInterface::read(::apache::thrift::protocol::TProtocol* ipro
 
 uint32_t DataMovementInterface::write(::apache::thrift::protocol::TProtocol* oprot) const {
   uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("DataMovementInterface");
 
   xfer += oprot->writeFieldBegin("dataMovementInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
@@ -728,7 +710,6 @@ uint32_t DataMovementInterface::write(::apache::thrift::protocol::TProtocol* opr
 
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
   return xfer;
 }
 
@@ -750,14 +731,13 @@ DataMovementInterface& DataMovementInterface::operator=(const DataMovementInterf
   priorityOrder = other19.priorityOrder;
   return *this;
 }
-std::ostream& operator<<(std::ostream& out, const DataMovementInterface& obj) {
-  using apache::thrift::to_string;
+void DataMovementInterface::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
   out << "DataMovementInterface(";
-  out << "dataMovementInterfaceId=" << to_string(obj.dataMovementInterfaceId);
-  out << ", " << "dataMovementProtocol=" << to_string(obj.dataMovementProtocol);
-  out << ", " << "priorityOrder=" << to_string(obj.priorityOrder);
+  out << "dataMovementInterfaceId=" << to_string(dataMovementInterfaceId);
+  out << ", " << "dataMovementProtocol=" << to_string(dataMovementProtocol);
+  out << ", " << "priorityOrder=" << to_string(priorityOrder);
   out << ")";
-  return out;
 }
 
 }}}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/a513dcde/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_movement_models_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_movement_models_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_movement_models_types.h
index dd43410..a7c1f0e 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_movement_models_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_movement_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
@@ -90,9 +90,6 @@ typedef struct _SCPDataMovement__isset {
 class SCPDataMovement {
  public:
 
-  static const char* ascii_fingerprint; // = "63CAE6EE336A7DBD91CCCD6E22628F4A";
-  static const uint8_t binary_fingerprint[16]; // = {0x63,0xCA,0xE6,0xEE,0x33,0x6A,0x7D,0xBD,0x91,0xCC,0xCD,0x6E,0x22,0x62,0x8F,0x4A};
-
   SCPDataMovement(const SCPDataMovement&);
   SCPDataMovement& operator=(const SCPDataMovement&);
   SCPDataMovement() : dataMovementInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0), alternativeSCPHostName(), sshPort(22) {
@@ -139,18 +136,21 @@ class SCPDataMovement {
   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 SCPDataMovement& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(SCPDataMovement &a, SCPDataMovement &b);
 
+inline std::ostream& operator<<(std::ostream& out, const SCPDataMovement& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class GridFTPDataMovement {
  public:
 
-  static const char* ascii_fingerprint; // = "790EE8B1D56A3B9B76C41DD063726E75";
-  static const uint8_t binary_fingerprint[16]; // = {0x79,0x0E,0xE8,0xB1,0xD5,0x6A,0x3B,0x9B,0x76,0xC4,0x1D,0xD0,0x63,0x72,0x6E,0x75};
-
   GridFTPDataMovement(const GridFTPDataMovement&);
   GridFTPDataMovement& operator=(const GridFTPDataMovement&);
   GridFTPDataMovement() : dataMovementInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0) {
@@ -186,18 +186,21 @@ class GridFTPDataMovement {
   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 GridFTPDataMovement& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(GridFTPDataMovement &a, GridFTPDataMovement &b);
 
+inline std::ostream& operator<<(std::ostream& out, const GridFTPDataMovement& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class UnicoreDataMovement {
  public:
 
-  static const char* ascii_fingerprint; // = "D9F4CFE2F293A8B1052FD3031DD2C847";
-  static const uint8_t binary_fingerprint[16]; // = {0xD9,0xF4,0xCF,0xE2,0xF2,0x93,0xA8,0xB1,0x05,0x2F,0xD3,0x03,0x1D,0xD2,0xC8,0x47};
-
   UnicoreDataMovement(const UnicoreDataMovement&);
   UnicoreDataMovement& operator=(const UnicoreDataMovement&);
   UnicoreDataMovement() : dataMovementInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0), unicoreEndPointURL() {
@@ -233,18 +236,21 @@ class UnicoreDataMovement {
   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 UnicoreDataMovement& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(UnicoreDataMovement &a, UnicoreDataMovement &b);
 
+inline std::ostream& operator<<(std::ostream& out, const UnicoreDataMovement& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class LOCALDataMovement {
  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};
-
   LOCALDataMovement(const LOCALDataMovement&);
   LOCALDataMovement& operator=(const LOCALDataMovement&);
   LOCALDataMovement() : dataMovementInterfaceId("DO_NOT_SET_AT_CLIENTS") {
@@ -270,18 +276,21 @@ class LOCALDataMovement {
   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 LOCALDataMovement& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(LOCALDataMovement &a, LOCALDataMovement &b);
 
+inline std::ostream& operator<<(std::ostream& out, const LOCALDataMovement& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class DataMovementInterface {
  public:
 
-  static const char* ascii_fingerprint; // = "A0A4DD7B8243FB842E64EAC6E5DA6C7B";
-  static const uint8_t binary_fingerprint[16]; // = {0xA0,0xA4,0xDD,0x7B,0x82,0x43,0xFB,0x84,0x2E,0x64,0xEA,0xC6,0xE5,0xDA,0x6C,0x7B};
-
   DataMovementInterface(const DataMovementInterface&);
   DataMovementInterface& operator=(const DataMovementInterface&);
   DataMovementInterface() : dataMovementInterfaceId(), dataMovementProtocol((DataMovementProtocol::type)0), priorityOrder(0) {
@@ -317,11 +326,17 @@ class DataMovementInterface {
   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 DataMovementInterface& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(DataMovementInterface &a, DataMovementInterface &b);
 
+inline std::ostream& operator<<(std::ostream& out, const DataMovementInterface& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 }}}}} // namespace
 
 #endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/a513dcde/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_constants.cpp
index 313e4e1..41c4fa8 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_constants.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_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/a513dcde/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_constants.h
index bb4f10f..a030acb 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_constants.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_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


Mime
View raw message