airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From scnakand...@apache.org
Subject [07/10] airavata git commit: creating new branch for grouper integration
Date Thu, 07 Jul 2016 15:43:07 GMT
http://git-wip-us.apache.org/repos/asf/airavata/blob/70f85795/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
index dfe3f0d..331023c 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
@@ -2470,6 +2470,19 @@ class AiravataIf {
   virtual void registerReplicaLocation(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::data::replica::DataReplicaLocationModel& replicaLocationModel) = 0;
   virtual void getParentDataProduct( ::apache::airavata::model::data::replica::DataProductModel& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productUri) = 0;
   virtual void getChildDataProducts(std::vector< ::apache::airavata::model::data::replica::DataProductModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productUri) = 0;
+
+  /**
+   * Group Manager and Data Sharing Related API methods
+   * 
+   * 
+   * @param authzToken
+   * @param resourceId
+   * @param resourceType
+   * @param userPermissionList
+   */
+  virtual bool shareResourceWithUsers(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::group::ResourceType::type resourceType, const std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> & userPermissionList) = 0;
+  virtual bool revokeSharingOfResourceFromUsers(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::group::ResourceType::type resourceType, const std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> & userPermissionList) = 0;
+  virtual void getAllAccessibleUsers(std::vector<std::string> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::group::ResourceType::type resourceType, const  ::apache::airavata::model::group::ResourcePermissionType::type permissionType) = 0;
 };
 
 class AiravataIfFactory {
@@ -2968,6 +2981,17 @@ class AiravataNull : virtual public AiravataIf {
   void getChildDataProducts(std::vector< ::apache::airavata::model::data::replica::DataProductModel> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* productUri */) {
     return;
   }
+  bool shareResourceWithUsers(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* resourceId */, const  ::apache::airavata::model::group::ResourceType::type /* resourceType */, const std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> & /* userPermissionList */) {
+    bool _return = false;
+    return _return;
+  }
+  bool revokeSharingOfResourceFromUsers(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* resourceId */, const  ::apache::airavata::model::group::ResourceType::type /* resourceType */, const std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> & /* userPermissionList */) {
+    bool _return = false;
+    return _return;
+  }
+  void getAllAccessibleUsers(std::vector<std::string> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* resourceId */, const  ::apache::airavata::model::group::ResourceType::type /* resourceType */, const  ::apache::airavata::model::group::ResourcePermissionType::type /* permissionType */) {
+    return;
+  }
 };
 
 
@@ -22708,6 +22732,462 @@ class Airavata_getChildDataProducts_presult {
 
 };
 
+typedef struct _Airavata_shareResourceWithUsers_args__isset {
+  _Airavata_shareResourceWithUsers_args__isset() : userPermissionList(false) {}
+  bool userPermissionList :1;
+} _Airavata_shareResourceWithUsers_args__isset;
+
+class Airavata_shareResourceWithUsers_args {
+ public:
+
+  Airavata_shareResourceWithUsers_args(const Airavata_shareResourceWithUsers_args&);
+  Airavata_shareResourceWithUsers_args& operator=(const Airavata_shareResourceWithUsers_args&);
+  Airavata_shareResourceWithUsers_args() : resourceId(), resourceType(( ::apache::airavata::model::group::ResourceType::type)0) {
+  }
+
+  virtual ~Airavata_shareResourceWithUsers_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
+  std::string resourceId;
+   ::apache::airavata::model::group::ResourceType::type resourceType;
+  std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type>  userPermissionList;
+
+  _Airavata_shareResourceWithUsers_args__isset __isset;
+
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
+
+  void __set_resourceId(const std::string& val);
+
+  void __set_resourceType(const  ::apache::airavata::model::group::ResourceType::type val);
+
+  void __set_userPermissionList(const std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> & val);
+
+  bool operator == (const Airavata_shareResourceWithUsers_args & rhs) const
+  {
+    if (!(authzToken == rhs.authzToken))
+      return false;
+    if (!(resourceId == rhs.resourceId))
+      return false;
+    if (!(resourceType == rhs.resourceType))
+      return false;
+    if (!(userPermissionList == rhs.userPermissionList))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_shareResourceWithUsers_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_shareResourceWithUsers_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_shareResourceWithUsers_pargs {
+ public:
+
+
+  virtual ~Airavata_shareResourceWithUsers_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
+  const std::string* resourceId;
+  const  ::apache::airavata::model::group::ResourceType::type* resourceType;
+  const std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> * userPermissionList;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_shareResourceWithUsers_result__isset {
+  _Airavata_shareResourceWithUsers_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_shareResourceWithUsers_result__isset;
+
+class Airavata_shareResourceWithUsers_result {
+ public:
+
+  Airavata_shareResourceWithUsers_result(const Airavata_shareResourceWithUsers_result&);
+  Airavata_shareResourceWithUsers_result& operator=(const Airavata_shareResourceWithUsers_result&);
+  Airavata_shareResourceWithUsers_result() : success(0) {
+  }
+
+  virtual ~Airavata_shareResourceWithUsers_result() throw();
+  bool success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_shareResourceWithUsers_result__isset __isset;
+
+  void __set_success(const bool val);
+
+  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val);
+
+  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val);
+
+  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
+
+  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
+
+  bool operator == (const Airavata_shareResourceWithUsers_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    if (!(ae == rhs.ae))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_shareResourceWithUsers_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_shareResourceWithUsers_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_shareResourceWithUsers_presult__isset {
+  _Airavata_shareResourceWithUsers_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_shareResourceWithUsers_presult__isset;
+
+class Airavata_shareResourceWithUsers_presult {
+ public:
+
+
+  virtual ~Airavata_shareResourceWithUsers_presult() throw();
+  bool* success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_shareResourceWithUsers_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+typedef struct _Airavata_revokeSharingOfResourceFromUsers_args__isset {
+  _Airavata_revokeSharingOfResourceFromUsers_args__isset() : userPermissionList(false) {}
+  bool userPermissionList :1;
+} _Airavata_revokeSharingOfResourceFromUsers_args__isset;
+
+class Airavata_revokeSharingOfResourceFromUsers_args {
+ public:
+
+  Airavata_revokeSharingOfResourceFromUsers_args(const Airavata_revokeSharingOfResourceFromUsers_args&);
+  Airavata_revokeSharingOfResourceFromUsers_args& operator=(const Airavata_revokeSharingOfResourceFromUsers_args&);
+  Airavata_revokeSharingOfResourceFromUsers_args() : resourceId(), resourceType(( ::apache::airavata::model::group::ResourceType::type)0) {
+  }
+
+  virtual ~Airavata_revokeSharingOfResourceFromUsers_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
+  std::string resourceId;
+   ::apache::airavata::model::group::ResourceType::type resourceType;
+  std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type>  userPermissionList;
+
+  _Airavata_revokeSharingOfResourceFromUsers_args__isset __isset;
+
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
+
+  void __set_resourceId(const std::string& val);
+
+  void __set_resourceType(const  ::apache::airavata::model::group::ResourceType::type val);
+
+  void __set_userPermissionList(const std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> & val);
+
+  bool operator == (const Airavata_revokeSharingOfResourceFromUsers_args & rhs) const
+  {
+    if (!(authzToken == rhs.authzToken))
+      return false;
+    if (!(resourceId == rhs.resourceId))
+      return false;
+    if (!(resourceType == rhs.resourceType))
+      return false;
+    if (!(userPermissionList == rhs.userPermissionList))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_revokeSharingOfResourceFromUsers_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_revokeSharingOfResourceFromUsers_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_revokeSharingOfResourceFromUsers_pargs {
+ public:
+
+
+  virtual ~Airavata_revokeSharingOfResourceFromUsers_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
+  const std::string* resourceId;
+  const  ::apache::airavata::model::group::ResourceType::type* resourceType;
+  const std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> * userPermissionList;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_revokeSharingOfResourceFromUsers_result__isset {
+  _Airavata_revokeSharingOfResourceFromUsers_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_revokeSharingOfResourceFromUsers_result__isset;
+
+class Airavata_revokeSharingOfResourceFromUsers_result {
+ public:
+
+  Airavata_revokeSharingOfResourceFromUsers_result(const Airavata_revokeSharingOfResourceFromUsers_result&);
+  Airavata_revokeSharingOfResourceFromUsers_result& operator=(const Airavata_revokeSharingOfResourceFromUsers_result&);
+  Airavata_revokeSharingOfResourceFromUsers_result() : success(0) {
+  }
+
+  virtual ~Airavata_revokeSharingOfResourceFromUsers_result() throw();
+  bool success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_revokeSharingOfResourceFromUsers_result__isset __isset;
+
+  void __set_success(const bool val);
+
+  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val);
+
+  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val);
+
+  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
+
+  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
+
+  bool operator == (const Airavata_revokeSharingOfResourceFromUsers_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    if (!(ae == rhs.ae))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_revokeSharingOfResourceFromUsers_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_revokeSharingOfResourceFromUsers_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_revokeSharingOfResourceFromUsers_presult__isset {
+  _Airavata_revokeSharingOfResourceFromUsers_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_revokeSharingOfResourceFromUsers_presult__isset;
+
+class Airavata_revokeSharingOfResourceFromUsers_presult {
+ public:
+
+
+  virtual ~Airavata_revokeSharingOfResourceFromUsers_presult() throw();
+  bool* success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_revokeSharingOfResourceFromUsers_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_getAllAccessibleUsers_args {
+ public:
+
+  Airavata_getAllAccessibleUsers_args(const Airavata_getAllAccessibleUsers_args&);
+  Airavata_getAllAccessibleUsers_args& operator=(const Airavata_getAllAccessibleUsers_args&);
+  Airavata_getAllAccessibleUsers_args() : resourceId(), resourceType(( ::apache::airavata::model::group::ResourceType::type)0), permissionType(( ::apache::airavata::model::group::ResourcePermissionType::type)0) {
+  }
+
+  virtual ~Airavata_getAllAccessibleUsers_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
+  std::string resourceId;
+   ::apache::airavata::model::group::ResourceType::type resourceType;
+   ::apache::airavata::model::group::ResourcePermissionType::type permissionType;
+
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
+
+  void __set_resourceId(const std::string& val);
+
+  void __set_resourceType(const  ::apache::airavata::model::group::ResourceType::type val);
+
+  void __set_permissionType(const  ::apache::airavata::model::group::ResourcePermissionType::type val);
+
+  bool operator == (const Airavata_getAllAccessibleUsers_args & rhs) const
+  {
+    if (!(authzToken == rhs.authzToken))
+      return false;
+    if (!(resourceId == rhs.resourceId))
+      return false;
+    if (!(resourceType == rhs.resourceType))
+      return false;
+    if (!(permissionType == rhs.permissionType))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getAllAccessibleUsers_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getAllAccessibleUsers_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_getAllAccessibleUsers_pargs {
+ public:
+
+
+  virtual ~Airavata_getAllAccessibleUsers_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
+  const std::string* resourceId;
+  const  ::apache::airavata::model::group::ResourceType::type* resourceType;
+  const  ::apache::airavata::model::group::ResourcePermissionType::type* permissionType;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getAllAccessibleUsers_result__isset {
+  _Airavata_getAllAccessibleUsers_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_getAllAccessibleUsers_result__isset;
+
+class Airavata_getAllAccessibleUsers_result {
+ public:
+
+  Airavata_getAllAccessibleUsers_result(const Airavata_getAllAccessibleUsers_result&);
+  Airavata_getAllAccessibleUsers_result& operator=(const Airavata_getAllAccessibleUsers_result&);
+  Airavata_getAllAccessibleUsers_result() {
+  }
+
+  virtual ~Airavata_getAllAccessibleUsers_result() throw();
+  std::vector<std::string>  success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_getAllAccessibleUsers_result__isset __isset;
+
+  void __set_success(const std::vector<std::string> & val);
+
+  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val);
+
+  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val);
+
+  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
+
+  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
+
+  bool operator == (const Airavata_getAllAccessibleUsers_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    if (!(ae == rhs.ae))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getAllAccessibleUsers_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getAllAccessibleUsers_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getAllAccessibleUsers_presult__isset {
+  _Airavata_getAllAccessibleUsers_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_getAllAccessibleUsers_presult__isset;
+
+class Airavata_getAllAccessibleUsers_presult {
+ public:
+
+
+  virtual ~Airavata_getAllAccessibleUsers_presult() throw();
+  std::vector<std::string> * success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_getAllAccessibleUsers_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
 class AiravataClient : virtual public AiravataIf {
  public:
   AiravataClient(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> prot) {
@@ -23156,6 +23636,15 @@ class AiravataClient : virtual public AiravataIf {
   void getChildDataProducts(std::vector< ::apache::airavata::model::data::replica::DataProductModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productUri);
   void send_getChildDataProducts(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productUri);
   void recv_getChildDataProducts(std::vector< ::apache::airavata::model::data::replica::DataProductModel> & _return);
+  bool shareResourceWithUsers(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::group::ResourceType::type resourceType, const std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> & userPermissionList);
+  void send_shareResourceWithUsers(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::group::ResourceType::type resourceType, const std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> & userPermissionList);
+  bool recv_shareResourceWithUsers();
+  bool revokeSharingOfResourceFromUsers(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::group::ResourceType::type resourceType, const std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> & userPermissionList);
+  void send_revokeSharingOfResourceFromUsers(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::group::ResourceType::type resourceType, const std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> & userPermissionList);
+  bool recv_revokeSharingOfResourceFromUsers();
+  void getAllAccessibleUsers(std::vector<std::string> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::group::ResourceType::type resourceType, const  ::apache::airavata::model::group::ResourcePermissionType::type permissionType);
+  void send_getAllAccessibleUsers(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::group::ResourceType::type resourceType, const  ::apache::airavata::model::group::ResourcePermissionType::type permissionType);
+  void recv_getAllAccessibleUsers(std::vector<std::string> & _return);
  protected:
   boost::shared_ptr< ::apache::thrift::protocol::TProtocol> piprot_;
   boost::shared_ptr< ::apache::thrift::protocol::TProtocol> poprot_;
@@ -23312,6 +23801,9 @@ class AiravataProcessor : public ::apache::thrift::TDispatchProcessor {
   void process_registerReplicaLocation(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_getParentDataProduct(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_getChildDataProducts(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_shareResourceWithUsers(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_revokeSharingOfResourceFromUsers(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_getAllAccessibleUsers(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
  public:
   AiravataProcessor(boost::shared_ptr<AiravataIf> iface) :
     iface_(iface) {
@@ -23456,6 +23948,9 @@ class AiravataProcessor : public ::apache::thrift::TDispatchProcessor {
     processMap_["registerReplicaLocation"] = &AiravataProcessor::process_registerReplicaLocation;
     processMap_["getParentDataProduct"] = &AiravataProcessor::process_getParentDataProduct;
     processMap_["getChildDataProducts"] = &AiravataProcessor::process_getChildDataProducts;
+    processMap_["shareResourceWithUsers"] = &AiravataProcessor::process_shareResourceWithUsers;
+    processMap_["revokeSharingOfResourceFromUsers"] = &AiravataProcessor::process_revokeSharingOfResourceFromUsers;
+    processMap_["getAllAccessibleUsers"] = &AiravataProcessor::process_getAllAccessibleUsers;
   }
 
   virtual ~AiravataProcessor() {}
@@ -24839,6 +25334,34 @@ class AiravataMultiface : virtual public AiravataIf {
     return;
   }
 
+  bool shareResourceWithUsers(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::group::ResourceType::type resourceType, const std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> & userPermissionList) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->shareResourceWithUsers(authzToken, resourceId, resourceType, userPermissionList);
+    }
+    return ifaces_[i]->shareResourceWithUsers(authzToken, resourceId, resourceType, userPermissionList);
+  }
+
+  bool revokeSharingOfResourceFromUsers(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::group::ResourceType::type resourceType, const std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> & userPermissionList) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->revokeSharingOfResourceFromUsers(authzToken, resourceId, resourceType, userPermissionList);
+    }
+    return ifaces_[i]->revokeSharingOfResourceFromUsers(authzToken, resourceId, resourceType, userPermissionList);
+  }
+
+  void getAllAccessibleUsers(std::vector<std::string> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::group::ResourceType::type resourceType, const  ::apache::airavata::model::group::ResourcePermissionType::type permissionType) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->getAllAccessibleUsers(_return, authzToken, resourceId, resourceType, permissionType);
+    }
+    ifaces_[i]->getAllAccessibleUsers(_return, authzToken, resourceId, resourceType, permissionType);
+    return;
+  }
+
 };
 
 // The 'concurrent' client is a thread safe client that correctly handles
@@ -25292,6 +25815,15 @@ class AiravataConcurrentClient : virtual public AiravataIf {
   void getChildDataProducts(std::vector< ::apache::airavata::model::data::replica::DataProductModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productUri);
   int32_t send_getChildDataProducts(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productUri);
   void recv_getChildDataProducts(std::vector< ::apache::airavata::model::data::replica::DataProductModel> & _return, const int32_t seqid);
+  bool shareResourceWithUsers(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::group::ResourceType::type resourceType, const std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> & userPermissionList);
+  int32_t send_shareResourceWithUsers(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::group::ResourceType::type resourceType, const std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> & userPermissionList);
+  bool recv_shareResourceWithUsers(const int32_t seqid);
+  bool revokeSharingOfResourceFromUsers(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::group::ResourceType::type resourceType, const std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> & userPermissionList);
+  int32_t send_revokeSharingOfResourceFromUsers(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::group::ResourceType::type resourceType, const std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> & userPermissionList);
+  bool recv_revokeSharingOfResourceFromUsers(const int32_t seqid);
+  void getAllAccessibleUsers(std::vector<std::string> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::group::ResourceType::type resourceType, const  ::apache::airavata::model::group::ResourcePermissionType::type permissionType);
+  int32_t send_getAllAccessibleUsers(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::group::ResourceType::type resourceType, const  ::apache::airavata::model::group::ResourcePermissionType::type permissionType);
+  void recv_getAllAccessibleUsers(std::vector<std::string> & _return, const int32_t seqid);
  protected:
   boost::shared_ptr< ::apache::thrift::protocol::TProtocol> piprot_;
   boost::shared_ptr< ::apache::thrift::protocol::TProtocol> poprot_;

http://git-wip-us.apache.org/repos/asf/airavata/blob/70f85795/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
index 66d0df9..27ae3ec 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
@@ -2915,6 +2915,30 @@ class AiravataHandler : virtual public AiravataIf {
     printf("getChildDataProducts\n");
   }
 
+  /**
+   * Group Manager and Data Sharing Related API methods
+   * 
+   * 
+   * @param authzToken
+   * @param resourceId
+   * @param resourceType
+   * @param userPermissionList
+   */
+  bool shareResourceWithUsers(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::group::ResourceType::type resourceType, const std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> & userPermissionList) {
+    // Your implementation goes here
+    printf("shareResourceWithUsers\n");
+  }
+
+  bool revokeSharingOfResourceFromUsers(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::group::ResourceType::type resourceType, const std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> & userPermissionList) {
+    // Your implementation goes here
+    printf("revokeSharingOfResourceFromUsers\n");
+  }
+
+  void getAllAccessibleUsers(std::vector<std::string> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::group::ResourceType::type resourceType, const  ::apache::airavata::model::group::ResourcePermissionType::type permissionType) {
+    // Your implementation goes here
+    printf("getAllAccessibleUsers\n");
+  }
+
 };
 
 int main(int argc, char **argv) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/70f85795/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 5d059c5..49452a0 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
@@ -49,6 +49,7 @@
 #include "data_movement_models_types.h"
 #include "workflow_data_model_types.h"
 #include "replica_catalog_models_types.h"
+#include "group_manager_model_types.h"
 
 
 namespace apache { namespace airavata { namespace api {

http://git-wip-us.apache.org/repos/asf/airavata/blob/70f85795/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 9deb875..002a06b 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
@@ -46,6 +46,7 @@
 #include "data_movement_models_types.h"
 #include "replica_catalog_models_types.h"
 #include "user_profile_model_types.h"
+#include "group_manager_model_types.h"
 
 
 namespace apache { namespace airavata { namespace model {

http://git-wip-us.apache.org/repos/asf/airavata/blob/70f85795/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.cpp
index 2229493..6133d36 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.cpp
@@ -166,6 +166,10 @@ void Project::__set_owner(const std::string& val) {
   this->owner = val;
 }
 
+void Project::__set_gatewayId(const std::string& val) {
+  this->gatewayId = val;
+}
+
 void Project::__set_name(const std::string& val) {
   this->name = val;
 }
@@ -204,6 +208,7 @@ uint32_t Project::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   bool isset_projectID = false;
   bool isset_owner = false;
+  bool isset_gatewayId = false;
   bool isset_name = false;
 
   while (true)
@@ -232,13 +237,21 @@ uint32_t Project::read(::apache::thrift::protocol::TProtocol* iprot) {
         break;
       case 3:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->name);
           isset_name = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 4:
+      case 5:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->description);
           this->__isset.description = true;
@@ -246,7 +259,7 @@ uint32_t Project::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 5:
+      case 6:
         if (ftype == ::apache::thrift::protocol::T_I64) {
           xfer += iprot->readI64(this->creationTime);
           this->__isset.creationTime = true;
@@ -254,7 +267,7 @@ uint32_t Project::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 6:
+      case 7:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->sharedUsers.clear();
@@ -274,7 +287,7 @@ uint32_t Project::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 7:
+      case 8:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->sharedGroups.clear();
@@ -307,6 +320,8 @@ uint32_t Project::read(::apache::thrift::protocol::TProtocol* iprot) {
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_owner)
     throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_name)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
@@ -325,22 +340,26 @@ uint32_t Project::write(::apache::thrift::protocol::TProtocol* oprot) const {
   xfer += oprot->writeString(this->owner);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 4);
   xfer += oprot->writeString(this->name);
   xfer += oprot->writeFieldEnd();
 
   if (this->__isset.description) {
-    xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 4);
+    xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 5);
     xfer += oprot->writeString(this->description);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.creationTime) {
-    xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 5);
+    xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 6);
     xfer += oprot->writeI64(this->creationTime);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.sharedUsers) {
-    xfer += oprot->writeFieldBegin("sharedUsers", ::apache::thrift::protocol::T_LIST, 6);
+    xfer += oprot->writeFieldBegin("sharedUsers", ::apache::thrift::protocol::T_LIST, 7);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->sharedUsers.size()));
       std::vector<std::string> ::const_iterator _iter12;
@@ -353,7 +372,7 @@ uint32_t Project::write(::apache::thrift::protocol::TProtocol* oprot) const {
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.sharedGroups) {
-    xfer += oprot->writeFieldBegin("sharedGroups", ::apache::thrift::protocol::T_LIST, 7);
+    xfer += oprot->writeFieldBegin("sharedGroups", ::apache::thrift::protocol::T_LIST, 8);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->sharedGroups.size()));
       std::vector<std::string> ::const_iterator _iter13;
@@ -374,6 +393,7 @@ void swap(Project &a, Project &b) {
   using ::std::swap;
   swap(a.projectID, b.projectID);
   swap(a.owner, b.owner);
+  swap(a.gatewayId, b.gatewayId);
   swap(a.name, b.name);
   swap(a.description, b.description);
   swap(a.creationTime, b.creationTime);
@@ -385,6 +405,7 @@ void swap(Project &a, Project &b) {
 Project::Project(const Project& other14) {
   projectID = other14.projectID;
   owner = other14.owner;
+  gatewayId = other14.gatewayId;
   name = other14.name;
   description = other14.description;
   creationTime = other14.creationTime;
@@ -395,6 +416,7 @@ Project::Project(const Project& other14) {
 Project& Project::operator=(const Project& other15) {
   projectID = other15.projectID;
   owner = other15.owner;
+  gatewayId = other15.gatewayId;
   name = other15.name;
   description = other15.description;
   creationTime = other15.creationTime;
@@ -408,6 +430,7 @@ void Project::printTo(std::ostream& out) const {
   out << "Project(";
   out << "projectID=" << to_string(projectID);
   out << ", " << "owner=" << to_string(owner);
+  out << ", " << "gatewayId=" << to_string(gatewayId);
   out << ", " << "name=" << to_string(name);
   out << ", " << "description="; (__isset.description ? (out << to_string(description)) : (out << "<null>"));
   out << ", " << "creationTime="; (__isset.creationTime ? (out << to_string(creationTime)) : (out << "<null>"));
@@ -421,13 +444,32 @@ User::~User() throw() {
 }
 
 
+void User::__set_airavataInternalUserId(const std::string& val) {
+  this->airavataInternalUserId = val;
+}
+
 void User::__set_userName(const std::string& val) {
   this->userName = val;
+__isset.userName = true;
 }
 
-void User::__set_groupList(const std::vector<Group> & val) {
-  this->groupList = val;
-__isset.groupList = true;
+void User::__set_gatewayId(const std::string& val) {
+  this->gatewayId = val;
+}
+
+void User::__set_firstName(const std::string& val) {
+  this->firstName = val;
+__isset.firstName = true;
+}
+
+void User::__set_lastName(const std::string& val) {
+  this->lastName = val;
+__isset.lastName = true;
+}
+
+void User::__set_email(const std::string& val) {
+  this->email = val;
+__isset.email = true;
 }
 
 uint32_t User::read(::apache::thrift::protocol::TProtocol* iprot) {
@@ -442,7 +484,8 @@ uint32_t User::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   using ::apache::thrift::protocol::TProtocolException;
 
-  bool isset_userName = false;
+  bool isset_airavataInternalUserId = false;
+  bool isset_gatewayId = false;
 
   while (true)
   {
@@ -454,28 +497,48 @@ uint32_t User::read(::apache::thrift::protocol::TProtocol* iprot) {
     {
       case 1:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->userName);
-          isset_userName = true;
+          xfer += iprot->readString(this->airavataInternalUserId);
+          isset_airavataInternalUserId = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 2:
-        if (ftype == ::apache::thrift::protocol::T_LIST) {
-          {
-            this->groupList.clear();
-            uint32_t _size16;
-            ::apache::thrift::protocol::TType _etype19;
-            xfer += iprot->readListBegin(_etype19, _size16);
-            this->groupList.resize(_size16);
-            uint32_t _i20;
-            for (_i20 = 0; _i20 < _size16; ++_i20)
-            {
-              xfer += this->groupList[_i20].read(iprot);
-            }
-            xfer += iprot->readListEnd();
-          }
-          this->__isset.groupList = true;
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->userName);
+          this->__isset.userName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->firstName);
+          this->__isset.firstName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->lastName);
+          this->__isset.lastName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->email);
+          this->__isset.email = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -489,7 +552,9 @@ uint32_t User::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   xfer += iprot->readStructEnd();
 
-  if (!isset_userName)
+  if (!isset_airavataInternalUserId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_gatewayId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
 }
@@ -499,21 +564,32 @@ uint32_t User::write(::apache::thrift::protocol::TProtocol* oprot) const {
   apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("User");
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString(this->userName);
+  xfer += oprot->writeFieldBegin("airavataInternalUserId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->airavataInternalUserId);
   xfer += oprot->writeFieldEnd();
 
-  if (this->__isset.groupList) {
-    xfer += oprot->writeFieldBegin("groupList", ::apache::thrift::protocol::T_LIST, 2);
-    {
-      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->groupList.size()));
-      std::vector<Group> ::const_iterator _iter21;
-      for (_iter21 = this->groupList.begin(); _iter21 != this->groupList.end(); ++_iter21)
-      {
-        xfer += (*_iter21).write(oprot);
-      }
-      xfer += oprot->writeListEnd();
-    }
+  if (this->__isset.userName) {
+    xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
+    xfer += oprot->writeString(this->userName);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.firstName) {
+    xfer += oprot->writeFieldBegin("firstName", ::apache::thrift::protocol::T_STRING, 4);
+    xfer += oprot->writeString(this->firstName);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.lastName) {
+    xfer += oprot->writeFieldBegin("lastName", ::apache::thrift::protocol::T_STRING, 5);
+    xfer += oprot->writeString(this->lastName);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.email) {
+    xfer += oprot->writeFieldBegin("email", ::apache::thrift::protocol::T_STRING, 6);
+    xfer += oprot->writeString(this->email);
     xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
@@ -523,27 +599,43 @@ uint32_t User::write(::apache::thrift::protocol::TProtocol* oprot) const {
 
 void swap(User &a, User &b) {
   using ::std::swap;
+  swap(a.airavataInternalUserId, b.airavataInternalUserId);
   swap(a.userName, b.userName);
-  swap(a.groupList, b.groupList);
+  swap(a.gatewayId, b.gatewayId);
+  swap(a.firstName, b.firstName);
+  swap(a.lastName, b.lastName);
+  swap(a.email, b.email);
   swap(a.__isset, b.__isset);
 }
 
-User::User(const User& other22) {
-  userName = other22.userName;
-  groupList = other22.groupList;
-  __isset = other22.__isset;
+User::User(const User& other16) {
+  airavataInternalUserId = other16.airavataInternalUserId;
+  userName = other16.userName;
+  gatewayId = other16.gatewayId;
+  firstName = other16.firstName;
+  lastName = other16.lastName;
+  email = other16.email;
+  __isset = other16.__isset;
 }
-User& User::operator=(const User& other23) {
-  userName = other23.userName;
-  groupList = other23.groupList;
-  __isset = other23.__isset;
+User& User::operator=(const User& other17) {
+  airavataInternalUserId = other17.airavataInternalUserId;
+  userName = other17.userName;
+  gatewayId = other17.gatewayId;
+  firstName = other17.firstName;
+  lastName = other17.lastName;
+  email = other17.email;
+  __isset = other17.__isset;
   return *this;
 }
 void User::printTo(std::ostream& out) const {
   using ::apache::thrift::to_string;
   out << "User(";
-  out << "userName=" << to_string(userName);
-  out << ", " << "groupList="; (__isset.groupList ? (out << to_string(groupList)) : (out << "<null>"));
+  out << "airavataInternalUserId=" << to_string(airavataInternalUserId);
+  out << ", " << "userName="; (__isset.userName ? (out << to_string(userName)) : (out << "<null>"));
+  out << ", " << "gatewayId=" << to_string(gatewayId);
+  out << ", " << "firstName="; (__isset.firstName ? (out << to_string(firstName)) : (out << "<null>"));
+  out << ", " << "lastName="; (__isset.lastName ? (out << to_string(lastName)) : (out << "<null>"));
+  out << ", " << "email="; (__isset.email ? (out << to_string(email)) : (out << "<null>"));
   out << ")";
 }
 
@@ -677,19 +769,19 @@ void swap(Gateway &a, Gateway &b) {
   swap(a.__isset, b.__isset);
 }
 
-Gateway::Gateway(const Gateway& other24) {
-  gatewayId = other24.gatewayId;
-  gatewayName = other24.gatewayName;
-  domain = other24.domain;
-  emailAddress = other24.emailAddress;
-  __isset = other24.__isset;
+Gateway::Gateway(const Gateway& other18) {
+  gatewayId = other18.gatewayId;
+  gatewayName = other18.gatewayName;
+  domain = other18.domain;
+  emailAddress = other18.emailAddress;
+  __isset = other18.__isset;
 }
-Gateway& Gateway::operator=(const Gateway& other25) {
-  gatewayId = other25.gatewayId;
-  gatewayName = other25.gatewayName;
-  domain = other25.domain;
-  emailAddress = other25.emailAddress;
-  __isset = other25.__isset;
+Gateway& Gateway::operator=(const Gateway& other19) {
+  gatewayId = other19.gatewayId;
+  gatewayName = other19.gatewayName;
+  domain = other19.domain;
+  emailAddress = other19.emailAddress;
+  __isset = other19.__isset;
   return *this;
 }
 void Gateway::printTo(std::ostream& out) const {
@@ -826,9 +918,9 @@ uint32_t Notification::read(::apache::thrift::protocol::TProtocol* iprot) {
         break;
       case 8:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast26;
-          xfer += iprot->readI32(ecast26);
-          this->priority = (NotificationPriority::type)ecast26;
+          int32_t ecast20;
+          xfer += iprot->readI32(ecast20);
+          this->priority = (NotificationPriority::type)ecast20;
           this->__isset.priority = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -912,27 +1004,27 @@ void swap(Notification &a, Notification &b) {
   swap(a.__isset, b.__isset);
 }
 
-Notification::Notification(const Notification& other27) {
-  notificationId = other27.notificationId;
-  gatewayId = other27.gatewayId;
-  title = other27.title;
-  notificationMessage = other27.notificationMessage;
-  creationTime = other27.creationTime;
-  publishedTime = other27.publishedTime;
-  expirationTime = other27.expirationTime;
-  priority = other27.priority;
-  __isset = other27.__isset;
-}
-Notification& Notification::operator=(const Notification& other28) {
-  notificationId = other28.notificationId;
-  gatewayId = other28.gatewayId;
-  title = other28.title;
-  notificationMessage = other28.notificationMessage;
-  creationTime = other28.creationTime;
-  publishedTime = other28.publishedTime;
-  expirationTime = other28.expirationTime;
-  priority = other28.priority;
-  __isset = other28.__isset;
+Notification::Notification(const Notification& other21) {
+  notificationId = other21.notificationId;
+  gatewayId = other21.gatewayId;
+  title = other21.title;
+  notificationMessage = other21.notificationMessage;
+  creationTime = other21.creationTime;
+  publishedTime = other21.publishedTime;
+  expirationTime = other21.expirationTime;
+  priority = other21.priority;
+  __isset = other21.__isset;
+}
+Notification& Notification::operator=(const Notification& other22) {
+  notificationId = other22.notificationId;
+  gatewayId = other22.gatewayId;
+  title = other22.title;
+  notificationMessage = other22.notificationMessage;
+  creationTime = other22.creationTime;
+  publishedTime = other22.publishedTime;
+  expirationTime = other22.expirationTime;
+  priority = other22.priority;
+  __isset = other22.__isset;
   return *this;
 }
 void Notification::printTo(std::ostream& out) const {

http://git-wip-us.apache.org/repos/asf/airavata/blob/70f85795/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.h
index 7502186..ab91afd 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.h
@@ -123,12 +123,13 @@ class Project {
 
   Project(const Project&);
   Project& operator=(const Project&);
-  Project() : projectID("DO_NOT_SET_AT_CLIENTS"), owner(), name(), description(), creationTime(0) {
+  Project() : projectID("DO_NOT_SET_AT_CLIENTS"), owner(), gatewayId(), name(), description(), creationTime(0) {
   }
 
   virtual ~Project() throw();
   std::string projectID;
   std::string owner;
+  std::string gatewayId;
   std::string name;
   std::string description;
   int64_t creationTime;
@@ -141,6 +142,8 @@ class Project {
 
   void __set_owner(const std::string& val);
 
+  void __set_gatewayId(const std::string& val);
+
   void __set_name(const std::string& val);
 
   void __set_description(const std::string& val);
@@ -157,6 +160,8 @@ class Project {
       return false;
     if (!(owner == rhs.owner))
       return false;
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
     if (!(name == rhs.name))
       return false;
     if (__isset.description != rhs.__isset.description)
@@ -198,8 +203,11 @@ inline std::ostream& operator<<(std::ostream& out, const Project& obj)
 }
 
 typedef struct _User__isset {
-  _User__isset() : groupList(false) {}
-  bool groupList :1;
+  _User__isset() : userName(false), firstName(false), lastName(false), email(false) {}
+  bool userName :1;
+  bool firstName :1;
+  bool lastName :1;
+  bool email :1;
 } _User__isset;
 
 class User {
@@ -207,26 +215,52 @@ class User {
 
   User(const User&);
   User& operator=(const User&);
-  User() : userName() {
+  User() : airavataInternalUserId("DO_NOT_SET_AT_CLIENTS"), userName(), gatewayId(), firstName(), lastName(), email() {
   }
 
   virtual ~User() throw();
+  std::string airavataInternalUserId;
   std::string userName;
-  std::vector<Group>  groupList;
+  std::string gatewayId;
+  std::string firstName;
+  std::string lastName;
+  std::string email;
 
   _User__isset __isset;
 
+  void __set_airavataInternalUserId(const std::string& val);
+
   void __set_userName(const std::string& val);
 
-  void __set_groupList(const std::vector<Group> & val);
+  void __set_gatewayId(const std::string& val);
+
+  void __set_firstName(const std::string& val);
+
+  void __set_lastName(const std::string& val);
+
+  void __set_email(const std::string& val);
 
   bool operator == (const User & rhs) const
   {
-    if (!(userName == rhs.userName))
+    if (!(airavataInternalUserId == rhs.airavataInternalUserId))
+      return false;
+    if (__isset.userName != rhs.__isset.userName)
+      return false;
+    else if (__isset.userName && !(userName == rhs.userName))
+      return false;
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    if (__isset.firstName != rhs.__isset.firstName)
+      return false;
+    else if (__isset.firstName && !(firstName == rhs.firstName))
+      return false;
+    if (__isset.lastName != rhs.__isset.lastName)
+      return false;
+    else if (__isset.lastName && !(lastName == rhs.lastName))
       return false;
-    if (__isset.groupList != rhs.__isset.groupList)
+    if (__isset.email != rhs.__isset.email)
       return false;
-    else if (__isset.groupList && !(groupList == rhs.groupList))
+    else if (__isset.email && !(email == rhs.email))
       return false;
     return true;
   }


Mime
View raw message