You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2017/08/04 20:13:00 UTC

[3/4] airavata-php-gateway git commit: AIRAVATA-2505 Upgrade Airavata to Thrift 0.10.0

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/135abc69/app/libraries/Airavata/API/Sharing/SharingRegistryService.php
----------------------------------------------------------------------
diff --git a/app/libraries/Airavata/API/Sharing/SharingRegistryService.php b/app/libraries/Airavata/API/Sharing/SharingRegistryService.php
new file mode 100644
index 0000000..e20d2a7
--- /dev/null
+++ b/app/libraries/Airavata/API/Sharing/SharingRegistryService.php
@@ -0,0 +1,14248 @@
+<?php
+namespace Airavata\API\Sharing;
+/**
+ * Autogenerated by Thrift Compiler (0.10.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+use Thrift\Base\TBase;
+use Thrift\Type\TType;
+use Thrift\Type\TMessageType;
+use Thrift\Exception\TException;
+use Thrift\Exception\TProtocolException;
+use Thrift\Protocol\TProtocol;
+use Thrift\Protocol\TBinaryProtocolAccelerated;
+use Thrift\Exception\TApplicationException;
+
+
+interface SharingRegistryServiceIf {
+  /**
+   * <p>API method to create a new domain</p>
+   * 
+   * @param \Airavata\Model\Sharing\Domain $domain
+   * @return string
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   * @throws \Airavata\Model\Sharing\DuplicateEntryException
+   */
+  public function createDomain(\Airavata\Model\Sharing\Domain $domain);
+  /**
+   * <p>API method to update a domain</p>
+   * 
+   * @param \Airavata\Model\Sharing\Domain $domain
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function updateDomain(\Airavata\Model\Sharing\Domain $domain);
+  /**
+   * <p>API method to check Domain Exists</p>
+   * 
+   * @param string $domainId
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function isDomainExists($domainId);
+  /**
+   * <p>API method to delete domain</p>
+   * 
+   * @param string $domainId
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function deleteDomain($domainId);
+  /**
+   * <p>API method to retrieve a domain</p>
+   * 
+   * @param string $domainId
+   * @return \Airavata\Model\Sharing\Domain <p>Domain is the entity that enables multi-tenency in this componenet. Every tenant will be
+   * operating separately it's own silo which is identified by the domain id. In the current implementation domain id
+   * will be same as the domain name</p>
+   * <li>domainId : Will be generated by the server based on the domain name</li>
+   * <li><b>name</b> : A single word name that identifies the domain e.g seagrid, ultrascan</li>
+   * <li>description : A short description for the domain</li>
+   * <li>createdTime : Will be set by the system</li>
+   * <li>updatedTime : Will be set by the system</li>
+   * 
+   * 
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function getDomain($domainId);
+  /**
+   * <p>API method to get all domain.</p>
+   * 
+   * @param int $offset
+   * @param int $limit
+   * @return \Airavata\Model\Sharing\Domain[]
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function getDomains($offset, $limit);
+  /**
+   * <p>API method to register a user in the system</p>
+   * 
+   * @param \Airavata\Model\Sharing\User $user
+   * @return string
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   * @throws \Airavata\Model\Sharing\DuplicateEntryException
+   */
+  public function createUser(\Airavata\Model\Sharing\User $user);
+  /**
+   * <p>API method to update existing user</p>
+   * 
+   * @param \Airavata\Model\Sharing\User $user
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function updatedUser(\Airavata\Model\Sharing\User $user);
+  /**
+   * <p>API method to check User Exists</p>
+   * 
+   * @param string $domainId
+   * @param string $userId
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function isUserExists($domainId, $userId);
+  /**
+   * <p>API method to delete user</p>
+   * 
+   * @param string $domainId
+   * @param string $userId
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function deleteUser($domainId, $userId);
+  /**
+   * <p>API method to get a user</p>
+   * 
+   * @param string $domainId
+   * @param string $userId
+   * @return \Airavata\Model\Sharing\User <p>User is the model used to register a user in the system. Minimal user information will be required to provide
+   * regarding the user.</p>
+   * <li><b>userId</b> : User id provided by the client</li>
+   * <li><b>domainId</b> : Domain id for that user</li>
+   * <li><b>userName</b> : User name for the user</li>
+   * <li><b>firstName</b> : First name of the user</li>
+   * <li><b>lastName</b> : Last name of the user</li>
+   * <li><b>email</b> : Email address of the user</li>
+   * <li>icon : A binary field for storing the user icon</li>
+   * <li>createdTime : If client provides this value then the system will use it if not the current time will be set</li>
+   * <li>updatedTime : If client provides this value then the system will use it if not the current time will be set</li>
+   * 
+   * 
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function getUser($domainId, $userId);
+  /**
+   * <p>API method to get a list of users in a specific domain.</p>
+   * <li>domainId : Domain id</li>
+   * <li>offset : Starting result number</li>
+   * <li>limit : Number of max results to be sent</li>
+   * 
+   * @param string $domainId
+   * @param int $offset
+   * @param int $limit
+   * @return \Airavata\Model\Sharing\User[]
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function getUsers($domainId, $offset, $limit);
+  /**
+   * <p>API method to create a new group</p>
+   * 
+   * @param \Airavata\Model\Sharing\UserGroup $group
+   * @return string
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function createGroup(\Airavata\Model\Sharing\UserGroup $group);
+  /**
+   * <p>API method to update a group</p>
+   * 
+   * @param \Airavata\Model\Sharing\UserGroup $group
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function updateGroup(\Airavata\Model\Sharing\UserGroup $group);
+  /**
+   * <p>API method to check Group Exists</p>
+   * 
+   * @param string $domainId
+   * @param string $groupId
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function isGroupExists($domainId, $groupId);
+  /**
+   * <p>API method to delete a group</p>
+   * 
+   * @param string $domainId
+   * @param string $groupId
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function deleteGroup($domainId, $groupId);
+  /**
+   * <p>API method to get a group</p>
+   * 
+   * @param string $domainId
+   * @param string $groupId
+   * @return \Airavata\Model\Sharing\UserGroup <p>User group is a collection of users.</p>
+   *  <li><b>groupId</b> : Group id provided by the client</li>
+   *  <li><b>domainId</b> : Domain id for this user group</li>
+   *  <li><b>name</b> : Name for the user group. should be one word</li>
+   *  <li>description : Short description for the group.</li>
+   *  <li><b>ownerId</b> : Owner id of this group.</li>
+   *  <li><b>groupType</b> : Group type (DOMAIN_LEVEL_GROUP, USER_LEVEL_GROUP)</li>
+   *  <li><b>groupCardinality</b> : Group cardinality (SINGLE_USER, MULTI_USER)</li>
+   *  <li>createdTime : Will be set by the system</li>
+   *  <li>updatedTime : Will be set by the system</li>
+   *  
+   * 
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function getGroup($domainId, $groupId);
+  /**
+   * <p>API method to get groups in a domainId.</p>
+   * 
+   * @param string $domainId
+   * @param int $offset
+   * @param int $limit
+   * @return \Airavata\Model\Sharing\UserGroup[]
+   */
+  public function getGroups($domainId, $offset, $limit);
+  /**
+   * <p>API method to add list of users to a group</p>
+   * 
+   * @param string $domainId
+   * @param string[] $userIds
+   * @param string $groupId
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function addUsersToGroup($domainId, array $userIds, $groupId);
+  /**
+   * <p>API method to remove users from a group</p>
+   * 
+   * @param string $domainId
+   * @param string[] $userIds
+   * @param string $groupId
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function removeUsersFromGroup($domainId, array $userIds, $groupId);
+  /**
+   * <p>API method to get list of child users in a group. Only the direct members will be returned.</p>
+   * 
+   * @param string $domainId
+   * @param string $groupId
+   * @param int $offset
+   * @param int $limit
+   * @return \Airavata\Model\Sharing\User[]
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function getGroupMembersOfTypeUser($domainId, $groupId, $offset, $limit);
+  /**
+   * <p>API method to get list of child groups in a group. Only the direct members will be returned.</p>
+   * 
+   * @param string $domainId
+   * @param string $groupId
+   * @param int $offset
+   * @param int $limit
+   * @return \Airavata\Model\Sharing\UserGroup[]
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function getGroupMembersOfTypeGroup($domainId, $groupId, $offset, $limit);
+  /**
+   * <p>API method to add a child group to a parent group.</p>
+   * 
+   * @param string $domainId
+   * @param string[] $childIds
+   * @param string $groupId
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function addChildGroupsToParentGroup($domainId, array $childIds, $groupId);
+  /**
+   * <p>API method to remove a child group from parent group.</p>
+   * 
+   * @param string $domainId
+   * @param string $childId
+   * @param string $groupId
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function removeChildGroupFromParentGroup($domainId, $childId, $groupId);
+  /**
+   * @param string $domainId
+   * @param string $userId
+   * @return \Airavata\Model\Sharing\UserGroup[]
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function getAllMemberGroupsForUser($domainId, $userId);
+  /**
+   * <p>API method to create a new entity type</p>
+   * 
+   * @param \Airavata\Model\Sharing\EntityType $entityType
+   * @return string
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   * @throws \Airavata\Model\Sharing\DuplicateEntryException
+   */
+  public function createEntityType(\Airavata\Model\Sharing\EntityType $entityType);
+  /**
+   * <p>API method to update entity type</p>
+   * 
+   * @param \Airavata\Model\Sharing\EntityType $entityType
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function updateEntityType(\Airavata\Model\Sharing\EntityType $entityType);
+  /**
+   * <p>API method to check EntityType Exists</p>
+   * 
+   * @param string $domainId
+   * @param string $entityTypeId
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function isEntityTypeExists($domainId, $entityTypeId);
+  /**
+   * <p>API method to delete entity type</p>
+   * 
+   * @param string $domainId
+   * @param string $entityTypeId
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function deleteEntityType($domainId, $entityTypeId);
+  /**
+   * <p>API method to get an entity type</p>
+   * 
+   * @param string $domainId
+   * @param string $entityTypeId
+   * @return \Airavata\Model\Sharing\EntityType <p>client defined entity types</p>
+   * <li><b>entityTypeId</b> : Entity type id provided by the client</li>
+   * <li><b>domainId</b> : Domain id of the domain.</li>
+   * <li><b>name</b> : Name for the entity type. Should be a single word.</li>
+   * <li>description : Short description for the entity type.</li>
+   * <li>createdTime : Will be set by the system</li>
+   * <li>updatedTime : Will be set by the system</li>
+   * 
+   * 
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function getEntityType($domainId, $entityTypeId);
+  /**
+   * <p>API method to get entity types in a domainId.</p>
+   * 
+   * @param string $domainId
+   * @param int $offset
+   * @param int $limit
+   * @return \Airavata\Model\Sharing\EntityType[]
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function getEntityTypes($domainId, $offset, $limit);
+  /**
+   * <p>API method to register new entity</p>
+   * 
+   * @param \Airavata\Model\Sharing\Entity $entity
+   * @return string
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function createEntity(\Airavata\Model\Sharing\Entity $entity);
+  /**
+   * <p>API method to update entity</p>
+   * 
+   * @param \Airavata\Model\Sharing\Entity $entity
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function updateEntity(\Airavata\Model\Sharing\Entity $entity);
+  /**
+   * <p>API method to check Entity Exists</p>
+   * 
+   * @param string $domainId
+   * @param string $entityId
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function isEntityExists($domainId, $entityId);
+  /**
+   * <p>API method to delete entity</p>
+   * 
+   * @param string $domainId
+   * @param string $entityId
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function deleteEntity($domainId, $entityId);
+  /**
+   * <p>API method to get entity</p>
+   * 
+   * @param string $domainId
+   * @param string $entityId
+   * @return \Airavata\Model\Sharing\Entity <p>Entity object which is used to register an entity in the system.</p>
+   * <li><b>entityId</b> : Entity id provided by the client</li>
+   * <li><b>domainId</b> : Domain id</li>
+   * <li><b>entityTypeId</b> : Entity type id</li>
+   * <li><b>ownerId</b> : Owner id</li>
+   * <li>parentEntityId : Parent entity id</li>
+   * <li><b>name</b> : Name</li>
+   * <li>description : Short description for the entity</li>
+   * <li>binaryData : Any information stored in binary format</li>
+   * <li>fullText : A string which will be considered for full text search</li>
+   * <li><b>originalEntityCreationTime</b> : When registering old records what is the original entity creation time. If not
+   * set will be default to current time</li>
+   * <li>createdTime : Will be set by the system</li>
+   * <li>updatedTime : Will be set by the system</li>
+   * 
+   * 
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function getEntity($domainId, $entityId);
+  /**
+   * <p>API method to search entities</p>
+   * 
+   * @param string $domainId
+   * @param string $userId
+   * @param \Airavata\Model\Sharing\SearchCriteria[] $filters
+   * @param int $offset
+   * @param int $limit
+   * @return \Airavata\Model\Sharing\Entity[]
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function searchEntities($domainId, $userId, array $filters, $offset, $limit);
+  /**
+   * <p>API method to get a list of shared users given the entity id</p>
+   * 
+   * @param string $domainId
+   * @param string $entityId
+   * @param string $permissionTypeId
+   * @return \Airavata\Model\Sharing\User[]
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function getListOfSharedUsers($domainId, $entityId, $permissionTypeId);
+  /**
+   * <p>API method to get a list of shared groups given the entity id</p>
+   * 
+   * @param string $domainId
+   * @param string $entityId
+   * @param string $permissionTypeId
+   * @return \Airavata\Model\Sharing\UserGroup[]
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function getListOfSharedGroups($domainId, $entityId, $permissionTypeId);
+  /**
+   * <p>API method to create permission type</p>
+   * 
+   * @param \Airavata\Model\Sharing\PermissionType $permissionType
+   * @return string
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   * @throws \Airavata\Model\Sharing\DuplicateEntryException
+   */
+  public function createPermissionType(\Airavata\Model\Sharing\PermissionType $permissionType);
+  /**
+   * <p>API method to update permission type</p>
+   * 
+   * @param \Airavata\Model\Sharing\PermissionType $permissionType
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function updatePermissionType(\Airavata\Model\Sharing\PermissionType $permissionType);
+  /**
+   * <p>API method to check Permission Exists</p>
+   * 
+   * @param string $dimainId
+   * @param string $permissionId
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function isPermissionExists($dimainId, $permissionId);
+  /**
+   * <p>API method to delete permission type</p>
+   * 
+   * @param string $domainId
+   * @param string $permissionTypeId
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function deletePermissionType($domainId, $permissionTypeId);
+  /**
+   * <p>API method to get permission type</p>
+   * 
+   * @param string $domainId
+   * @param string $permissionTypeId
+   * @return \Airavata\Model\Sharing\PermissionType <p>Object for creating client defined permission type</p>
+   * <li><b>permissionTypeId</b> : Permission type id provided by the client</li>
+   * <li><b>domainId</b> : Domain id</li>
+   * <li><b>name</b> : Single word name for the permission</li>
+   * <li>description : Short description for the permission type</li>
+   * <li>createdTime : Will be set by the system</li>
+   * <li>updatedTime : Will be set by the system</li>
+   * 
+   * 
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function getPermissionType($domainId, $permissionTypeId);
+  /**
+   * <p>API method to get list of permission types in a given domainId.</p>
+   * 
+   * @param string $domainId
+   * @param int $offset
+   * @param int $limit
+   * @return \Airavata\Model\Sharing\PermissionType[]
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function getPermissionTypes($domainId, $offset, $limit);
+  /**
+   * <p>API method to share an entity with users</p>
+   * 
+   * @param string $domainId
+   * @param string $entityId
+   * @param string[] $userList
+   * @param string $perssionTypeId
+   * @param bool $cascadePermission
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function shareEntityWithUsers($domainId, $entityId, array $userList, $perssionTypeId, $cascadePermission);
+  /**
+   * <p>API method to revoke sharing from a list of users</p>
+   * 
+   * @param string $domainId
+   * @param string $entityId
+   * @param string[] $userList
+   * @param string $perssionTypeId
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function revokeEntitySharingFromUsers($domainId, $entityId, array $userList, $perssionTypeId);
+  /**
+   * <p>API method to share an entity with list of groups</p>
+   * 
+   * @param string $domainId
+   * @param string $entityId
+   * @param string[] $groupList
+   * @param string $perssionTypeId
+   * @param bool $cascadePermission
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function shareEntityWithGroups($domainId, $entityId, array $groupList, $perssionTypeId, $cascadePermission);
+  /**
+   * <p>API method to revoke sharing from list of users</p>
+   * 
+   * @param string $domainId
+   * @param string $entityId
+   * @param string[] $groupList
+   * @param string $perssionTypeId
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function revokeEntitySharingFromGroups($domainId, $entityId, array $groupList, $perssionTypeId);
+  /**
+   * <p>API method to check whether a user has access to a specific entity</p>
+   * 
+   * @param string $domainId
+   * @param string $userId
+   * @param string $entityId
+   * @param string $permissionTypeId
+   * @return bool
+   * @throws \Airavata\Model\Sharing\SharingRegistryException
+   */
+  public function userHasAccess($domainId, $userId, $entityId, $permissionTypeId);
+}
+
+
+class SharingRegistryServiceClient implements \Airavata\API\Sharing\SharingRegistryServiceIf {
+  protected $input_ = null;
+  protected $output_ = null;
+
+  protected $seqid_ = 0;
+
+  public function __construct($input, $output=null) {
+    $this->input_ = $input;
+    $this->output_ = $output ? $output : $input;
+  }
+
+  public function createDomain(\Airavata\Model\Sharing\Domain $domain)
+  {
+    $this->send_createDomain($domain);
+    return $this->recv_createDomain();
+  }
+
+  public function send_createDomain(\Airavata\Model\Sharing\Domain $domain)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_createDomain_args();
+    $args->domain = $domain;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'createDomain', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('createDomain', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_createDomain()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_createDomain_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_createDomain_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    if ($result->dee !== null) {
+      throw $result->dee;
+    }
+    throw new \Exception("createDomain failed: unknown result");
+  }
+
+  public function updateDomain(\Airavata\Model\Sharing\Domain $domain)
+  {
+    $this->send_updateDomain($domain);
+    return $this->recv_updateDomain();
+  }
+
+  public function send_updateDomain(\Airavata\Model\Sharing\Domain $domain)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_updateDomain_args();
+    $args->domain = $domain;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'updateDomain', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('updateDomain', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_updateDomain()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_updateDomain_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_updateDomain_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("updateDomain failed: unknown result");
+  }
+
+  public function isDomainExists($domainId)
+  {
+    $this->send_isDomainExists($domainId);
+    return $this->recv_isDomainExists();
+  }
+
+  public function send_isDomainExists($domainId)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_isDomainExists_args();
+    $args->domainId = $domainId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'isDomainExists', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('isDomainExists', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_isDomainExists()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_isDomainExists_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_isDomainExists_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("isDomainExists failed: unknown result");
+  }
+
+  public function deleteDomain($domainId)
+  {
+    $this->send_deleteDomain($domainId);
+    return $this->recv_deleteDomain();
+  }
+
+  public function send_deleteDomain($domainId)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_deleteDomain_args();
+    $args->domainId = $domainId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'deleteDomain', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('deleteDomain', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_deleteDomain()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_deleteDomain_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_deleteDomain_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("deleteDomain failed: unknown result");
+  }
+
+  public function getDomain($domainId)
+  {
+    $this->send_getDomain($domainId);
+    return $this->recv_getDomain();
+  }
+
+  public function send_getDomain($domainId)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_getDomain_args();
+    $args->domainId = $domainId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'getDomain', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('getDomain', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_getDomain()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_getDomain_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_getDomain_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("getDomain failed: unknown result");
+  }
+
+  public function getDomains($offset, $limit)
+  {
+    $this->send_getDomains($offset, $limit);
+    return $this->recv_getDomains();
+  }
+
+  public function send_getDomains($offset, $limit)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_getDomains_args();
+    $args->offset = $offset;
+    $args->limit = $limit;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'getDomains', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('getDomains', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_getDomains()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_getDomains_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_getDomains_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("getDomains failed: unknown result");
+  }
+
+  public function createUser(\Airavata\Model\Sharing\User $user)
+  {
+    $this->send_createUser($user);
+    return $this->recv_createUser();
+  }
+
+  public function send_createUser(\Airavata\Model\Sharing\User $user)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_createUser_args();
+    $args->user = $user;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'createUser', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('createUser', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_createUser()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_createUser_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_createUser_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    if ($result->dee !== null) {
+      throw $result->dee;
+    }
+    throw new \Exception("createUser failed: unknown result");
+  }
+
+  public function updatedUser(\Airavata\Model\Sharing\User $user)
+  {
+    $this->send_updatedUser($user);
+    return $this->recv_updatedUser();
+  }
+
+  public function send_updatedUser(\Airavata\Model\Sharing\User $user)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_updatedUser_args();
+    $args->user = $user;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'updatedUser', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('updatedUser', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_updatedUser()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_updatedUser_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_updatedUser_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("updatedUser failed: unknown result");
+  }
+
+  public function isUserExists($domainId, $userId)
+  {
+    $this->send_isUserExists($domainId, $userId);
+    return $this->recv_isUserExists();
+  }
+
+  public function send_isUserExists($domainId, $userId)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_isUserExists_args();
+    $args->domainId = $domainId;
+    $args->userId = $userId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'isUserExists', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('isUserExists', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_isUserExists()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_isUserExists_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_isUserExists_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("isUserExists failed: unknown result");
+  }
+
+  public function deleteUser($domainId, $userId)
+  {
+    $this->send_deleteUser($domainId, $userId);
+    return $this->recv_deleteUser();
+  }
+
+  public function send_deleteUser($domainId, $userId)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_deleteUser_args();
+    $args->domainId = $domainId;
+    $args->userId = $userId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'deleteUser', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('deleteUser', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_deleteUser()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_deleteUser_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_deleteUser_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("deleteUser failed: unknown result");
+  }
+
+  public function getUser($domainId, $userId)
+  {
+    $this->send_getUser($domainId, $userId);
+    return $this->recv_getUser();
+  }
+
+  public function send_getUser($domainId, $userId)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_getUser_args();
+    $args->domainId = $domainId;
+    $args->userId = $userId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'getUser', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('getUser', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_getUser()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_getUser_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_getUser_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("getUser failed: unknown result");
+  }
+
+  public function getUsers($domainId, $offset, $limit)
+  {
+    $this->send_getUsers($domainId, $offset, $limit);
+    return $this->recv_getUsers();
+  }
+
+  public function send_getUsers($domainId, $offset, $limit)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_getUsers_args();
+    $args->domainId = $domainId;
+    $args->offset = $offset;
+    $args->limit = $limit;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'getUsers', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('getUsers', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_getUsers()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_getUsers_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_getUsers_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("getUsers failed: unknown result");
+  }
+
+  public function createGroup(\Airavata\Model\Sharing\UserGroup $group)
+  {
+    $this->send_createGroup($group);
+    return $this->recv_createGroup();
+  }
+
+  public function send_createGroup(\Airavata\Model\Sharing\UserGroup $group)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_createGroup_args();
+    $args->group = $group;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'createGroup', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('createGroup', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_createGroup()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_createGroup_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_createGroup_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("createGroup failed: unknown result");
+  }
+
+  public function updateGroup(\Airavata\Model\Sharing\UserGroup $group)
+  {
+    $this->send_updateGroup($group);
+    return $this->recv_updateGroup();
+  }
+
+  public function send_updateGroup(\Airavata\Model\Sharing\UserGroup $group)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_updateGroup_args();
+    $args->group = $group;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'updateGroup', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('updateGroup', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_updateGroup()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_updateGroup_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_updateGroup_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("updateGroup failed: unknown result");
+  }
+
+  public function isGroupExists($domainId, $groupId)
+  {
+    $this->send_isGroupExists($domainId, $groupId);
+    return $this->recv_isGroupExists();
+  }
+
+  public function send_isGroupExists($domainId, $groupId)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_isGroupExists_args();
+    $args->domainId = $domainId;
+    $args->groupId = $groupId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'isGroupExists', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('isGroupExists', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_isGroupExists()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_isGroupExists_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_isGroupExists_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("isGroupExists failed: unknown result");
+  }
+
+  public function deleteGroup($domainId, $groupId)
+  {
+    $this->send_deleteGroup($domainId, $groupId);
+    return $this->recv_deleteGroup();
+  }
+
+  public function send_deleteGroup($domainId, $groupId)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_deleteGroup_args();
+    $args->domainId = $domainId;
+    $args->groupId = $groupId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'deleteGroup', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('deleteGroup', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_deleteGroup()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_deleteGroup_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_deleteGroup_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("deleteGroup failed: unknown result");
+  }
+
+  public function getGroup($domainId, $groupId)
+  {
+    $this->send_getGroup($domainId, $groupId);
+    return $this->recv_getGroup();
+  }
+
+  public function send_getGroup($domainId, $groupId)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_getGroup_args();
+    $args->domainId = $domainId;
+    $args->groupId = $groupId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'getGroup', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('getGroup', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_getGroup()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_getGroup_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_getGroup_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("getGroup failed: unknown result");
+  }
+
+  public function getGroups($domainId, $offset, $limit)
+  {
+    $this->send_getGroups($domainId, $offset, $limit);
+    return $this->recv_getGroups();
+  }
+
+  public function send_getGroups($domainId, $offset, $limit)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_getGroups_args();
+    $args->domainId = $domainId;
+    $args->offset = $offset;
+    $args->limit = $limit;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'getGroups', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('getGroups', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_getGroups()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_getGroups_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_getGroups_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    throw new \Exception("getGroups failed: unknown result");
+  }
+
+  public function addUsersToGroup($domainId, array $userIds, $groupId)
+  {
+    $this->send_addUsersToGroup($domainId, $userIds, $groupId);
+    return $this->recv_addUsersToGroup();
+  }
+
+  public function send_addUsersToGroup($domainId, array $userIds, $groupId)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_addUsersToGroup_args();
+    $args->domainId = $domainId;
+    $args->userIds = $userIds;
+    $args->groupId = $groupId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'addUsersToGroup', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('addUsersToGroup', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_addUsersToGroup()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_addUsersToGroup_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_addUsersToGroup_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("addUsersToGroup failed: unknown result");
+  }
+
+  public function removeUsersFromGroup($domainId, array $userIds, $groupId)
+  {
+    $this->send_removeUsersFromGroup($domainId, $userIds, $groupId);
+    return $this->recv_removeUsersFromGroup();
+  }
+
+  public function send_removeUsersFromGroup($domainId, array $userIds, $groupId)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_removeUsersFromGroup_args();
+    $args->domainId = $domainId;
+    $args->userIds = $userIds;
+    $args->groupId = $groupId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'removeUsersFromGroup', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('removeUsersFromGroup', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_removeUsersFromGroup()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_removeUsersFromGroup_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_removeUsersFromGroup_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("removeUsersFromGroup failed: unknown result");
+  }
+
+  public function getGroupMembersOfTypeUser($domainId, $groupId, $offset, $limit)
+  {
+    $this->send_getGroupMembersOfTypeUser($domainId, $groupId, $offset, $limit);
+    return $this->recv_getGroupMembersOfTypeUser();
+  }
+
+  public function send_getGroupMembersOfTypeUser($domainId, $groupId, $offset, $limit)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_getGroupMembersOfTypeUser_args();
+    $args->domainId = $domainId;
+    $args->groupId = $groupId;
+    $args->offset = $offset;
+    $args->limit = $limit;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'getGroupMembersOfTypeUser', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('getGroupMembersOfTypeUser', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_getGroupMembersOfTypeUser()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_getGroupMembersOfTypeUser_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_getGroupMembersOfTypeUser_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("getGroupMembersOfTypeUser failed: unknown result");
+  }
+
+  public function getGroupMembersOfTypeGroup($domainId, $groupId, $offset, $limit)
+  {
+    $this->send_getGroupMembersOfTypeGroup($domainId, $groupId, $offset, $limit);
+    return $this->recv_getGroupMembersOfTypeGroup();
+  }
+
+  public function send_getGroupMembersOfTypeGroup($domainId, $groupId, $offset, $limit)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_getGroupMembersOfTypeGroup_args();
+    $args->domainId = $domainId;
+    $args->groupId = $groupId;
+    $args->offset = $offset;
+    $args->limit = $limit;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'getGroupMembersOfTypeGroup', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('getGroupMembersOfTypeGroup', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_getGroupMembersOfTypeGroup()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_getGroupMembersOfTypeGroup_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_getGroupMembersOfTypeGroup_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("getGroupMembersOfTypeGroup failed: unknown result");
+  }
+
+  public function addChildGroupsToParentGroup($domainId, array $childIds, $groupId)
+  {
+    $this->send_addChildGroupsToParentGroup($domainId, $childIds, $groupId);
+    return $this->recv_addChildGroupsToParentGroup();
+  }
+
+  public function send_addChildGroupsToParentGroup($domainId, array $childIds, $groupId)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_addChildGroupsToParentGroup_args();
+    $args->domainId = $domainId;
+    $args->childIds = $childIds;
+    $args->groupId = $groupId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'addChildGroupsToParentGroup', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('addChildGroupsToParentGroup', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_addChildGroupsToParentGroup()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_addChildGroupsToParentGroup_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_addChildGroupsToParentGroup_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("addChildGroupsToParentGroup failed: unknown result");
+  }
+
+  public function removeChildGroupFromParentGroup($domainId, $childId, $groupId)
+  {
+    $this->send_removeChildGroupFromParentGroup($domainId, $childId, $groupId);
+    return $this->recv_removeChildGroupFromParentGroup();
+  }
+
+  public function send_removeChildGroupFromParentGroup($domainId, $childId, $groupId)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_removeChildGroupFromParentGroup_args();
+    $args->domainId = $domainId;
+    $args->childId = $childId;
+    $args->groupId = $groupId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'removeChildGroupFromParentGroup', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('removeChildGroupFromParentGroup', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_removeChildGroupFromParentGroup()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_removeChildGroupFromParentGroup_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_removeChildGroupFromParentGroup_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("removeChildGroupFromParentGroup failed: unknown result");
+  }
+
+  public function getAllMemberGroupsForUser($domainId, $userId)
+  {
+    $this->send_getAllMemberGroupsForUser($domainId, $userId);
+    return $this->recv_getAllMemberGroupsForUser();
+  }
+
+  public function send_getAllMemberGroupsForUser($domainId, $userId)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_getAllMemberGroupsForUser_args();
+    $args->domainId = $domainId;
+    $args->userId = $userId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'getAllMemberGroupsForUser', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('getAllMemberGroupsForUser', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_getAllMemberGroupsForUser()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_getAllMemberGroupsForUser_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_getAllMemberGroupsForUser_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("getAllMemberGroupsForUser failed: unknown result");
+  }
+
+  public function createEntityType(\Airavata\Model\Sharing\EntityType $entityType)
+  {
+    $this->send_createEntityType($entityType);
+    return $this->recv_createEntityType();
+  }
+
+  public function send_createEntityType(\Airavata\Model\Sharing\EntityType $entityType)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_createEntityType_args();
+    $args->entityType = $entityType;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'createEntityType', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('createEntityType', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_createEntityType()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_createEntityType_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_createEntityType_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    if ($result->dee !== null) {
+      throw $result->dee;
+    }
+    throw new \Exception("createEntityType failed: unknown result");
+  }
+
+  public function updateEntityType(\Airavata\Model\Sharing\EntityType $entityType)
+  {
+    $this->send_updateEntityType($entityType);
+    return $this->recv_updateEntityType();
+  }
+
+  public function send_updateEntityType(\Airavata\Model\Sharing\EntityType $entityType)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_updateEntityType_args();
+    $args->entityType = $entityType;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'updateEntityType', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('updateEntityType', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_updateEntityType()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_updateEntityType_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_updateEntityType_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("updateEntityType failed: unknown result");
+  }
+
+  public function isEntityTypeExists($domainId, $entityTypeId)
+  {
+    $this->send_isEntityTypeExists($domainId, $entityTypeId);
+    return $this->recv_isEntityTypeExists();
+  }
+
+  public function send_isEntityTypeExists($domainId, $entityTypeId)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_isEntityTypeExists_args();
+    $args->domainId = $domainId;
+    $args->entityTypeId = $entityTypeId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'isEntityTypeExists', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('isEntityTypeExists', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_isEntityTypeExists()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_isEntityTypeExists_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_isEntityTypeExists_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("isEntityTypeExists failed: unknown result");
+  }
+
+  public function deleteEntityType($domainId, $entityTypeId)
+  {
+    $this->send_deleteEntityType($domainId, $entityTypeId);
+    return $this->recv_deleteEntityType();
+  }
+
+  public function send_deleteEntityType($domainId, $entityTypeId)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_deleteEntityType_args();
+    $args->domainId = $domainId;
+    $args->entityTypeId = $entityTypeId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'deleteEntityType', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('deleteEntityType', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_deleteEntityType()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_deleteEntityType_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_deleteEntityType_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("deleteEntityType failed: unknown result");
+  }
+
+  public function getEntityType($domainId, $entityTypeId)
+  {
+    $this->send_getEntityType($domainId, $entityTypeId);
+    return $this->recv_getEntityType();
+  }
+
+  public function send_getEntityType($domainId, $entityTypeId)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_getEntityType_args();
+    $args->domainId = $domainId;
+    $args->entityTypeId = $entityTypeId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'getEntityType', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('getEntityType', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_getEntityType()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_getEntityType_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_getEntityType_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("getEntityType failed: unknown result");
+  }
+
+  public function getEntityTypes($domainId, $offset, $limit)
+  {
+    $this->send_getEntityTypes($domainId, $offset, $limit);
+    return $this->recv_getEntityTypes();
+  }
+
+  public function send_getEntityTypes($domainId, $offset, $limit)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_getEntityTypes_args();
+    $args->domainId = $domainId;
+    $args->offset = $offset;
+    $args->limit = $limit;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'getEntityTypes', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('getEntityTypes', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_getEntityTypes()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_getEntityTypes_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_getEntityTypes_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("getEntityTypes failed: unknown result");
+  }
+
+  public function createEntity(\Airavata\Model\Sharing\Entity $entity)
+  {
+    $this->send_createEntity($entity);
+    return $this->recv_createEntity();
+  }
+
+  public function send_createEntity(\Airavata\Model\Sharing\Entity $entity)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_createEntity_args();
+    $args->entity = $entity;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'createEntity', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('createEntity', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_createEntity()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_createEntity_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_createEntity_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("createEntity failed: unknown result");
+  }
+
+  public function updateEntity(\Airavata\Model\Sharing\Entity $entity)
+  {
+    $this->send_updateEntity($entity);
+    return $this->recv_updateEntity();
+  }
+
+  public function send_updateEntity(\Airavata\Model\Sharing\Entity $entity)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_updateEntity_args();
+    $args->entity = $entity;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'updateEntity', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('updateEntity', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_updateEntity()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Sharing\SharingRegistryService_updateEntity_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Sharing\SharingRegistryService_updateEntity_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->sre !== null) {
+      throw $result->sre;
+    }
+    throw new \Exception("updateEntity failed: unknown result");
+  }
+
+  public function isEntityExists($domainId, $entityId)
+  {
+    $this->send_isEntityExists($domainId, $entityId);
+    return $this->recv_isEntityExists();
+  }
+
+  public function send_isEntityExists($domainId, $entityId)
+  {
+    $args = new \Airavata\API\Sharing\SharingRegistryService_isEntityExists_args();
+    $args->domainId = $domainId;
+    $args->entityId = $entityId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'isEntityExists', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('isEntityExists', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_isEntityExists()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && f

<TRUNCATED>