You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sm...@apache.org on 2017/11/28 22:08:39 UTC

[airavata] branch revert-141-group_roles created (now 95d9b25)

This is an automated email from the ASF dual-hosted git repository.

smarru pushed a change to branch revert-141-group_roles
in repository https://gitbox.apache.org/repos/asf/airavata.git.


      at 95d9b25  Revert "[AIRAVATA-2591]: Add group roles capabilities to Groups"

This branch includes the following new commits:

     new 95d9b25  Revert "[AIRAVATA-2591]: Add group roles capabilities to Groups"

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


-- 
To stop receiving notification emails like this one, please contact
['"commits@airavata.apache.org" <co...@airavata.apache.org>'].

[airavata] 01/01: Revert "[AIRAVATA-2591]: Add group roles capabilities to Groups"

Posted by sm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

smarru pushed a commit to branch revert-141-group_roles
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit 95d9b2531ae3e27604e6f57b793175e3d7c1ef4b
Author: Suresh Marru <sm...@apache.org>
AuthorDate: Tue Nov 28 17:08:37 2017 -0500

    Revert "[AIRAVATA-2591]: Add group roles capabilities to Groups"
---
 .../registry/db/entities/GroupAdminEntity.java     |   66 -
 .../sharing/registry/db/entities/GroupAdminPK.java |   66 -
 .../registry/db/entities/GroupOwnerEntity.java     |   64 -
 .../sharing/registry/db/entities/GroupOwnerPK.java |   53 -
 .../db/repositories/GroupAdminRepository.java      |   17 -
 .../db/repositories/GroupOwnerRepository.java      |   16 -
 .../server/SharingRegistryServerHandler.java       |  127 -
 .../registry/utils/ThriftDataModelConversion.java  |    2 +
 .../src/main/resources/META-INF/persistence.xml    |    2 -
 .../src/main/resources/sharing-registry-derby.sql  |   16 -
 .../src/main/resources/sharing-registry-mysql.sql  |   15 -
 .../sharing/registry/models/GroupAdmin.java        |  582 --
 .../sharing/registry/models/GroupOwner.java        |  582 --
 .../service/cpi/SharingRegistryService.java        | 9185 ++++----------------
 .../sharing-service-docs/api-docs/index.html       |    7 -
 .../sharing-service-docs/api-docs/sharing_cpi.html |  231 +-
 .../api-docs/sharing_models.html                   |   80 +-
 .../thrift_models/sharing_cpi.thrift               |   20 -
 .../thrift_models/sharing_models.thrift            |   21 -
 19 files changed, 1700 insertions(+), 9452 deletions(-)

diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/GroupAdminEntity.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/GroupAdminEntity.java
deleted file mode 100644
index 26851b3..0000000
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/GroupAdminEntity.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.apache.airavata.sharing.registry.db.entities;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.persistence.*;
-
-@Entity
-@Table(name = "GROUP_ADMIN", schema = "")
-@IdClass(GroupAdminPK.class)
-public class GroupAdminEntity {
-    private final static Logger logger = LoggerFactory.getLogger(GroupAdminEntity.class);
-    private String groupId;
-    private String domainId;
-    private String adminId;
-
-    @Id
-    @Column(name = "GROUP_ID")
-    public String getGroupId() {
-        return groupId;
-    }
-
-    public void setGroupId(String groupId) {
-        this.groupId = groupId;
-    }
-
-    @Id
-    @Column(name = "DOMAIN_ID")
-    public String getDomainId() {
-        return domainId;
-    }
-
-    public void setDomainId(String domainId) {
-        this.domainId = domainId;
-    }
-
-    @Id
-    @Column(name = "ADMIN_ID")
-    public String getAdminId() {
-        return adminId;
-    }
-
-    public void setAdminId(String adminId) {
-        this.adminId = adminId;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-
-        GroupAdminEntity that = (GroupAdminEntity) o;
-
-        if (!getGroupId().equals(that.getGroupId())) return false;
-        if (!getDomainId().equals(that.getDomainId())) return false;
-        return getAdminId().equals(that.getAdminId());
-    }
-
-    @Override
-    public int hashCode() {
-        int result = getGroupId().hashCode();
-        result = 31 * result + getDomainId().hashCode();
-        result = 31 * result + getAdminId().hashCode();
-        return result;
-    }
-}
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/GroupAdminPK.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/GroupAdminPK.java
deleted file mode 100644
index 37be991..0000000
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/GroupAdminPK.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.apache.airavata.sharing.registry.db.entities;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.persistence.Column;
-import javax.persistence.Id;
-import java.io.Serializable;
-
-public class GroupAdminPK implements Serializable{
-
-    private final static Logger logger = LoggerFactory.getLogger(GroupAdminPK.class);
-    private String groupId;
-    private String domainId;
-    private String adminId;
-
-    @Id
-    @Column(name = "GROUP_ID")
-    public String getGroupId() {
-        return groupId;
-    }
-
-    public void setGroupId(String groupId) {
-        this.groupId = groupId;
-    }
-
-    @Id
-    @Column(name = "DOMAIN_ID")
-    public String getDomainId() {
-        return domainId;
-    }
-
-    public void setDomainId(String domainId) {
-        this.domainId = domainId;
-    }
-
-    @Id
-    @Column(name = "ADMIN_ID")
-    public String getAdminId() {
-        return adminId;
-    }
-
-    public void setAdminId(String adminId) {
-        this.adminId = adminId;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-
-        GroupAdminPK groupAdminPK = (GroupAdminPK) o;
-
-        if (!getGroupId().equals(groupAdminPK.getGroupId())) return false;
-        if (!getDomainId().equals(groupAdminPK.getDomainId())) return false;
-        return getAdminId().equals(groupAdminPK.getAdminId());
-    }
-
-    @Override
-    public int hashCode() {
-        int result = getGroupId().hashCode();
-        result = 31 * result + getDomainId().hashCode();
-        result = 31 * result + getAdminId().hashCode();
-        return result;
-    }
-}
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/GroupOwnerEntity.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/GroupOwnerEntity.java
deleted file mode 100644
index 5a15ee5..0000000
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/GroupOwnerEntity.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.apache.airavata.sharing.registry.db.entities;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.persistence.*;
-
-@Entity
-@Table(name = "GROUP_OWNER", schema = "")
-@IdClass(GroupOwnerPK.class)
-public class GroupOwnerEntity {
-    private final static Logger logger = LoggerFactory.getLogger(GroupOwnerEntity.class);
-    private String groupId;
-    private String domainId;
-    private String ownerId;
-
-    @Column(name = "GROUP_ID")
-    public String getGroupId() {
-        return groupId;
-    }
-
-    public void setGroupId(String groupId) {
-        this.groupId = groupId;
-    }
-
-    @Id
-    @Column(name = "DOMAIN_ID")
-    public String getDomainId() {
-        return domainId;
-    }
-
-    public void setDomainId(String domainId) {
-        this.domainId = domainId;
-    }
-    @Id
-    @Column(name = "OWNER_ID")
-    public String getOwnerId() {
-        return ownerId;
-    }
-
-    public void setOwnerId(String ownerId) {
-        this.ownerId = ownerId;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-
-        GroupOwnerEntity that = (GroupOwnerEntity) o;
-
-        if (!getGroupId().equals(that.getGroupId())) return false;
-        if (!getDomainId().equals(that.getDomainId())) return false;
-        return getOwnerId().equals(that.getOwnerId());
-    }
-
-    @Override
-    public int hashCode() {
-        int result = getGroupId().hashCode();
-        result = 31 * result + getDomainId().hashCode();
-        result = 31 * result + getOwnerId().hashCode();
-        return result;
-    }
-}
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/GroupOwnerPK.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/GroupOwnerPK.java
deleted file mode 100644
index 365e9e0..0000000
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/GroupOwnerPK.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.apache.airavata.sharing.registry.db.entities;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.persistence.Column;
-import javax.persistence.Id;
-import java.io.Serializable;
-
-public class GroupOwnerPK implements Serializable{
-
-    private final static Logger logger = LoggerFactory.getLogger(GroupOwnerPK.class);
-    private String ownerId;
-    private String domainId;
-
-    @Id
-    @Column(name = "DOMAIN_ID")
-    public String getDomainId() {
-        return domainId;
-    }
-
-    public void setDomainId(String domainId) {
-        this.domainId = domainId;
-    }
-
-    @Id
-    @Column(name = "OWNER_ID")
-    public String getOwnerId() {
-        return ownerId;
-    }
-
-    public void setOwnerId(String ownerId) {
-        this.ownerId = ownerId;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-
-        GroupOwnerPK groupOwnerPK = (GroupOwnerPK) o;
-
-        if (!getOwnerId().equals(groupOwnerPK.getOwnerId())) return false;
-        return getDomainId().equals(groupOwnerPK.getDomainId());
-    }
-
-    @Override
-    public int hashCode() {
-        int result = getOwnerId().hashCode();
-        result = 31 * result + getDomainId().hashCode();
-        return result;
-    }
-}
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/GroupAdminRepository.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/GroupAdminRepository.java
deleted file mode 100644
index 62c56e5..0000000
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/GroupAdminRepository.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.apache.airavata.sharing.registry.db.repositories;
-
-import org.apache.airavata.sharing.registry.db.entities.GroupAdminEntity;
-import org.apache.airavata.sharing.registry.db.entities.GroupAdminPK;
-import org.apache.airavata.sharing.registry.models.GroupAdmin;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class GroupAdminRepository extends AbstractRepository<GroupAdmin, GroupAdminEntity, GroupAdminPK> {
-
-    private final static Logger logger = LoggerFactory.getLogger(GroupAdminRepository.class);
-
-    public GroupAdminRepository() {
-        super(GroupAdmin.class, GroupAdminEntity.class);
-    }
-
-}
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/GroupOwnerRepository.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/GroupOwnerRepository.java
deleted file mode 100644
index e3a809c..0000000
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/GroupOwnerRepository.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.apache.airavata.sharing.registry.db.repositories;
-
-import org.apache.airavata.sharing.registry.db.entities.GroupOwnerEntity;
-import org.apache.airavata.sharing.registry.db.entities.GroupOwnerPK;
-import org.apache.airavata.sharing.registry.models.GroupOwner;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class GroupOwnerRepository extends AbstractRepository<GroupOwner, GroupOwnerEntity, GroupOwnerPK>{
-
-    private final static Logger logger = LoggerFactory.getLogger(GroupOwnerRepository.class);
-
-    public GroupOwnerRepository() {
-        super(GroupOwner.class, GroupOwnerEntity.class);
-    }
-}
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/server/SharingRegistryServerHandler.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/server/SharingRegistryServerHandler.java
index 60f5786..eea12a3 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/server/SharingRegistryServerHandler.java
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/server/SharingRegistryServerHandler.java
@@ -407,133 +407,6 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
     }
 
     @Override
-    public boolean transferGroupOwnership(String domainId, String groupId, String newOwnerId) throws SharingRegistryException, TException {
-        try {
-            if (hasOwnerAccess(domainId, groupId, newOwnerId)) {
-                throw new DuplicateEntryException("User already the current owner of the group");
-            }
-            // remove the new owner as Admin if present
-            if (hasAdminAccess(domainId, groupId, newOwnerId)) {
-                removeGroupAdmins(domainId, groupId, Arrays.asList(newOwnerId));
-            }
-
-            UserGroupPK userGroupPK = new UserGroupPK();
-            userGroupPK.setGroupId(groupId);
-            userGroupPK.setDomainId(domainId);
-            UserGroup userGroup = (new UserGroupRepository()).get(userGroupPK);
-            String currentOwnerId = userGroup.getOwnerId();
-            UserGroup newUserGroup = new UserGroup();
-            newUserGroup.setUpdatedTime(System.currentTimeMillis());
-            newUserGroup.setOwnerId(newOwnerId);
-            newUserGroup.setGroupCardinality(GroupCardinality.MULTI_USER);
-            newUserGroup.setCreatedTime(userGroup.createdTime);
-            newUserGroup = getUpdatedObject(userGroup, newUserGroup);
-
-            (new UserGroupRepository()).update(newUserGroup);
-
-            GroupOwnerPK groupOwnerPK = new GroupOwnerPK();
-            groupOwnerPK.setDomainId(domainId);
-            groupOwnerPK.setOwnerId(currentOwnerId);
-            GroupOwner currentOwner = (new GroupOwnerRepository()).get(groupOwnerPK);
-            GroupOwner newOwner = new GroupOwner();
-            newOwner.setDomainId(domainId);
-            newOwner.setOwnerId(newOwnerId);
-            newOwner.setGroupId(groupId);
-            newOwner = getUpdatedObject(currentOwner, newOwner);
-
-            (new GroupOwnerRepository()).update(newOwner);
-            return true;
-        }
-        catch (Throwable ex) {
-            logger.error(ex.getMessage(), ex);
-            throw new SharingRegistryException().setMessage(ex.getMessage() + " Stack trace:" + ExceptionUtils.getStackTrace(ex));
-        }
-    }
-
-    @Override
-    public boolean addGroupAdmins(String domainId, String groupId, List<String> adminIds) throws SharingRegistryException, TException {
-        try{
-            for (String adminId: adminIds) {
-                GroupAdminPK groupAdminPK = new GroupAdminPK();
-                groupAdminPK.setGroupId(groupId);
-                groupAdminPK.setAdminId(adminId);
-                groupAdminPK.setDomainId(domainId);
-
-                if((new GroupAdminRepository()).get(groupAdminPK) != null)
-                    throw new DuplicateEntryException("User already an admin for the group");
-
-                GroupAdmin admin = new GroupAdmin();
-                admin.setAdminId(adminId);
-                admin.setDomainId(domainId);
-                admin.setGroupId(groupId);
-                (new GroupAdminRepository()).create(admin);
-            }
-            return true;
-        }
-        catch (Throwable ex) {
-            logger.error(ex.getMessage(), ex);
-            throw new SharingRegistryException().setMessage(ex.getMessage() + " Stack trace:" + ExceptionUtils.getStackTrace(ex));
-        }
-    }
-
-    @Override
-    public boolean removeGroupAdmins(String domainId, String groupId, List<String> adminIds) throws SharingRegistryException, TException {
-        try {
-            for (String adminId: adminIds) {
-                GroupAdminPK groupAdminPK = new GroupAdminPK();
-                groupAdminPK.setAdminId(adminId);
-                groupAdminPK.setDomainId(domainId);
-                groupAdminPK.setGroupId(groupId);
-                (new GroupAdminRepository()).delete(groupAdminPK);
-            }
-            return true;
-        }
-        catch (Throwable ex) {
-            logger.error(ex.getMessage(), ex);
-            throw new SharingRegistryException().setMessage(ex.getMessage() + " Stack trace:" + ExceptionUtils.getStackTrace(ex));
-        }
-    }
-
-    @Override
-    public boolean hasAdminAccess(String domainId, String groupId, String adminId) throws SharingRegistryException, TException {
-        try{
-            GroupAdminPK groupAdminPK = new GroupAdminPK();
-            groupAdminPK.setGroupId(groupId);
-            groupAdminPK.setAdminId(adminId);
-            groupAdminPK.setDomainId(domainId);
-
-            if((new GroupAdminRepository()).get(groupAdminPK) != null)
-                return true;
-            return false;
-        }
-        catch (Throwable ex) {
-            logger.error(ex.getMessage(), ex);
-            throw new SharingRegistryException().setMessage(ex.getMessage() + " Stack trace:" + ExceptionUtils.getStackTrace(ex));
-        }
-    }
-
-    @Override
-    public boolean hasOwnerAccess(String domainId, String groupId, String ownerId) throws SharingRegistryException, TException {
-        try {
-            GroupOwnerPK groupOwnerPK = new GroupOwnerPK();
-            groupOwnerPK.setDomainId(domainId);
-            groupOwnerPK.setOwnerId(ownerId);
-
-            GroupOwner owner = (new GroupOwnerRepository()).get(groupOwnerPK);
-            if (owner != null) {
-                if (owner.groupId.equals(groupId)) {
-                    return true;
-                }
-            }
-            return false;
-        }
-        catch (Throwable ex) {
-            logger.error(ex.getMessage(), ex);
-            throw new SharingRegistryException().setMessage(ex.getMessage() + " Stack trace:" + ExceptionUtils.getStackTrace(ex));
-        }
-    }
-
-    @Override
     public List<User> getGroupMembersOfTypeUser(String domainId, String groupId, int offset, int limit) throws SharingRegistryException, TException {
         try{
             //TODO limit offset
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/utils/ThriftDataModelConversion.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/utils/ThriftDataModelConversion.java
index adef4e7..99db7f1 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/utils/ThriftDataModelConversion.java
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/utils/ThriftDataModelConversion.java
@@ -1,8 +1,10 @@
 package org.apache.airavata.sharing.registry.utils;
 
 import org.apache.airavata.model.user.UserProfile;
+import org.apache.airavata.sharing.registry.db.entities.UserPK;
 import org.apache.airavata.sharing.registry.models.User;
 
+import java.util.Date;
 
 /**
  * Created by Ajinkya on 3/29/17.
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/resources/META-INF/persistence.xml b/modules/sharing-registry/sharing-registry-server/src/main/resources/META-INF/persistence.xml
index c650e59..a9f808c 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/resources/META-INF/persistence.xml
+++ b/modules/sharing-registry/sharing-registry-server/src/main/resources/META-INF/persistence.xml
@@ -10,8 +10,6 @@
         <class>org.apache.airavata.sharing.registry.db.entities.PermissionTypeEntity</class>
         <class>org.apache.airavata.sharing.registry.db.entities.SharingEntity</class>
         <class>org.apache.airavata.sharing.registry.db.entities.UserEntity</class>
-        <class>org.apache.airavata.sharing.registry.db.entities.GroupAdminEntity</class>
-        <class>org.apache.airavata.sharing.registry.db.entities.GroupOwnerEntity</class>
         <class>org.apache.airavata.sharing.registry.db.entities.UserGroupEntity</class>
     </persistence-unit>
 </persistence>
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/resources/sharing-registry-derby.sql b/modules/sharing-registry/sharing-registry-server/src/main/resources/sharing-registry-derby.sql
index a4d8676..5897b3b 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/resources/sharing-registry-derby.sql
+++ b/modules/sharing-registry/sharing-registry-server/src/main/resources/sharing-registry-derby.sql
@@ -42,22 +42,6 @@ CREATE TABLE SHARING_USER (
   FOREIGN KEY (DOMAIN_ID) REFERENCES DOMAIN(DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
 );
 
-CREATE TABLE GROUP_OWNER (
-  OWNER_ID VARCHAR(255) NOT NULL,
-  GROUP_ID VARCHAR(255) NOT NULL,
-  DOMAIN_ID VARCHAR(255) NOT NULL,
-  PRIMARY KEY (OWNER_ID, DOMAIN_ID),
-  FOREIGN KEY (OWNER_ID, DOMAIN_ID) REFERENCES SHARING_USER(USER_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
-);
-
-CREATE TABLE GROUP_ADMIN (
-  ADMIN_ID VARCHAR(255) NOT NULL,
-  GROUP_ID VARCHAR(255) NOT NULL,
-  DOMAIN_ID VARCHAR(255) NOT NULL,
-  PRIMARY KEY (ADMIN_ID, GROUP_ID, DOMAIN_ID),
-  FOREIGN KEY (ADMIN_ID, DOMAIN_ID) REFERENCES SHARING_USER(USER_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
-);
-
 CREATE TABLE USER_GROUP (
   GROUP_ID VARCHAR(255) NOT NULL,
   DOMAIN_ID VARCHAR(255) NOT NULL,
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/resources/sharing-registry-mysql.sql b/modules/sharing-registry/sharing-registry-server/src/main/resources/sharing-registry-mysql.sql
index 2e05cb6..09830a0 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/resources/sharing-registry-mysql.sql
+++ b/modules/sharing-registry/sharing-registry-server/src/main/resources/sharing-registry-mysql.sql
@@ -56,21 +56,6 @@ CREATE TABLE USER_GROUP (
   FOREIGN KEY (OWNER_ID, DOMAIN_ID) REFERENCES SHARING_USER(USER_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
 )ENGINE=InnoDB DEFAULT CHARACTER SET=latin1;
 
-CREATE TABLE GROUP_OWNER (
-  OWNER_ID VARCHAR(255) NOT NULL,
-  GROUP_ID VARCHAR(255) NOT NULL,
-  DOMAIN_ID VARCHAR(255) NOT NULL,
-  PRIMARY KEY (OWNER_ID, DOMAIN_ID),
-  FOREIGN KEY (OWNER_ID, DOMAIN_ID) REFERENCES SHARING_USER(USER_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
-)ENGINE=InnoDB DEFAULT CHARACTER SET=latin1;
-
-CREATE TABLE GROUP_ADMIN (
-  ADMIN_ID VARCHAR(255) NOT NULL,
-  GROUP_ID VARCHAR(255) NOT NULL,
-  DOMAIN_ID VARCHAR(255) NOT NULL,
-  PRIMARY KEY (ADMIN_ID, GROUP_ID, DOMAIN_ID),
-  FOREIGN KEY (ADMIN_ID, DOMAIN_ID) REFERENCES SHARING_USER(USER_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
-)ENGINE=InnoDB DEFAULT CHARACTER SET=latin1;
 
 CREATE TABLE GROUP_MEMBERSHIP (
   PARENT_ID VARCHAR(255) NOT NULL,
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupAdmin.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupAdmin.java
deleted file mode 100644
index e4cf404..0000000
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupAdmin.java
+++ /dev/null
@@ -1,582 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (1.0.0-dev)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.sharing.registry.models;
-
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (1.0.0-dev)")
-public class GroupAdmin implements org.apache.thrift.TBase<GroupAdmin, GroupAdmin._Fields>, java.io.Serializable, Cloneable, Comparable<GroupAdmin> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GroupAdmin");
-
-  private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)1);
-  private static final org.apache.thrift.protocol.TField DOMAIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("domainId", org.apache.thrift.protocol.TType.STRING, (short)2);
-  private static final org.apache.thrift.protocol.TField ADMIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("adminId", org.apache.thrift.protocol.TType.STRING, (short)3);
-
-  private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new GroupAdminStandardSchemeFactory();
-  private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new GroupAdminTupleSchemeFactory();
-
-  public java.lang.String groupId; // optional
-  public java.lang.String domainId; // optional
-  public java.lang.String adminId; // optional
-
-  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-    GROUP_ID((short)1, "groupId"),
-    DOMAIN_ID((short)2, "domainId"),
-    ADMIN_ID((short)3, "adminId");
-
-    private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-    static {
-      for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-        byName.put(field.getFieldName(), field);
-      }
-    }
-
-    /**
-     * Find the _Fields constant that matches fieldId, or null if its not found.
-     */
-    public static _Fields findByThriftId(int fieldId) {
-      switch(fieldId) {
-        case 1: // GROUP_ID
-          return GROUP_ID;
-        case 2: // DOMAIN_ID
-          return DOMAIN_ID;
-        case 3: // ADMIN_ID
-          return ADMIN_ID;
-        default:
-          return null;
-      }
-    }
-
-    /**
-     * Find the _Fields constant that matches fieldId, throwing an exception
-     * if it is not found.
-     */
-    public static _Fields findByThriftIdOrThrow(int fieldId) {
-      _Fields fields = findByThriftId(fieldId);
-      if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-      return fields;
-    }
-
-    /**
-     * Find the _Fields constant that matches name, or null if its not found.
-     */
-    public static _Fields findByName(java.lang.String name) {
-      return byName.get(name);
-    }
-
-    private final short _thriftId;
-    private final java.lang.String _fieldName;
-
-    _Fields(short thriftId, java.lang.String fieldName) {
-      _thriftId = thriftId;
-      _fieldName = fieldName;
-    }
-
-    public short getThriftFieldId() {
-      return _thriftId;
-    }
-
-    public java.lang.String getFieldName() {
-      return _fieldName;
-    }
-  }
-
-  // isset id assignments
-  private static final _Fields optionals[] = {_Fields.GROUP_ID,_Fields.DOMAIN_ID,_Fields.ADMIN_ID};
-  public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-  static {
-    java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-    tmpMap.put(_Fields.GROUP_ID, new org.apache.thrift.meta_data.FieldMetaData("groupId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.DOMAIN_ID, new org.apache.thrift.meta_data.FieldMetaData("domainId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.ADMIN_ID, new org.apache.thrift.meta_data.FieldMetaData("adminId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GroupAdmin.class, metaDataMap);
-  }
-
-  public GroupAdmin() {
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public GroupAdmin(GroupAdmin other) {
-    if (other.isSetGroupId()) {
-      this.groupId = other.groupId;
-    }
-    if (other.isSetDomainId()) {
-      this.domainId = other.domainId;
-    }
-    if (other.isSetAdminId()) {
-      this.adminId = other.adminId;
-    }
-  }
-
-  public GroupAdmin deepCopy() {
-    return new GroupAdmin(this);
-  }
-
-  @Override
-  public void clear() {
-    this.groupId = null;
-    this.domainId = null;
-    this.adminId = null;
-  }
-
-  public java.lang.String getGroupId() {
-    return this.groupId;
-  }
-
-  public GroupAdmin setGroupId(java.lang.String groupId) {
-    this.groupId = groupId;
-    return this;
-  }
-
-  public void unsetGroupId() {
-    this.groupId = null;
-  }
-
-  /** Returns true if field groupId is set (has been assigned a value) and false otherwise */
-  public boolean isSetGroupId() {
-    return this.groupId != null;
-  }
-
-  public void setGroupIdIsSet(boolean value) {
-    if (!value) {
-      this.groupId = null;
-    }
-  }
-
-  public java.lang.String getDomainId() {
-    return this.domainId;
-  }
-
-  public GroupAdmin setDomainId(java.lang.String domainId) {
-    this.domainId = domainId;
-    return this;
-  }
-
-  public void unsetDomainId() {
-    this.domainId = null;
-  }
-
-  /** Returns true if field domainId is set (has been assigned a value) and false otherwise */
-  public boolean isSetDomainId() {
-    return this.domainId != null;
-  }
-
-  public void setDomainIdIsSet(boolean value) {
-    if (!value) {
-      this.domainId = null;
-    }
-  }
-
-  public java.lang.String getAdminId() {
-    return this.adminId;
-  }
-
-  public GroupAdmin setAdminId(java.lang.String adminId) {
-    this.adminId = adminId;
-    return this;
-  }
-
-  public void unsetAdminId() {
-    this.adminId = null;
-  }
-
-  /** Returns true if field adminId is set (has been assigned a value) and false otherwise */
-  public boolean isSetAdminId() {
-    return this.adminId != null;
-  }
-
-  public void setAdminIdIsSet(boolean value) {
-    if (!value) {
-      this.adminId = null;
-    }
-  }
-
-  public void setFieldValue(_Fields field, java.lang.Object value) {
-    switch (field) {
-    case GROUP_ID:
-      if (value == null) {
-        unsetGroupId();
-      } else {
-        setGroupId((java.lang.String)value);
-      }
-      break;
-
-    case DOMAIN_ID:
-      if (value == null) {
-        unsetDomainId();
-      } else {
-        setDomainId((java.lang.String)value);
-      }
-      break;
-
-    case ADMIN_ID:
-      if (value == null) {
-        unsetAdminId();
-      } else {
-        setAdminId((java.lang.String)value);
-      }
-      break;
-
-    }
-  }
-
-  public java.lang.Object getFieldValue(_Fields field) {
-    switch (field) {
-    case GROUP_ID:
-      return getGroupId();
-
-    case DOMAIN_ID:
-      return getDomainId();
-
-    case ADMIN_ID:
-      return getAdminId();
-
-    }
-    throw new java.lang.IllegalStateException();
-  }
-
-  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-  public boolean isSet(_Fields field) {
-    if (field == null) {
-      throw new java.lang.IllegalArgumentException();
-    }
-
-    switch (field) {
-    case GROUP_ID:
-      return isSetGroupId();
-    case DOMAIN_ID:
-      return isSetDomainId();
-    case ADMIN_ID:
-      return isSetAdminId();
-    }
-    throw new java.lang.IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof GroupAdmin)
-      return this.equals((GroupAdmin)that);
-    return false;
-  }
-
-  public boolean equals(GroupAdmin that) {
-    if (that == null)
-      return false;
-    if (this == that)
-      return true;
-
-    boolean this_present_groupId = true && this.isSetGroupId();
-    boolean that_present_groupId = true && that.isSetGroupId();
-    if (this_present_groupId || that_present_groupId) {
-      if (!(this_present_groupId && that_present_groupId))
-        return false;
-      if (!this.groupId.equals(that.groupId))
-        return false;
-    }
-
-    boolean this_present_domainId = true && this.isSetDomainId();
-    boolean that_present_domainId = true && that.isSetDomainId();
-    if (this_present_domainId || that_present_domainId) {
-      if (!(this_present_domainId && that_present_domainId))
-        return false;
-      if (!this.domainId.equals(that.domainId))
-        return false;
-    }
-
-    boolean this_present_adminId = true && this.isSetAdminId();
-    boolean that_present_adminId = true && that.isSetAdminId();
-    if (this_present_adminId || that_present_adminId) {
-      if (!(this_present_adminId && that_present_adminId))
-        return false;
-      if (!this.adminId.equals(that.adminId))
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    int hashCode = 1;
-
-    hashCode = hashCode * 8191 + ((isSetGroupId()) ? 131071 : 524287);
-    if (isSetGroupId())
-      hashCode = hashCode * 8191 + groupId.hashCode();
-
-    hashCode = hashCode * 8191 + ((isSetDomainId()) ? 131071 : 524287);
-    if (isSetDomainId())
-      hashCode = hashCode * 8191 + domainId.hashCode();
-
-    hashCode = hashCode * 8191 + ((isSetAdminId()) ? 131071 : 524287);
-    if (isSetAdminId())
-      hashCode = hashCode * 8191 + adminId.hashCode();
-
-    return hashCode;
-  }
-
-  @Override
-  public int compareTo(GroupAdmin other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetGroupId()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.groupId, other.groupId);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetDomainId()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.domainId, other.domainId);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = java.lang.Boolean.valueOf(isSetAdminId()).compareTo(other.isSetAdminId());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetAdminId()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.adminId, other.adminId);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    return 0;
-  }
-
-  public _Fields fieldForId(int fieldId) {
-    return _Fields.findByThriftId(fieldId);
-  }
-
-  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-    scheme(iprot).read(iprot, this);
-  }
-
-  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-    scheme(oprot).write(oprot, this);
-  }
-
-  @Override
-  public java.lang.String toString() {
-    java.lang.StringBuilder sb = new java.lang.StringBuilder("GroupAdmin(");
-    boolean first = true;
-
-    if (isSetGroupId()) {
-      sb.append("groupId:");
-      if (this.groupId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.groupId);
-      }
-      first = false;
-    }
-    if (isSetDomainId()) {
-      if (!first) sb.append(", ");
-      sb.append("domainId:");
-      if (this.domainId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.domainId);
-      }
-      first = false;
-    }
-    if (isSetAdminId()) {
-      if (!first) sb.append(", ");
-      sb.append("adminId:");
-      if (this.adminId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.adminId);
-      }
-      first = false;
-    }
-    sb.append(")");
-    return sb.toString();
-  }
-
-  public void validate() throws org.apache.thrift.TException {
-    // check for required fields
-    // check for sub-struct validity
-  }
-
-  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-    try {
-      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-    } catch (org.apache.thrift.TException te) {
-      throw new java.io.IOException(te);
-    }
-  }
-
-  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-    try {
-      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-    } catch (org.apache.thrift.TException te) {
-      throw new java.io.IOException(te);
-    }
-  }
-
-  private static class GroupAdminStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-    public GroupAdminStandardScheme getScheme() {
-      return new GroupAdminStandardScheme();
-    }
-  }
-
-  private static class GroupAdminStandardScheme extends org.apache.thrift.scheme.StandardScheme<GroupAdmin> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, GroupAdmin struct) throws org.apache.thrift.TException {
-      org.apache.thrift.protocol.TField schemeField;
-      iprot.readStructBegin();
-      while (true)
-      {
-        schemeField = iprot.readFieldBegin();
-        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-          break;
-        }
-        switch (schemeField.id) {
-          case 1: // GROUP_ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.groupId = iprot.readString();
-              struct.setGroupIdIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 2: // DOMAIN_ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.domainId = iprot.readString();
-              struct.setDomainIdIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 3: // ADMIN_ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.adminId = iprot.readString();
-              struct.setAdminIdIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          default:
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-        }
-        iprot.readFieldEnd();
-      }
-      iprot.readStructEnd();
-
-      // check for required fields of primitive type, which can't be checked in the validate method
-      struct.validate();
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot, GroupAdmin struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.groupId != null) {
-        if (struct.isSetGroupId()) {
-          oprot.writeFieldBegin(GROUP_ID_FIELD_DESC);
-          oprot.writeString(struct.groupId);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.domainId != null) {
-        if (struct.isSetDomainId()) {
-          oprot.writeFieldBegin(DOMAIN_ID_FIELD_DESC);
-          oprot.writeString(struct.domainId);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.adminId != null) {
-        if (struct.isSetAdminId()) {
-          oprot.writeFieldBegin(ADMIN_ID_FIELD_DESC);
-          oprot.writeString(struct.adminId);
-          oprot.writeFieldEnd();
-        }
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class GroupAdminTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-    public GroupAdminTupleScheme getScheme() {
-      return new GroupAdminTupleScheme();
-    }
-  }
-
-  private static class GroupAdminTupleScheme extends org.apache.thrift.scheme.TupleScheme<GroupAdmin> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, GroupAdmin struct) throws org.apache.thrift.TException {
-      org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-      java.util.BitSet optionals = new java.util.BitSet();
-      if (struct.isSetGroupId()) {
-        optionals.set(0);
-      }
-      if (struct.isSetDomainId()) {
-        optionals.set(1);
-      }
-      if (struct.isSetAdminId()) {
-        optionals.set(2);
-      }
-      oprot.writeBitSet(optionals, 3);
-      if (struct.isSetGroupId()) {
-        oprot.writeString(struct.groupId);
-      }
-      if (struct.isSetDomainId()) {
-        oprot.writeString(struct.domainId);
-      }
-      if (struct.isSetAdminId()) {
-        oprot.writeString(struct.adminId);
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, GroupAdmin struct) throws org.apache.thrift.TException {
-      org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-      java.util.BitSet incoming = iprot.readBitSet(3);
-      if (incoming.get(0)) {
-        struct.groupId = iprot.readString();
-        struct.setGroupIdIsSet(true);
-      }
-      if (incoming.get(1)) {
-        struct.domainId = iprot.readString();
-        struct.setDomainIdIsSet(true);
-      }
-      if (incoming.get(2)) {
-        struct.adminId = iprot.readString();
-        struct.setAdminIdIsSet(true);
-      }
-    }
-  }
-
-  private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-    return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-  }
-}
-
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupOwner.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupOwner.java
deleted file mode 100644
index 3c0811b..0000000
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupOwner.java
+++ /dev/null
@@ -1,582 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (1.0.0-dev)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.sharing.registry.models;
-
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (1.0.0-dev)")
-public class GroupOwner implements org.apache.thrift.TBase<GroupOwner, GroupOwner._Fields>, java.io.Serializable, Cloneable, Comparable<GroupOwner> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GroupOwner");
-
-  private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)1);
-  private static final org.apache.thrift.protocol.TField DOMAIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("domainId", org.apache.thrift.protocol.TType.STRING, (short)2);
-  private static final org.apache.thrift.protocol.TField OWNER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("ownerId", org.apache.thrift.protocol.TType.STRING, (short)3);
-
-  private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new GroupOwnerStandardSchemeFactory();
-  private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new GroupOwnerTupleSchemeFactory();
-
-  public java.lang.String groupId; // optional
-  public java.lang.String domainId; // optional
-  public java.lang.String ownerId; // optional
-
-  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-    GROUP_ID((short)1, "groupId"),
-    DOMAIN_ID((short)2, "domainId"),
-    OWNER_ID((short)3, "ownerId");
-
-    private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-    static {
-      for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-        byName.put(field.getFieldName(), field);
-      }
-    }
-
-    /**
-     * Find the _Fields constant that matches fieldId, or null if its not found.
-     */
-    public static _Fields findByThriftId(int fieldId) {
-      switch(fieldId) {
-        case 1: // GROUP_ID
-          return GROUP_ID;
-        case 2: // DOMAIN_ID
-          return DOMAIN_ID;
-        case 3: // OWNER_ID
-          return OWNER_ID;
-        default:
-          return null;
-      }
-    }
-
-    /**
-     * Find the _Fields constant that matches fieldId, throwing an exception
-     * if it is not found.
-     */
-    public static _Fields findByThriftIdOrThrow(int fieldId) {
-      _Fields fields = findByThriftId(fieldId);
-      if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-      return fields;
-    }
-
-    /**
-     * Find the _Fields constant that matches name, or null if its not found.
-     */
-    public static _Fields findByName(java.lang.String name) {
-      return byName.get(name);
-    }
-
-    private final short _thriftId;
-    private final java.lang.String _fieldName;
-
-    _Fields(short thriftId, java.lang.String fieldName) {
-      _thriftId = thriftId;
-      _fieldName = fieldName;
-    }
-
-    public short getThriftFieldId() {
-      return _thriftId;
-    }
-
-    public java.lang.String getFieldName() {
-      return _fieldName;
-    }
-  }
-
-  // isset id assignments
-  private static final _Fields optionals[] = {_Fields.GROUP_ID,_Fields.DOMAIN_ID,_Fields.OWNER_ID};
-  public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-  static {
-    java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-    tmpMap.put(_Fields.GROUP_ID, new org.apache.thrift.meta_data.FieldMetaData("groupId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.DOMAIN_ID, new org.apache.thrift.meta_data.FieldMetaData("domainId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.OWNER_ID, new org.apache.thrift.meta_data.FieldMetaData("ownerId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GroupOwner.class, metaDataMap);
-  }
-
-  public GroupOwner() {
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public GroupOwner(GroupOwner other) {
-    if (other.isSetGroupId()) {
-      this.groupId = other.groupId;
-    }
-    if (other.isSetDomainId()) {
-      this.domainId = other.domainId;
-    }
-    if (other.isSetOwnerId()) {
-      this.ownerId = other.ownerId;
-    }
-  }
-
-  public GroupOwner deepCopy() {
-    return new GroupOwner(this);
-  }
-
-  @Override
-  public void clear() {
-    this.groupId = null;
-    this.domainId = null;
-    this.ownerId = null;
-  }
-
-  public java.lang.String getGroupId() {
-    return this.groupId;
-  }
-
-  public GroupOwner setGroupId(java.lang.String groupId) {
-    this.groupId = groupId;
-    return this;
-  }
-
-  public void unsetGroupId() {
-    this.groupId = null;
-  }
-
-  /** Returns true if field groupId is set (has been assigned a value) and false otherwise */
-  public boolean isSetGroupId() {
-    return this.groupId != null;
-  }
-
-  public void setGroupIdIsSet(boolean value) {
-    if (!value) {
-      this.groupId = null;
-    }
-  }
-
-  public java.lang.String getDomainId() {
-    return this.domainId;
-  }
-
-  public GroupOwner setDomainId(java.lang.String domainId) {
-    this.domainId = domainId;
-    return this;
-  }
-
-  public void unsetDomainId() {
-    this.domainId = null;
-  }
-
-  /** Returns true if field domainId is set (has been assigned a value) and false otherwise */
-  public boolean isSetDomainId() {
-    return this.domainId != null;
-  }
-
-  public void setDomainIdIsSet(boolean value) {
-    if (!value) {
-      this.domainId = null;
-    }
-  }
-
-  public java.lang.String getOwnerId() {
-    return this.ownerId;
-  }
-
-  public GroupOwner setOwnerId(java.lang.String ownerId) {
-    this.ownerId = ownerId;
-    return this;
-  }
-
-  public void unsetOwnerId() {
-    this.ownerId = null;
-  }
-
-  /** Returns true if field ownerId is set (has been assigned a value) and false otherwise */
-  public boolean isSetOwnerId() {
-    return this.ownerId != null;
-  }
-
-  public void setOwnerIdIsSet(boolean value) {
-    if (!value) {
-      this.ownerId = null;
-    }
-  }
-
-  public void setFieldValue(_Fields field, java.lang.Object value) {
-    switch (field) {
-    case GROUP_ID:
-      if (value == null) {
-        unsetGroupId();
-      } else {
-        setGroupId((java.lang.String)value);
-      }
-      break;
-
-    case DOMAIN_ID:
-      if (value == null) {
-        unsetDomainId();
-      } else {
-        setDomainId((java.lang.String)value);
-      }
-      break;
-
-    case OWNER_ID:
-      if (value == null) {
-        unsetOwnerId();
-      } else {
-        setOwnerId((java.lang.String)value);
-      }
-      break;
-
-    }
-  }
-
-  public java.lang.Object getFieldValue(_Fields field) {
-    switch (field) {
-    case GROUP_ID:
-      return getGroupId();
-
-    case DOMAIN_ID:
-      return getDomainId();
-
-    case OWNER_ID:
-      return getOwnerId();
-
-    }
-    throw new java.lang.IllegalStateException();
-  }
-
-  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-  public boolean isSet(_Fields field) {
-    if (field == null) {
-      throw new java.lang.IllegalArgumentException();
-    }
-
-    switch (field) {
-    case GROUP_ID:
-      return isSetGroupId();
-    case DOMAIN_ID:
-      return isSetDomainId();
-    case OWNER_ID:
-      return isSetOwnerId();
-    }
-    throw new java.lang.IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof GroupOwner)
-      return this.equals((GroupOwner)that);
-    return false;
-  }
-
-  public boolean equals(GroupOwner that) {
-    if (that == null)
-      return false;
-    if (this == that)
-      return true;
-
-    boolean this_present_groupId = true && this.isSetGroupId();
-    boolean that_present_groupId = true && that.isSetGroupId();
-    if (this_present_groupId || that_present_groupId) {
-      if (!(this_present_groupId && that_present_groupId))
-        return false;
-      if (!this.groupId.equals(that.groupId))
-        return false;
-    }
-
-    boolean this_present_domainId = true && this.isSetDomainId();
-    boolean that_present_domainId = true && that.isSetDomainId();
-    if (this_present_domainId || that_present_domainId) {
-      if (!(this_present_domainId && that_present_domainId))
-        return false;
-      if (!this.domainId.equals(that.domainId))
-        return false;
-    }
-
-    boolean this_present_ownerId = true && this.isSetOwnerId();
-    boolean that_present_ownerId = true && that.isSetOwnerId();
-    if (this_present_ownerId || that_present_ownerId) {
-      if (!(this_present_ownerId && that_present_ownerId))
-        return false;
-      if (!this.ownerId.equals(that.ownerId))
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    int hashCode = 1;
-
-    hashCode = hashCode * 8191 + ((isSetGroupId()) ? 131071 : 524287);
-    if (isSetGroupId())
-      hashCode = hashCode * 8191 + groupId.hashCode();
-
-    hashCode = hashCode * 8191 + ((isSetDomainId()) ? 131071 : 524287);
-    if (isSetDomainId())
-      hashCode = hashCode * 8191 + domainId.hashCode();
-
-    hashCode = hashCode * 8191 + ((isSetOwnerId()) ? 131071 : 524287);
-    if (isSetOwnerId())
-      hashCode = hashCode * 8191 + ownerId.hashCode();
-
-    return hashCode;
-  }
-
-  @Override
-  public int compareTo(GroupOwner other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetGroupId()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.groupId, other.groupId);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetDomainId()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.domainId, other.domainId);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = java.lang.Boolean.valueOf(isSetOwnerId()).compareTo(other.isSetOwnerId());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetOwnerId()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ownerId, other.ownerId);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    return 0;
-  }
-
-  public _Fields fieldForId(int fieldId) {
-    return _Fields.findByThriftId(fieldId);
-  }
-
-  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-    scheme(iprot).read(iprot, this);
-  }
-
-  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-    scheme(oprot).write(oprot, this);
-  }
-
-  @Override
-  public java.lang.String toString() {
-    java.lang.StringBuilder sb = new java.lang.StringBuilder("GroupOwner(");
-    boolean first = true;
-
-    if (isSetGroupId()) {
-      sb.append("groupId:");
-      if (this.groupId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.groupId);
-      }
-      first = false;
-    }
-    if (isSetDomainId()) {
-      if (!first) sb.append(", ");
-      sb.append("domainId:");
-      if (this.domainId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.domainId);
-      }
-      first = false;
-    }
-    if (isSetOwnerId()) {
-      if (!first) sb.append(", ");
-      sb.append("ownerId:");
-      if (this.ownerId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ownerId);
-      }
-      first = false;
-    }
-    sb.append(")");
-    return sb.toString();
-  }
-
-  public void validate() throws org.apache.thrift.TException {
-    // check for required fields
-    // check for sub-struct validity
-  }
-
-  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-    try {
-      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-    } catch (org.apache.thrift.TException te) {
-      throw new java.io.IOException(te);
-    }
-  }
-
-  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-    try {
-      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-    } catch (org.apache.thrift.TException te) {
-      throw new java.io.IOException(te);
-    }
-  }
-
-  private static class GroupOwnerStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-    public GroupOwnerStandardScheme getScheme() {
-      return new GroupOwnerStandardScheme();
-    }
-  }
-
-  private static class GroupOwnerStandardScheme extends org.apache.thrift.scheme.StandardScheme<GroupOwner> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, GroupOwner struct) throws org.apache.thrift.TException {
-      org.apache.thrift.protocol.TField schemeField;
-      iprot.readStructBegin();
-      while (true)
-      {
-        schemeField = iprot.readFieldBegin();
-        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-          break;
-        }
-        switch (schemeField.id) {
-          case 1: // GROUP_ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.groupId = iprot.readString();
-              struct.setGroupIdIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 2: // DOMAIN_ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.domainId = iprot.readString();
-              struct.setDomainIdIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 3: // OWNER_ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.ownerId = iprot.readString();
-              struct.setOwnerIdIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          default:
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-        }
-        iprot.readFieldEnd();
-      }
-      iprot.readStructEnd();
-
-      // check for required fields of primitive type, which can't be checked in the validate method
-      struct.validate();
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot, GroupOwner struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.groupId != null) {
-        if (struct.isSetGroupId()) {
-          oprot.writeFieldBegin(GROUP_ID_FIELD_DESC);
-          oprot.writeString(struct.groupId);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.domainId != null) {
-        if (struct.isSetDomainId()) {
-          oprot.writeFieldBegin(DOMAIN_ID_FIELD_DESC);
-          oprot.writeString(struct.domainId);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.ownerId != null) {
-        if (struct.isSetOwnerId()) {
-          oprot.writeFieldBegin(OWNER_ID_FIELD_DESC);
-          oprot.writeString(struct.ownerId);
-          oprot.writeFieldEnd();
-        }
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class GroupOwnerTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-    public GroupOwnerTupleScheme getScheme() {
-      return new GroupOwnerTupleScheme();
-    }
-  }
-
-  private static class GroupOwnerTupleScheme extends org.apache.thrift.scheme.TupleScheme<GroupOwner> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, GroupOwner struct) throws org.apache.thrift.TException {
-      org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-      java.util.BitSet optionals = new java.util.BitSet();
-      if (struct.isSetGroupId()) {
-        optionals.set(0);
-      }
-      if (struct.isSetDomainId()) {
-        optionals.set(1);
-      }
-      if (struct.isSetOwnerId()) {
-        optionals.set(2);
-      }
-      oprot.writeBitSet(optionals, 3);
-      if (struct.isSetGroupId()) {
-        oprot.writeString(struct.groupId);
-      }
-      if (struct.isSetDomainId()) {
-        oprot.writeString(struct.domainId);
-      }
-      if (struct.isSetOwnerId()) {
-        oprot.writeString(struct.ownerId);
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, GroupOwner struct) throws org.apache.thrift.TException {
-      org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-      java.util.BitSet incoming = iprot.readBitSet(3);
-      if (incoming.get(0)) {
-        struct.groupId = iprot.readString();
-        struct.setGroupIdIsSet(true);
-      }
-      if (incoming.get(1)) {
-        struct.domainId = iprot.readString();
-        struct.setDomainIdIsSet(true);
-      }
-      if (incoming.get(2)) {
-        struct.ownerId = iprot.readString();
-        struct.setOwnerIdIsSet(true);
-      }
-    }
-  }
-
-  private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-    return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-  }
-}
-
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java
index f0e876e..4e59a50 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java
@@ -1,5 +1,5 @@
 /**
- * Autogenerated by Thrift Compiler (1.0.0-dev)
+ * Autogenerated by Thrift Compiler (0.10.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -7,7 +7,7 @@
 package org.apache.airavata.sharing.registry.service.cpi;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (1.0.0-dev)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
 public class SharingRegistryService {
 
   public interface Iface {
@@ -171,51 +171,6 @@ public class SharingRegistryService {
     public boolean removeUsersFromGroup(java.lang.String domainId, java.util.List<java.lang.String> userIds, java.lang.String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
 
     /**
-     * <p>API method to transfer group ownership</p>
-     * 
-     * @param domainId
-     * @param groupId
-     * @param newOwnerId
-     */
-    public boolean transferGroupOwnership(java.lang.String domainId, java.lang.String groupId, java.lang.String newOwnerId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
-
-    /**
-     * <p>API method to add Admin for a group</p>
-     * 
-     * @param domainId
-     * @param groupId
-     * @param adminIds
-     */
-    public boolean addGroupAdmins(java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
-
-    /**
-     * <p>API method to remove Admin for a group</p>
-     * 
-     * @param domainId
-     * @param groupId
-     * @param adminIds
-     */
-    public boolean removeGroupAdmins(java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
-
-    /**
-     * <p>API method to check whether the user has Admin access for the group</p>
-     * 
-     * @param domainId
-     * @param groupId
-     * @param adminId
-     */
-    public boolean hasAdminAccess(java.lang.String domainId, java.lang.String groupId, java.lang.String adminId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
-
-    /**
-     * <p>API method to check whether the user has Admin access for the group</p>
-     * 
-     * @param domainId
-     * @param groupId
-     * @param ownerId
-     */
-    public boolean hasOwnerAccess(java.lang.String domainId, java.lang.String groupId, java.lang.String ownerId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
-
-    /**
      * <p>API method to get list of child users in a group. Only the direct members will be returned.</p>
      * 
      * @param domainId
@@ -512,16 +467,6 @@ public class SharingRegistryService {
 
     public void removeUsersFromGroup(java.lang.String domainId, java.util.List<java.lang.String> userIds, java.lang.String groupId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
 
-    public void transferGroupOwnership(java.lang.String domainId, java.lang.String groupId, java.lang.String newOwnerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
-
-    public void addGroupAdmins(java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
-
-    public void removeGroupAdmins(java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
-
-    public void hasAdminAccess(java.lang.String domainId, java.lang.String groupId, java.lang.String adminId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
-
-    public void hasOwnerAccess(java.lang.String domainId, java.lang.String groupId, java.lang.String ownerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
-
     public void getGroupMembersOfTypeUser(java.lang.String domainId, java.lang.String groupId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>> resultHandler) throws org.apache.thrift.TException;
 
     public void getGroupMembersOfTypeGroup(java.lang.String domainId, java.lang.String groupId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> resultHandler) throws org.apache.thrift.TException;
@@ -1142,146 +1087,6 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "removeUsersFromGroup failed: unknown result");
     }
 
-    public boolean transferGroupOwnership(java.lang.String domainId, java.lang.String groupId, java.lang.String newOwnerId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
-    {
-      send_transferGroupOwnership(domainId, groupId, newOwnerId);
-      return recv_transferGroupOwnership();
-    }
-
-    public void send_transferGroupOwnership(java.lang.String domainId, java.lang.String groupId, java.lang.String newOwnerId) throws org.apache.thrift.TException
-    {
-      transferGroupOwnership_args args = new transferGroupOwnership_args();
-      args.setDomainId(domainId);
-      args.setGroupId(groupId);
-      args.setNewOwnerId(newOwnerId);
-      sendBase("transferGroupOwnership", args);
-    }
-
-    public boolean recv_transferGroupOwnership() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
-    {
-      transferGroupOwnership_result result = new transferGroupOwnership_result();
-      receiveBase(result, "transferGroupOwnership");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.sre != null) {
-        throw result.sre;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "transferGroupOwnership failed: unknown result");
-    }
-
-    public boolean addGroupAdmins(java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
-    {
-      send_addGroupAdmins(domainId, groupId, adminIds);
-      return recv_addGroupAdmins();
-    }
-
-    public void send_addGroupAdmins(java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.thrift.TException
-    {
-      addGroupAdmins_args args = new addGroupAdmins_args();
-      args.setDomainId(domainId);
-      args.setGroupId(groupId);
-      args.setAdminIds(adminIds);
-      sendBase("addGroupAdmins", args);
-    }
-
-    public boolean recv_addGroupAdmins() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
-    {
-      addGroupAdmins_result result = new addGroupAdmins_result();
-      receiveBase(result, "addGroupAdmins");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.sre != null) {
-        throw result.sre;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addGroupAdmins failed: unknown result");
-    }
-
-    public boolean removeGroupAdmins(java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
-    {
-      send_removeGroupAdmins(domainId, groupId, adminIds);
-      return recv_removeGroupAdmins();
-    }
-
-    public void send_removeGroupAdmins(java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.thrift.TException
-    {
-      removeGroupAdmins_args args = new removeGroupAdmins_args();
-      args.setDomainId(domainId);
-      args.setGroupId(groupId);
-      args.setAdminIds(adminIds);
-      sendBase("removeGroupAdmins", args);
-    }
-
-    public boolean recv_removeGroupAdmins() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
-    {
-      removeGroupAdmins_result result = new removeGroupAdmins_result();
-      receiveBase(result, "removeGroupAdmins");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.sre != null) {
-        throw result.sre;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "removeGroupAdmins failed: unknown result");
-    }
-
-    public boolean hasAdminAccess(java.lang.String domainId, java.lang.String groupId, java.lang.String adminId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
-    {
-      send_hasAdminAccess(domainId, groupId, adminId);
-      return recv_hasAdminAccess();
-    }
-
-    public void send_hasAdminAccess(java.lang.String domainId, java.lang.String groupId, java.lang.String adminId) throws org.apache.thrift.TException
-    {
-      hasAdminAccess_args args = new hasAdminAccess_args();
-      args.setDomainId(domainId);
-      args.setGroupId(groupId);
-      args.setAdminId(adminId);
-      sendBase("hasAdminAccess", args);
-    }
-
-    public boolean recv_hasAdminAccess() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
-    {
-      hasAdminAccess_result result = new hasAdminAccess_result();
-      receiveBase(result, "hasAdminAccess");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.sre != null) {
-        throw result.sre;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "hasAdminAccess failed: unknown result");
-    }
-
-    public boolean hasOwnerAccess(java.lang.String domainId, java.lang.String groupId, java.lang.String ownerId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
-    {
-      send_hasOwnerAccess(domainId, groupId, ownerId);
-      return recv_hasOwnerAccess();
-    }
-
-    public void send_hasOwnerAccess(java.lang.String domainId, java.lang.String groupId, java.lang.String ownerId) throws org.apache.thrift.TException
-    {
-      hasOwnerAccess_args args = new hasOwnerAccess_args();
-      args.setDomainId(domainId);
-      args.setGroupId(groupId);
-      args.setOwnerId(ownerId);
-      sendBase("hasOwnerAccess", args);
-    }
-
-    public boolean recv_hasOwnerAccess() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
-    {
-      hasOwnerAccess_result result = new hasOwnerAccess_result();
-      receiveBase(result, "hasOwnerAccess");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.sre != null) {
-        throw result.sre;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "hasOwnerAccess failed: unknown result");
-    }
-
     public java.util.List<org.apache.airavata.sharing.registry.models.User> getGroupMembersOfTypeUser(java.lang.String domainId, java.lang.String groupId, int offset, int limit) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_getGroupMembersOfTypeUser(domainId, groupId, offset, limit);
@@ -2820,196 +2625,6 @@ public class SharingRegistryService {
       }
     }
 
-    public void transferGroupOwnership(java.lang.String domainId, java.lang.String groupId, java.lang.String newOwnerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      transferGroupOwnership_call method_call = new transferGroupOwnership_call(domainId, groupId, newOwnerId, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    public static class transferGroupOwnership_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
-      private java.lang.String domainId;
-      private java.lang.String groupId;
-      private java.lang.String newOwnerId;
-      public transferGroupOwnership_call(java.lang.String domainId, java.lang.String groupId, java.lang.String newOwnerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
-        super(client, protocolFactory, transport, resultHandler, false);
-        this.domainId = domainId;
-        this.groupId = groupId;
-        this.newOwnerId = newOwnerId;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("transferGroupOwnership", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        transferGroupOwnership_args args = new transferGroupOwnership_args();
-        args.setDomainId(domainId);
-        args.setGroupId(groupId);
-        args.setNewOwnerId(newOwnerId);
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new java.lang.IllegalStateException("Method call not finished!");
-        }
-        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
-        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_transferGroupOwnership();
-      }
-    }
-
-    public void addGroupAdmins(java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      addGroupAdmins_call method_call = new addGroupAdmins_call(domainId, groupId, adminIds, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    public static class addGroupAdmins_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
-      private java.lang.String domainId;
-      private java.lang.String groupId;
-      private java.util.List<java.lang.String> adminIds;
-      public addGroupAdmins_call(java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
-        super(client, protocolFactory, transport, resultHandler, false);
-        this.domainId = domainId;
-        this.groupId = groupId;
-        this.adminIds = adminIds;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addGroupAdmins", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        addGroupAdmins_args args = new addGroupAdmins_args();
-        args.setDomainId(domainId);
-        args.setGroupId(groupId);
-        args.setAdminIds(adminIds);
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new java.lang.IllegalStateException("Method call not finished!");
-        }
-        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
-        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_addGroupAdmins();
-      }
-    }
-
-    public void removeGroupAdmins(java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      removeGroupAdmins_call method_call = new removeGroupAdmins_call(domainId, groupId, adminIds, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    public static class removeGroupAdmins_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
-      private java.lang.String domainId;
-      private java.lang.String groupId;
-      private java.util.List<java.lang.String> adminIds;
-      public removeGroupAdmins_call(java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
-        super(client, protocolFactory, transport, resultHandler, false);
-        this.domainId = domainId;
-        this.groupId = groupId;
-        this.adminIds = adminIds;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeGroupAdmins", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        removeGroupAdmins_args args = new removeGroupAdmins_args();
-        args.setDomainId(domainId);
-        args.setGroupId(groupId);
-        args.setAdminIds(adminIds);
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new java.lang.IllegalStateException("Method call not finished!");
-        }
-        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
-        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_removeGroupAdmins();
-      }
-    }
-
-    public void hasAdminAccess(java.lang.String domainId, java.lang.String groupId, java.lang.String adminId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      hasAdminAccess_call method_call = new hasAdminAccess_call(domainId, groupId, adminId, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    public static class hasAdminAccess_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
-      private java.lang.String domainId;
-      private java.lang.String groupId;
-      private java.lang.String adminId;
-      public hasAdminAccess_call(java.lang.String domainId, java.lang.String groupId, java.lang.String adminId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
-        super(client, protocolFactory, transport, resultHandler, false);
-        this.domainId = domainId;
-        this.groupId = groupId;
-        this.adminId = adminId;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("hasAdminAccess", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        hasAdminAccess_args args = new hasAdminAccess_args();
-        args.setDomainId(domainId);
-        args.setGroupId(groupId);
-        args.setAdminId(adminId);
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new java.lang.IllegalStateException("Method call not finished!");
-        }
-        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
-        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_hasAdminAccess();
-      }
-    }
-
-    public void hasOwnerAccess(java.lang.String domainId, java.lang.String groupId, java.lang.String ownerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      hasOwnerAccess_call method_call = new hasOwnerAccess_call(domainId, groupId, ownerId, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    public static class hasOwnerAccess_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
-      private java.lang.String domainId;
-      private java.lang.String groupId;
-      private java.lang.String ownerId;
-      public hasOwnerAccess_call(java.lang.String domainId, java.lang.String groupId, java.lang.String ownerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
-        super(client, protocolFactory, transport, resultHandler, false);
-        this.domainId = domainId;
-        this.groupId = groupId;
-        this.ownerId = ownerId;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("hasOwnerAccess", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        hasOwnerAccess_args args = new hasOwnerAccess_args();
-        args.setDomainId(domainId);
-        args.setGroupId(groupId);
-        args.setOwnerId(ownerId);
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new java.lang.IllegalStateException("Method call not finished!");
-        }
-        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
-        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_hasOwnerAccess();
-      }
-    }
-
     public void getGroupMembersOfTypeUser(java.lang.String domainId, java.lang.String groupId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGroupMembersOfTypeUser_call method_call = new getGroupMembersOfTypeUser_call(domainId, groupId, offset, limit, resultHandler, this, ___protocolFactory, ___transport);
@@ -4150,11 +3765,6 @@ public class SharingRegistryService {
       processMap.put("getGroups", new getGroups());
       processMap.put("addUsersToGroup", new addUsersToGroup());
       processMap.put("removeUsersFromGroup", new removeUsersFromGroup());
-      processMap.put("transferGroupOwnership", new transferGroupOwnership());
-      processMap.put("addGroupAdmins", new addGroupAdmins());
-      processMap.put("removeGroupAdmins", new removeGroupAdmins());
-      processMap.put("hasAdminAccess", new hasAdminAccess());
-      processMap.put("hasOwnerAccess", new hasOwnerAccess());
       processMap.put("getGroupMembersOfTypeUser", new getGroupMembersOfTypeUser());
       processMap.put("getGroupMembersOfTypeGroup", new getGroupMembersOfTypeGroup());
       processMap.put("addChildGroupsToParentGroup", new addChildGroupsToParentGroup());
@@ -4679,131 +4289,6 @@ public class SharingRegistryService {
       }
     }
 
-    public static class transferGroupOwnership<I extends Iface> extends org.apache.thrift.ProcessFunction<I, transferGroupOwnership_args> {
-      public transferGroupOwnership() {
-        super("transferGroupOwnership");
-      }
-
-      public transferGroupOwnership_args getEmptyArgsInstance() {
-        return new transferGroupOwnership_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public transferGroupOwnership_result getResult(I iface, transferGroupOwnership_args args) throws org.apache.thrift.TException {
-        transferGroupOwnership_result result = new transferGroupOwnership_result();
-        try {
-          result.success = iface.transferGroupOwnership(args.domainId, args.groupId, args.newOwnerId);
-          result.setSuccessIsSet(true);
-        } catch (org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
-          result.sre = sre;
-        }
-        return result;
-      }
-    }
-
-    public static class addGroupAdmins<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addGroupAdmins_args> {
-      public addGroupAdmins() {
-        super("addGroupAdmins");
-      }
-
-      public addGroupAdmins_args getEmptyArgsInstance() {
-        return new addGroupAdmins_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public addGroupAdmins_result getResult(I iface, addGroupAdmins_args args) throws org.apache.thrift.TException {
-        addGroupAdmins_result result = new addGroupAdmins_result();
-        try {
-          result.success = iface.addGroupAdmins(args.domainId, args.groupId, args.adminIds);
-          result.setSuccessIsSet(true);
-        } catch (org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
-          result.sre = sre;
-        }
-        return result;
-      }
-    }
-
-    public static class removeGroupAdmins<I extends Iface> extends org.apache.thrift.ProcessFunction<I, removeGroupAdmins_args> {
-      public removeGroupAdmins() {
-        super("removeGroupAdmins");
-      }
-
-      public removeGroupAdmins_args getEmptyArgsInstance() {
-        return new removeGroupAdmins_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public removeGroupAdmins_result getResult(I iface, removeGroupAdmins_args args) throws org.apache.thrift.TException {
-        removeGroupAdmins_result result = new removeGroupAdmins_result();
-        try {
-          result.success = iface.removeGroupAdmins(args.domainId, args.groupId, args.adminIds);
-          result.setSuccessIsSet(true);
-        } catch (org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
-          result.sre = sre;
-        }
-        return result;
-      }
-    }
-
-    public static class hasAdminAccess<I extends Iface> extends org.apache.thrift.ProcessFunction<I, hasAdminAccess_args> {
-      public hasAdminAccess() {
-        super("hasAdminAccess");
-      }
-
-      public hasAdminAccess_args getEmptyArgsInstance() {
-        return new hasAdminAccess_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public hasAdminAccess_result getResult(I iface, hasAdminAccess_args args) throws org.apache.thrift.TException {
-        hasAdminAccess_result result = new hasAdminAccess_result();
-        try {
-          result.success = iface.hasAdminAccess(args.domainId, args.groupId, args.adminId);
-          result.setSuccessIsSet(true);
-        } catch (org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
-          result.sre = sre;
-        }
-        return result;
-      }
-    }
-
-    public static class hasOwnerAccess<I extends Iface> extends org.apache.thrift.ProcessFunction<I, hasOwnerAccess_args> {
-      public hasOwnerAccess() {
-        super("hasOwnerAccess");
-      }
-
-      public hasOwnerAccess_args getEmptyArgsInstance() {
-        return new hasOwnerAccess_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public hasOwnerAccess_result getResult(I iface, hasOwnerAccess_args args) throws org.apache.thrift.TException {
-        hasOwnerAccess_result result = new hasOwnerAccess_result();
-        try {
-          result.success = iface.hasOwnerAccess(args.domainId, args.groupId, args.ownerId);
-          result.setSuccessIsSet(true);
-        } catch (org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
-          result.sre = sre;
-        }
-        return result;
-      }
-    }
-
     public static class getGroupMembersOfTypeUser<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getGroupMembersOfTypeUser_args> {
       public getGroupMembersOfTypeUser() {
         super("getGroupMembersOfTypeUser");
@@ -5577,11 +5062,6 @@ public class SharingRegistryService {
       processMap.put("getGroups", new getGroups());
       processMap.put("addUsersToGroup", new addUsersToGroup());
       processMap.put("removeUsersFromGroup", new removeUsersFromGroup());
-      processMap.put("transferGroupOwnership", new transferGroupOwnership());
-      processMap.put("addGroupAdmins", new addGroupAdmins());
-      processMap.put("removeGroupAdmins", new removeGroupAdmins());
-      processMap.put("hasAdminAccess", new hasAdminAccess());
-      processMap.put("hasOwnerAccess", new hasOwnerAccess());
       processMap.put("getGroupMembersOfTypeUser", new getGroupMembersOfTypeUser());
       processMap.put("getGroupMembersOfTypeGroup", new getGroupMembersOfTypeGroup());
       processMap.put("addChildGroupsToParentGroup", new addChildGroupsToParentGroup());
@@ -6930,22 +6410,21 @@ public class SharingRegistryService {
       }
     }
 
-    public static class transferGroupOwnership<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, transferGroupOwnership_args, java.lang.Boolean> {
-      public transferGroupOwnership() {
-        super("transferGroupOwnership");
+    public static class getGroupMembersOfTypeUser<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroupMembersOfTypeUser_args, java.util.List<org.apache.airavata.sharing.registry.models.User>> {
+      public getGroupMembersOfTypeUser() {
+        super("getGroupMembersOfTypeUser");
       }
 
-      public transferGroupOwnership_args getEmptyArgsInstance() {
-        return new transferGroupOwnership_args();
+      public getGroupMembersOfTypeUser_args getEmptyArgsInstance() {
+        return new getGroupMembersOfTypeUser_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            transferGroupOwnership_result result = new transferGroupOwnership_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.User> o) {
+            getGroupMembersOfTypeUser_result result = new getGroupMembersOfTypeUser_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -6959,7 +6438,7 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            transferGroupOwnership_result result = new transferGroupOwnership_result();
+            getGroupMembersOfTypeUser_result result = new getGroupMembersOfTypeUser_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
@@ -6991,27 +6470,26 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, transferGroupOwnership_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.transferGroupOwnership(args.domainId, args.groupId, args.newOwnerId,resultHandler);
+      public void start(I iface, getGroupMembersOfTypeUser_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>> resultHandler) throws org.apache.thrift.TException {
+        iface.getGroupMembersOfTypeUser(args.domainId, args.groupId, args.offset, args.limit,resultHandler);
       }
     }
 
-    public static class addGroupAdmins<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addGroupAdmins_args, java.lang.Boolean> {
-      public addGroupAdmins() {
-        super("addGroupAdmins");
+    public static class getGroupMembersOfTypeGroup<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroupMembersOfTypeGroup_args, java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> {
+      public getGroupMembersOfTypeGroup() {
+        super("getGroupMembersOfTypeGroup");
       }
 
-      public addGroupAdmins_args getEmptyArgsInstance() {
-        return new addGroupAdmins_args();
+      public getGroupMembersOfTypeGroup_args getEmptyArgsInstance() {
+        return new getGroupMembersOfTypeGroup_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            addGroupAdmins_result result = new addGroupAdmins_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> o) {
+            getGroupMembersOfTypeGroup_result result = new getGroupMembersOfTypeGroup_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -7025,7 +6503,7 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            addGroupAdmins_result result = new addGroupAdmins_result();
+            getGroupMembersOfTypeGroup_result result = new getGroupMembersOfTypeGroup_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
@@ -7057,25 +6535,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, addGroupAdmins_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.addGroupAdmins(args.domainId, args.groupId, args.adminIds,resultHandler);
+      public void start(I iface, getGroupMembersOfTypeGroup_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> resultHandler) throws org.apache.thrift.TException {
+        iface.getGroupMembersOfTypeGroup(args.domainId, args.groupId, args.offset, args.limit,resultHandler);
       }
     }
 
-    public static class removeGroupAdmins<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeGroupAdmins_args, java.lang.Boolean> {
-      public removeGroupAdmins() {
-        super("removeGroupAdmins");
+    public static class addChildGroupsToParentGroup<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addChildGroupsToParentGroup_args, java.lang.Boolean> {
+      public addChildGroupsToParentGroup() {
+        super("addChildGroupsToParentGroup");
       }
 
-      public removeGroupAdmins_args getEmptyArgsInstance() {
-        return new removeGroupAdmins_args();
+      public addChildGroupsToParentGroup_args getEmptyArgsInstance() {
+        return new addChildGroupsToParentGroup_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            removeGroupAdmins_result result = new removeGroupAdmins_result();
+            addChildGroupsToParentGroup_result result = new addChildGroupsToParentGroup_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -7091,7 +6569,7 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            removeGroupAdmins_result result = new removeGroupAdmins_result();
+            addChildGroupsToParentGroup_result result = new addChildGroupsToParentGroup_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
@@ -7123,25 +6601,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, removeGroupAdmins_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.removeGroupAdmins(args.domainId, args.groupId, args.adminIds,resultHandler);
+      public void start(I iface, addChildGroupsToParentGroup_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.addChildGroupsToParentGroup(args.domainId, args.childIds, args.groupId,resultHandler);
       }
     }
 
-    public static class hasAdminAccess<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, hasAdminAccess_args, java.lang.Boolean> {
-      public hasAdminAccess() {
-        super("hasAdminAccess");
+    public static class removeChildGroupFromParentGroup<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeChildGroupFromParentGroup_args, java.lang.Boolean> {
+      public removeChildGroupFromParentGroup() {
+        super("removeChildGroupFromParentGroup");
       }
 
-      public hasAdminAccess_args getEmptyArgsInstance() {
-        return new hasAdminAccess_args();
+      public removeChildGroupFromParentGroup_args getEmptyArgsInstance() {
+        return new removeChildGroupFromParentGroup_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            hasAdminAccess_result result = new hasAdminAccess_result();
+            removeChildGroupFromParentGroup_result result = new removeChildGroupFromParentGroup_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -7157,7 +6635,7 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            hasAdminAccess_result result = new hasAdminAccess_result();
+            removeChildGroupFromParentGroup_result result = new removeChildGroupFromParentGroup_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
@@ -7189,27 +6667,26 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, hasAdminAccess_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.hasAdminAccess(args.domainId, args.groupId, args.adminId,resultHandler);
+      public void start(I iface, removeChildGroupFromParentGroup_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.removeChildGroupFromParentGroup(args.domainId, args.childId, args.groupId,resultHandler);
       }
     }
 
-    public static class hasOwnerAccess<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, hasOwnerAccess_args, java.lang.Boolean> {
-      public hasOwnerAccess() {
-        super("hasOwnerAccess");
+    public static class getAllMemberGroupsForUser<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllMemberGroupsForUser_args, java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> {
+      public getAllMemberGroupsForUser() {
+        super("getAllMemberGroupsForUser");
       }
 
-      public hasOwnerAccess_args getEmptyArgsInstance() {
-        return new hasOwnerAccess_args();
+      public getAllMemberGroupsForUser_args getEmptyArgsInstance() {
+        return new getAllMemberGroupsForUser_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            hasOwnerAccess_result result = new hasOwnerAccess_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> o) {
+            getAllMemberGroupsForUser_result result = new getAllMemberGroupsForUser_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -7223,7 +6700,7 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            hasOwnerAccess_result result = new hasOwnerAccess_result();
+            getAllMemberGroupsForUser_result result = new getAllMemberGroupsForUser_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
@@ -7255,25 +6732,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, hasOwnerAccess_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.hasOwnerAccess(args.domainId, args.groupId, args.ownerId,resultHandler);
+      public void start(I iface, getAllMemberGroupsForUser_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAllMemberGroupsForUser(args.domainId, args.userId,resultHandler);
       }
     }
 
-    public static class getGroupMembersOfTypeUser<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroupMembersOfTypeUser_args, java.util.List<org.apache.airavata.sharing.registry.models.User>> {
-      public getGroupMembersOfTypeUser() {
-        super("getGroupMembersOfTypeUser");
+    public static class createEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createEntityType_args, java.lang.String> {
+      public createEntityType() {
+        super("createEntityType");
       }
 
-      public getGroupMembersOfTypeUser_args getEmptyArgsInstance() {
-        return new getGroupMembersOfTypeUser_args();
+      public createEntityType_args getEmptyArgsInstance() {
+        return new createEntityType_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.User> o) {
-            getGroupMembersOfTypeUser_result result = new getGroupMembersOfTypeUser_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            createEntityType_result result = new createEntityType_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -7288,11 +6765,15 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getGroupMembersOfTypeUser_result result = new getGroupMembersOfTypeUser_result();
+            createEntityType_result result = new createEntityType_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
               msg = result;
+            } else if (e instanceof org.apache.airavata.sharing.registry.models.DuplicateEntryException) {
+              result.dee = (org.apache.airavata.sharing.registry.models.DuplicateEntryException) e;
+              result.setDeeIsSet(true);
+              msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
               _LOGGER.error("TTransportException inside handler", e);
               fb.close();
@@ -7320,26 +6801,27 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, getGroupMembersOfTypeUser_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>> resultHandler) throws org.apache.thrift.TException {
-        iface.getGroupMembersOfTypeUser(args.domainId, args.groupId, args.offset, args.limit,resultHandler);
+      public void start(I iface, createEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.createEntityType(args.entityType,resultHandler);
       }
     }
 
-    public static class getGroupMembersOfTypeGroup<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroupMembersOfTypeGroup_args, java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> {
-      public getGroupMembersOfTypeGroup() {
-        super("getGroupMembersOfTypeGroup");
+    public static class updateEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateEntityType_args, java.lang.Boolean> {
+      public updateEntityType() {
+        super("updateEntityType");
       }
 
-      public getGroupMembersOfTypeGroup_args getEmptyArgsInstance() {
-        return new getGroupMembersOfTypeGroup_args();
+      public updateEntityType_args getEmptyArgsInstance() {
+        return new updateEntityType_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> o) {
-            getGroupMembersOfTypeGroup_result result = new getGroupMembersOfTypeGroup_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            updateEntityType_result result = new updateEntityType_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -7353,7 +6835,7 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getGroupMembersOfTypeGroup_result result = new getGroupMembersOfTypeGroup_result();
+            updateEntityType_result result = new updateEntityType_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
@@ -7385,25 +6867,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, getGroupMembersOfTypeGroup_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> resultHandler) throws org.apache.thrift.TException {
-        iface.getGroupMembersOfTypeGroup(args.domainId, args.groupId, args.offset, args.limit,resultHandler);
+      public void start(I iface, updateEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateEntityType(args.entityType,resultHandler);
       }
     }
 
-    public static class addChildGroupsToParentGroup<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addChildGroupsToParentGroup_args, java.lang.Boolean> {
-      public addChildGroupsToParentGroup() {
-        super("addChildGroupsToParentGroup");
+    public static class isEntityTypeExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isEntityTypeExists_args, java.lang.Boolean> {
+      public isEntityTypeExists() {
+        super("isEntityTypeExists");
       }
 
-      public addChildGroupsToParentGroup_args getEmptyArgsInstance() {
-        return new addChildGroupsToParentGroup_args();
+      public isEntityTypeExists_args getEmptyArgsInstance() {
+        return new isEntityTypeExists_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            addChildGroupsToParentGroup_result result = new addChildGroupsToParentGroup_result();
+            isEntityTypeExists_result result = new isEntityTypeExists_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -7419,7 +6901,7 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            addChildGroupsToParentGroup_result result = new addChildGroupsToParentGroup_result();
+            isEntityTypeExists_result result = new isEntityTypeExists_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
@@ -7451,25 +6933,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, addChildGroupsToParentGroup_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.addChildGroupsToParentGroup(args.domainId, args.childIds, args.groupId,resultHandler);
+      public void start(I iface, isEntityTypeExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.isEntityTypeExists(args.domainId, args.entityTypeId,resultHandler);
       }
     }
 
-    public static class removeChildGroupFromParentGroup<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeChildGroupFromParentGroup_args, java.lang.Boolean> {
-      public removeChildGroupFromParentGroup() {
-        super("removeChildGroupFromParentGroup");
+    public static class deleteEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteEntityType_args, java.lang.Boolean> {
+      public deleteEntityType() {
+        super("deleteEntityType");
       }
 
-      public removeChildGroupFromParentGroup_args getEmptyArgsInstance() {
-        return new removeChildGroupFromParentGroup_args();
+      public deleteEntityType_args getEmptyArgsInstance() {
+        return new deleteEntityType_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            removeChildGroupFromParentGroup_result result = new removeChildGroupFromParentGroup_result();
+            deleteEntityType_result result = new deleteEntityType_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -7485,7 +6967,7 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            removeChildGroupFromParentGroup_result result = new removeChildGroupFromParentGroup_result();
+            deleteEntityType_result result = new deleteEntityType_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
@@ -7517,25 +6999,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, removeChildGroupFromParentGroup_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.removeChildGroupFromParentGroup(args.domainId, args.childId, args.groupId,resultHandler);
+      public void start(I iface, deleteEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteEntityType(args.domainId, args.entityTypeId,resultHandler);
       }
     }
 
-    public static class getAllMemberGroupsForUser<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllMemberGroupsForUser_args, java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> {
-      public getAllMemberGroupsForUser() {
-        super("getAllMemberGroupsForUser");
+    public static class getEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getEntityType_args, org.apache.airavata.sharing.registry.models.EntityType> {
+      public getEntityType() {
+        super("getEntityType");
       }
 
-      public getAllMemberGroupsForUser_args getEmptyArgsInstance() {
-        return new getAllMemberGroupsForUser_args();
+      public getEntityType_args getEmptyArgsInstance() {
+        return new getEntityType_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> o) {
-            getAllMemberGroupsForUser_result result = new getAllMemberGroupsForUser_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType>() { 
+          public void onComplete(org.apache.airavata.sharing.registry.models.EntityType o) {
+            getEntityType_result result = new getEntityType_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -7550,7 +7032,7 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getAllMemberGroupsForUser_result result = new getAllMemberGroupsForUser_result();
+            getEntityType_result result = new getEntityType_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
@@ -7582,25 +7064,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, getAllMemberGroupsForUser_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAllMemberGroupsForUser(args.domainId, args.userId,resultHandler);
+      public void start(I iface, getEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType> resultHandler) throws org.apache.thrift.TException {
+        iface.getEntityType(args.domainId, args.entityTypeId,resultHandler);
       }
     }
 
-    public static class createEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createEntityType_args, java.lang.String> {
-      public createEntityType() {
-        super("createEntityType");
+    public static class getEntityTypes<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getEntityTypes_args, java.util.List<org.apache.airavata.sharing.registry.models.EntityType>> {
+      public getEntityTypes() {
+        super("getEntityTypes");
       }
 
-      public createEntityType_args getEmptyArgsInstance() {
-        return new createEntityType_args();
+      public getEntityTypes_args getEmptyArgsInstance() {
+        return new getEntityTypes_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.EntityType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            createEntityType_result result = new createEntityType_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.EntityType>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.EntityType> o) {
+            getEntityTypes_result result = new getEntityTypes_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -7615,15 +7097,11 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            createEntityType_result result = new createEntityType_result();
+            getEntityTypes_result result = new getEntityTypes_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
               msg = result;
-            } else if (e instanceof org.apache.airavata.sharing.registry.models.DuplicateEntryException) {
-              result.dee = (org.apache.airavata.sharing.registry.models.DuplicateEntryException) e;
-              result.setDeeIsSet(true);
-              msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
               _LOGGER.error("TTransportException inside handler", e);
               fb.close();
@@ -7651,27 +7129,26 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, createEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.createEntityType(args.entityType,resultHandler);
+      public void start(I iface, getEntityTypes_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.EntityType>> resultHandler) throws org.apache.thrift.TException {
+        iface.getEntityTypes(args.domainId, args.offset, args.limit,resultHandler);
       }
     }
 
-    public static class updateEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateEntityType_args, java.lang.Boolean> {
-      public updateEntityType() {
-        super("updateEntityType");
+    public static class createEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createEntity_args, java.lang.String> {
+      public createEntity() {
+        super("createEntity");
       }
 
-      public updateEntityType_args getEmptyArgsInstance() {
-        return new updateEntityType_args();
+      public createEntity_args getEmptyArgsInstance() {
+        return new createEntity_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            updateEntityType_result result = new updateEntityType_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            createEntity_result result = new createEntity_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -7685,7 +7162,7 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateEntityType_result result = new updateEntityType_result();
+            createEntity_result result = new createEntity_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
@@ -7717,25 +7194,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, updateEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateEntityType(args.entityType,resultHandler);
+      public void start(I iface, createEntity_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.createEntity(args.entity,resultHandler);
       }
     }
 
-    public static class isEntityTypeExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isEntityTypeExists_args, java.lang.Boolean> {
-      public isEntityTypeExists() {
-        super("isEntityTypeExists");
+    public static class updateEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateEntity_args, java.lang.Boolean> {
+      public updateEntity() {
+        super("updateEntity");
       }
 
-      public isEntityTypeExists_args getEmptyArgsInstance() {
-        return new isEntityTypeExists_args();
+      public updateEntity_args getEmptyArgsInstance() {
+        return new updateEntity_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            isEntityTypeExists_result result = new isEntityTypeExists_result();
+            updateEntity_result result = new updateEntity_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -7751,7 +7228,7 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            isEntityTypeExists_result result = new isEntityTypeExists_result();
+            updateEntity_result result = new updateEntity_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
@@ -7783,25 +7260,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, isEntityTypeExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.isEntityTypeExists(args.domainId, args.entityTypeId,resultHandler);
+      public void start(I iface, updateEntity_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateEntity(args.entity,resultHandler);
       }
     }
 
-    public static class deleteEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteEntityType_args, java.lang.Boolean> {
-      public deleteEntityType() {
-        super("deleteEntityType");
+    public static class isEntityExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isEntityExists_args, java.lang.Boolean> {
+      public isEntityExists() {
+        super("isEntityExists");
       }
 
-      public deleteEntityType_args getEmptyArgsInstance() {
-        return new deleteEntityType_args();
+      public isEntityExists_args getEmptyArgsInstance() {
+        return new isEntityExists_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            deleteEntityType_result result = new deleteEntityType_result();
+            isEntityExists_result result = new isEntityExists_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -7817,7 +7294,7 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteEntityType_result result = new deleteEntityType_result();
+            isEntityExists_result result = new isEntityExists_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
@@ -7849,26 +7326,27 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, deleteEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteEntityType(args.domainId, args.entityTypeId,resultHandler);
+      public void start(I iface, isEntityExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.isEntityExists(args.domainId, args.entityId,resultHandler);
       }
     }
 
-    public static class getEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getEntityType_args, org.apache.airavata.sharing.registry.models.EntityType> {
-      public getEntityType() {
-        super("getEntityType");
+    public static class deleteEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteEntity_args, java.lang.Boolean> {
+      public deleteEntity() {
+        super("deleteEntity");
       }
 
-      public getEntityType_args getEmptyArgsInstance() {
-        return new getEntityType_args();
+      public deleteEntity_args getEmptyArgsInstance() {
+        return new deleteEntity_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType>() { 
-          public void onComplete(org.apache.airavata.sharing.registry.models.EntityType o) {
-            getEntityType_result result = new getEntityType_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            deleteEntity_result result = new deleteEntity_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -7882,7 +7360,7 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getEntityType_result result = new getEntityType_result();
+            deleteEntity_result result = new deleteEntity_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
@@ -7914,25 +7392,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, getEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType> resultHandler) throws org.apache.thrift.TException {
-        iface.getEntityType(args.domainId, args.entityTypeId,resultHandler);
+      public void start(I iface, deleteEntity_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteEntity(args.domainId, args.entityId,resultHandler);
       }
     }
 
-    public static class getEntityTypes<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getEntityTypes_args, java.util.List<org.apache.airavata.sharing.registry.models.EntityType>> {
-      public getEntityTypes() {
-        super("getEntityTypes");
+    public static class getEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getEntity_args, org.apache.airavata.sharing.registry.models.Entity> {
+      public getEntity() {
+        super("getEntity");
       }
 
-      public getEntityTypes_args getEmptyArgsInstance() {
-        return new getEntityTypes_args();
+      public getEntity_args getEmptyArgsInstance() {
+        return new getEntity_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.EntityType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.EntityType>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.EntityType> o) {
-            getEntityTypes_result result = new getEntityTypes_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity>() { 
+          public void onComplete(org.apache.airavata.sharing.registry.models.Entity o) {
+            getEntity_result result = new getEntity_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -7947,7 +7425,7 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getEntityTypes_result result = new getEntityTypes_result();
+            getEntity_result result = new getEntity_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
@@ -7979,25 +7457,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, getEntityTypes_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.EntityType>> resultHandler) throws org.apache.thrift.TException {
-        iface.getEntityTypes(args.domainId, args.offset, args.limit,resultHandler);
+      public void start(I iface, getEntity_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity> resultHandler) throws org.apache.thrift.TException {
+        iface.getEntity(args.domainId, args.entityId,resultHandler);
       }
     }
 
-    public static class createEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createEntity_args, java.lang.String> {
-      public createEntity() {
-        super("createEntity");
+    public static class searchEntities<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, searchEntities_args, java.util.List<org.apache.airavata.sharing.registry.models.Entity>> {
+      public searchEntities() {
+        super("searchEntities");
       }
 
-      public createEntity_args getEmptyArgsInstance() {
-        return new createEntity_args();
+      public searchEntities_args getEmptyArgsInstance() {
+        return new searchEntities_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.Entity>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            createEntity_result result = new createEntity_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.Entity>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.Entity> o) {
+            searchEntities_result result = new searchEntities_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -8012,7 +7490,7 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            createEntity_result result = new createEntity_result();
+            searchEntities_result result = new searchEntities_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
@@ -8044,27 +7522,26 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, createEntity_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.createEntity(args.entity,resultHandler);
+      public void start(I iface, searchEntities_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.Entity>> resultHandler) throws org.apache.thrift.TException {
+        iface.searchEntities(args.domainId, args.userId, args.filters, args.offset, args.limit,resultHandler);
       }
     }
 
-    public static class updateEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateEntity_args, java.lang.Boolean> {
-      public updateEntity() {
-        super("updateEntity");
+    public static class getListOfSharedUsers<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getListOfSharedUsers_args, java.util.List<org.apache.airavata.sharing.registry.models.User>> {
+      public getListOfSharedUsers() {
+        super("getListOfSharedUsers");
       }
 
-      public updateEntity_args getEmptyArgsInstance() {
-        return new updateEntity_args();
+      public getListOfSharedUsers_args getEmptyArgsInstance() {
+        return new getListOfSharedUsers_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            updateEntity_result result = new updateEntity_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.User> o) {
+            getListOfSharedUsers_result result = new getListOfSharedUsers_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -8078,7 +7555,7 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updateEntity_result result = new updateEntity_result();
+            getListOfSharedUsers_result result = new getListOfSharedUsers_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
@@ -8110,27 +7587,26 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, updateEntity_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateEntity(args.entity,resultHandler);
+      public void start(I iface, getListOfSharedUsers_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>> resultHandler) throws org.apache.thrift.TException {
+        iface.getListOfSharedUsers(args.domainId, args.entityId, args.permissionTypeId,resultHandler);
       }
     }
 
-    public static class isEntityExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isEntityExists_args, java.lang.Boolean> {
-      public isEntityExists() {
-        super("isEntityExists");
+    public static class getListOfSharedGroups<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getListOfSharedGroups_args, java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> {
+      public getListOfSharedGroups() {
+        super("getListOfSharedGroups");
       }
 
-      public isEntityExists_args getEmptyArgsInstance() {
-        return new isEntityExists_args();
+      public getListOfSharedGroups_args getEmptyArgsInstance() {
+        return new getListOfSharedGroups_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            isEntityExists_result result = new isEntityExists_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> o) {
+            getListOfSharedGroups_result result = new getListOfSharedGroups_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -8144,7 +7620,7 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            isEntityExists_result result = new isEntityExists_result();
+            getListOfSharedGroups_result result = new getListOfSharedGroups_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
@@ -8176,27 +7652,26 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, isEntityExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.isEntityExists(args.domainId, args.entityId,resultHandler);
+      public void start(I iface, getListOfSharedGroups_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> resultHandler) throws org.apache.thrift.TException {
+        iface.getListOfSharedGroups(args.domainId, args.entityId, args.permissionTypeId,resultHandler);
       }
     }
 
-    public static class deleteEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteEntity_args, java.lang.Boolean> {
-      public deleteEntity() {
-        super("deleteEntity");
+    public static class createPermissionType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createPermissionType_args, java.lang.String> {
+      public createPermissionType() {
+        super("createPermissionType");
       }
 
-      public deleteEntity_args getEmptyArgsInstance() {
-        return new deleteEntity_args();
+      public createPermissionType_args getEmptyArgsInstance() {
+        return new createPermissionType_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            deleteEntity_result result = new deleteEntity_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            createPermissionType_result result = new createPermissionType_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -8210,11 +7685,15 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteEntity_result result = new deleteEntity_result();
+            createPermissionType_result result = new createPermissionType_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
               msg = result;
+            } else if (e instanceof org.apache.airavata.sharing.registry.models.DuplicateEntryException) {
+              result.dee = (org.apache.airavata.sharing.registry.models.DuplicateEntryException) e;
+              result.setDeeIsSet(true);
+              msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
               _LOGGER.error("TTransportException inside handler", e);
               fb.close();
@@ -8242,26 +7721,27 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, deleteEntity_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteEntity(args.domainId, args.entityId,resultHandler);
+      public void start(I iface, createPermissionType_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.createPermissionType(args.permissionType,resultHandler);
       }
     }
 
-    public static class getEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getEntity_args, org.apache.airavata.sharing.registry.models.Entity> {
-      public getEntity() {
-        super("getEntity");
+    public static class updatePermissionType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updatePermissionType_args, java.lang.Boolean> {
+      public updatePermissionType() {
+        super("updatePermissionType");
       }
 
-      public getEntity_args getEmptyArgsInstance() {
-        return new getEntity_args();
+      public updatePermissionType_args getEmptyArgsInstance() {
+        return new updatePermissionType_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity>() { 
-          public void onComplete(org.apache.airavata.sharing.registry.models.Entity o) {
-            getEntity_result result = new getEntity_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            updatePermissionType_result result = new updatePermissionType_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -8275,7 +7755,7 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getEntity_result result = new getEntity_result();
+            updatePermissionType_result result = new updatePermissionType_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
@@ -8307,26 +7787,27 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, getEntity_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity> resultHandler) throws org.apache.thrift.TException {
-        iface.getEntity(args.domainId, args.entityId,resultHandler);
+      public void start(I iface, updatePermissionType_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updatePermissionType(args.permissionType,resultHandler);
       }
     }
 
-    public static class searchEntities<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, searchEntities_args, java.util.List<org.apache.airavata.sharing.registry.models.Entity>> {
-      public searchEntities() {
-        super("searchEntities");
+    public static class isPermissionExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isPermissionExists_args, java.lang.Boolean> {
+      public isPermissionExists() {
+        super("isPermissionExists");
       }
 
-      public searchEntities_args getEmptyArgsInstance() {
-        return new searchEntities_args();
+      public isPermissionExists_args getEmptyArgsInstance() {
+        return new isPermissionExists_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.Entity>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.Entity>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.Entity> o) {
-            searchEntities_result result = new searchEntities_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            isPermissionExists_result result = new isPermissionExists_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -8340,7 +7821,7 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            searchEntities_result result = new searchEntities_result();
+            isPermissionExists_result result = new isPermissionExists_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
@@ -8372,26 +7853,27 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, searchEntities_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.Entity>> resultHandler) throws org.apache.thrift.TException {
-        iface.searchEntities(args.domainId, args.userId, args.filters, args.offset, args.limit,resultHandler);
+      public void start(I iface, isPermissionExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.isPermissionExists(args.dimainId, args.permissionId,resultHandler);
       }
     }
 
-    public static class getListOfSharedUsers<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getListOfSharedUsers_args, java.util.List<org.apache.airavata.sharing.registry.models.User>> {
-      public getListOfSharedUsers() {
-        super("getListOfSharedUsers");
+    public static class deletePermissionType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deletePermissionType_args, java.lang.Boolean> {
+      public deletePermissionType() {
+        super("deletePermissionType");
       }
 
-      public getListOfSharedUsers_args getEmptyArgsInstance() {
-        return new getListOfSharedUsers_args();
+      public deletePermissionType_args getEmptyArgsInstance() {
+        return new deletePermissionType_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.User> o) {
-            getListOfSharedUsers_result result = new getListOfSharedUsers_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            deletePermissionType_result result = new deletePermissionType_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -8405,7 +7887,7 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getListOfSharedUsers_result result = new getListOfSharedUsers_result();
+            deletePermissionType_result result = new deletePermissionType_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
@@ -8437,25 +7919,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, getListOfSharedUsers_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>> resultHandler) throws org.apache.thrift.TException {
-        iface.getListOfSharedUsers(args.domainId, args.entityId, args.permissionTypeId,resultHandler);
+      public void start(I iface, deletePermissionType_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deletePermissionType(args.domainId, args.permissionTypeId,resultHandler);
       }
     }
 
-    public static class getListOfSharedGroups<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getListOfSharedGroups_args, java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> {
-      public getListOfSharedGroups() {
-        super("getListOfSharedGroups");
+    public static class getPermissionType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getPermissionType_args, org.apache.airavata.sharing.registry.models.PermissionType> {
+      public getPermissionType() {
+        super("getPermissionType");
       }
 
-      public getListOfSharedGroups_args getEmptyArgsInstance() {
-        return new getListOfSharedGroups_args();
+      public getPermissionType_args getEmptyArgsInstance() {
+        return new getPermissionType_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.PermissionType> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> o) {
-            getListOfSharedGroups_result result = new getListOfSharedGroups_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.PermissionType>() { 
+          public void onComplete(org.apache.airavata.sharing.registry.models.PermissionType o) {
+            getPermissionType_result result = new getPermissionType_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -8470,7 +7952,7 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getListOfSharedGroups_result result = new getListOfSharedGroups_result();
+            getPermissionType_result result = new getPermissionType_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
@@ -8502,25 +7984,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, getListOfSharedGroups_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> resultHandler) throws org.apache.thrift.TException {
-        iface.getListOfSharedGroups(args.domainId, args.entityId, args.permissionTypeId,resultHandler);
+      public void start(I iface, getPermissionType_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.PermissionType> resultHandler) throws org.apache.thrift.TException {
+        iface.getPermissionType(args.domainId, args.permissionTypeId,resultHandler);
       }
     }
 
-    public static class createPermissionType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createPermissionType_args, java.lang.String> {
-      public createPermissionType() {
-        super("createPermissionType");
+    public static class getPermissionTypes<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getPermissionTypes_args, java.util.List<org.apache.airavata.sharing.registry.models.PermissionType>> {
+      public getPermissionTypes() {
+        super("getPermissionTypes");
       }
 
-      public createPermissionType_args getEmptyArgsInstance() {
-        return new createPermissionType_args();
+      public getPermissionTypes_args getEmptyArgsInstance() {
+        return new getPermissionTypes_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.PermissionType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            createPermissionType_result result = new createPermissionType_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.PermissionType>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.PermissionType> o) {
+            getPermissionTypes_result result = new getPermissionTypes_result();
             result.success = o;
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -8535,15 +8017,11 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            createPermissionType_result result = new createPermissionType_result();
+            getPermissionTypes_result result = new getPermissionTypes_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
               msg = result;
-            } else if (e instanceof org.apache.airavata.sharing.registry.models.DuplicateEntryException) {
-              result.dee = (org.apache.airavata.sharing.registry.models.DuplicateEntryException) e;
-              result.setDeeIsSet(true);
-              msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
               _LOGGER.error("TTransportException inside handler", e);
               fb.close();
@@ -8571,25 +8049,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, createPermissionType_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.createPermissionType(args.permissionType,resultHandler);
+      public void start(I iface, getPermissionTypes_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.PermissionType>> resultHandler) throws org.apache.thrift.TException {
+        iface.getPermissionTypes(args.domainId, args.offset, args.limit,resultHandler);
       }
     }
 
-    public static class updatePermissionType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updatePermissionType_args, java.lang.Boolean> {
-      public updatePermissionType() {
-        super("updatePermissionType");
+    public static class shareEntityWithUsers<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, shareEntityWithUsers_args, java.lang.Boolean> {
+      public shareEntityWithUsers() {
+        super("shareEntityWithUsers");
       }
 
-      public updatePermissionType_args getEmptyArgsInstance() {
-        return new updatePermissionType_args();
+      public shareEntityWithUsers_args getEmptyArgsInstance() {
+        return new shareEntityWithUsers_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            updatePermissionType_result result = new updatePermissionType_result();
+            shareEntityWithUsers_result result = new shareEntityWithUsers_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -8605,7 +8083,7 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            updatePermissionType_result result = new updatePermissionType_result();
+            shareEntityWithUsers_result result = new shareEntityWithUsers_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
@@ -8637,25 +8115,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, updatePermissionType_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updatePermissionType(args.permissionType,resultHandler);
+      public void start(I iface, shareEntityWithUsers_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.shareEntityWithUsers(args.domainId, args.entityId, args.userList, args.perssionTypeId, args.cascadePermission,resultHandler);
       }
     }
 
-    public static class isPermissionExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isPermissionExists_args, java.lang.Boolean> {
-      public isPermissionExists() {
-        super("isPermissionExists");
+    public static class revokeEntitySharingFromUsers<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, revokeEntitySharingFromUsers_args, java.lang.Boolean> {
+      public revokeEntitySharingFromUsers() {
+        super("revokeEntitySharingFromUsers");
       }
 
-      public isPermissionExists_args getEmptyArgsInstance() {
-        return new isPermissionExists_args();
+      public revokeEntitySharingFromUsers_args getEmptyArgsInstance() {
+        return new revokeEntitySharingFromUsers_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            isPermissionExists_result result = new isPermissionExists_result();
+            revokeEntitySharingFromUsers_result result = new revokeEntitySharingFromUsers_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -8671,7 +8149,7 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            isPermissionExists_result result = new isPermissionExists_result();
+            revokeEntitySharingFromUsers_result result = new revokeEntitySharingFromUsers_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
@@ -8703,25 +8181,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, isPermissionExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.isPermissionExists(args.dimainId, args.permissionId,resultHandler);
+      public void start(I iface, revokeEntitySharingFromUsers_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.revokeEntitySharingFromUsers(args.domainId, args.entityId, args.userList, args.perssionTypeId,resultHandler);
       }
     }
 
-    public static class deletePermissionType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deletePermissionType_args, java.lang.Boolean> {
-      public deletePermissionType() {
-        super("deletePermissionType");
+    public static class shareEntityWithGroups<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, shareEntityWithGroups_args, java.lang.Boolean> {
+      public shareEntityWithGroups() {
+        super("shareEntityWithGroups");
       }
 
-      public deletePermissionType_args getEmptyArgsInstance() {
-        return new deletePermissionType_args();
+      public shareEntityWithGroups_args getEmptyArgsInstance() {
+        return new shareEntityWithGroups_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            deletePermissionType_result result = new deletePermissionType_result();
+            shareEntityWithGroups_result result = new shareEntityWithGroups_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -8737,72 +8215,7 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deletePermissionType_result result = new deletePermissionType_result();
-            if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
-              result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
-              result.setSreIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
-              _LOGGER.error("TTransportException inside handler", e);
-              fb.close();
-              return;
-            } else if (e instanceof org.apache.thrift.TApplicationException) {
-              _LOGGER.error("TApplicationException inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TApplicationException)e;
-            } else {
-              _LOGGER.error("Exception inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-            } catch (java.lang.Exception ex) {
-              _LOGGER.error("Exception writing to internal frame buffer", ex);
-              fb.close();
-            }
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, deletePermissionType_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deletePermissionType(args.domainId, args.permissionTypeId,resultHandler);
-      }
-    }
-
-    public static class getPermissionType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getPermissionType_args, org.apache.airavata.sharing.registry.models.PermissionType> {
-      public getPermissionType() {
-        super("getPermissionType");
-      }
-
-      public getPermissionType_args getEmptyArgsInstance() {
-        return new getPermissionType_args();
-      }
-
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.PermissionType> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.PermissionType>() { 
-          public void onComplete(org.apache.airavata.sharing.registry.models.PermissionType o) {
-            getPermissionType_result result = new getPermissionType_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-            } catch (org.apache.thrift.transport.TTransportException e) {
-              _LOGGER.error("TTransportException writing to internal frame buffer", e);
-              fb.close();
-            } catch (java.lang.Exception e) {
-              _LOGGER.error("Exception writing to internal frame buffer", e);
-              onError(e);
-            }
-          }
-          public void onError(java.lang.Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TSerializable msg;
-            getPermissionType_result result = new getPermissionType_result();
+            shareEntityWithGroups_result result = new shareEntityWithGroups_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
@@ -8834,26 +8247,27 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, getPermissionType_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.PermissionType> resultHandler) throws org.apache.thrift.TException {
-        iface.getPermissionType(args.domainId, args.permissionTypeId,resultHandler);
+      public void start(I iface, shareEntityWithGroups_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.shareEntityWithGroups(args.domainId, args.entityId, args.groupList, args.perssionTypeId, args.cascadePermission,resultHandler);
       }
     }
 
-    public static class getPermissionTypes<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getPermissionTypes_args, java.util.List<org.apache.airavata.sharing.registry.models.PermissionType>> {
-      public getPermissionTypes() {
-        super("getPermissionTypes");
+    public static class revokeEntitySharingFromGroups<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, revokeEntitySharingFromGroups_args, java.lang.Boolean> {
+      public revokeEntitySharingFromGroups() {
+        super("revokeEntitySharingFromGroups");
       }
 
-      public getPermissionTypes_args getEmptyArgsInstance() {
-        return new getPermissionTypes_args();
+      public revokeEntitySharingFromGroups_args getEmptyArgsInstance() {
+        return new revokeEntitySharingFromGroups_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.PermissionType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.PermissionType>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.PermissionType> o) {
-            getPermissionTypes_result result = new getPermissionTypes_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            revokeEntitySharingFromGroups_result result = new revokeEntitySharingFromGroups_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
             } catch (org.apache.thrift.transport.TTransportException e) {
@@ -8867,7 +8281,7 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            getPermissionTypes_result result = new getPermissionTypes_result();
+            revokeEntitySharingFromGroups_result result = new revokeEntitySharingFromGroups_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
@@ -8899,25 +8313,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, getPermissionTypes_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.PermissionType>> resultHandler) throws org.apache.thrift.TException {
-        iface.getPermissionTypes(args.domainId, args.offset, args.limit,resultHandler);
+      public void start(I iface, revokeEntitySharingFromGroups_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.revokeEntitySharingFromGroups(args.domainId, args.entityId, args.groupList, args.perssionTypeId,resultHandler);
       }
     }
 
-    public static class shareEntityWithUsers<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, shareEntityWithUsers_args, java.lang.Boolean> {
-      public shareEntityWithUsers() {
-        super("shareEntityWithUsers");
+    public static class userHasAccess<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, userHasAccess_args, java.lang.Boolean> {
+      public userHasAccess() {
+        super("userHasAccess");
       }
 
-      public shareEntityWithUsers_args getEmptyArgsInstance() {
-        return new shareEntityWithUsers_args();
+      public userHasAccess_args getEmptyArgsInstance() {
+        return new userHasAccess_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            shareEntityWithUsers_result result = new shareEntityWithUsers_result();
+            userHasAccess_result result = new userHasAccess_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -8933,271 +8347,7 @@ public class SharingRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            shareEntityWithUsers_result result = new shareEntityWithUsers_result();
-            if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
-              result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
-              result.setSreIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
-              _LOGGER.error("TTransportException inside handler", e);
-              fb.close();
-              return;
-            } else if (e instanceof org.apache.thrift.TApplicationException) {
-              _LOGGER.error("TApplicationException inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TApplicationException)e;
-            } else {
-              _LOGGER.error("Exception inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-            } catch (java.lang.Exception ex) {
-              _LOGGER.error("Exception writing to internal frame buffer", ex);
-              fb.close();
-            }
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, shareEntityWithUsers_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.shareEntityWithUsers(args.domainId, args.entityId, args.userList, args.perssionTypeId, args.cascadePermission,resultHandler);
-      }
-    }
-
-    public static class revokeEntitySharingFromUsers<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, revokeEntitySharingFromUsers_args, java.lang.Boolean> {
-      public revokeEntitySharingFromUsers() {
-        super("revokeEntitySharingFromUsers");
-      }
-
-      public revokeEntitySharingFromUsers_args getEmptyArgsInstance() {
-        return new revokeEntitySharingFromUsers_args();
-      }
-
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            revokeEntitySharingFromUsers_result result = new revokeEntitySharingFromUsers_result();
-            result.success = o;
-            result.setSuccessIsSet(true);
-            try {
-              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-            } catch (org.apache.thrift.transport.TTransportException e) {
-              _LOGGER.error("TTransportException writing to internal frame buffer", e);
-              fb.close();
-            } catch (java.lang.Exception e) {
-              _LOGGER.error("Exception writing to internal frame buffer", e);
-              onError(e);
-            }
-          }
-          public void onError(java.lang.Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TSerializable msg;
-            revokeEntitySharingFromUsers_result result = new revokeEntitySharingFromUsers_result();
-            if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
-              result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
-              result.setSreIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
-              _LOGGER.error("TTransportException inside handler", e);
-              fb.close();
-              return;
-            } else if (e instanceof org.apache.thrift.TApplicationException) {
-              _LOGGER.error("TApplicationException inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TApplicationException)e;
-            } else {
-              _LOGGER.error("Exception inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-            } catch (java.lang.Exception ex) {
-              _LOGGER.error("Exception writing to internal frame buffer", ex);
-              fb.close();
-            }
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, revokeEntitySharingFromUsers_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.revokeEntitySharingFromUsers(args.domainId, args.entityId, args.userList, args.perssionTypeId,resultHandler);
-      }
-    }
-
-    public static class shareEntityWithGroups<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, shareEntityWithGroups_args, java.lang.Boolean> {
-      public shareEntityWithGroups() {
-        super("shareEntityWithGroups");
-      }
-
-      public shareEntityWithGroups_args getEmptyArgsInstance() {
-        return new shareEntityWithGroups_args();
-      }
-
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            shareEntityWithGroups_result result = new shareEntityWithGroups_result();
-            result.success = o;
-            result.setSuccessIsSet(true);
-            try {
-              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-            } catch (org.apache.thrift.transport.TTransportException e) {
-              _LOGGER.error("TTransportException writing to internal frame buffer", e);
-              fb.close();
-            } catch (java.lang.Exception e) {
-              _LOGGER.error("Exception writing to internal frame buffer", e);
-              onError(e);
-            }
-          }
-          public void onError(java.lang.Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TSerializable msg;
-            shareEntityWithGroups_result result = new shareEntityWithGroups_result();
-            if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
-              result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
-              result.setSreIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
-              _LOGGER.error("TTransportException inside handler", e);
-              fb.close();
-              return;
-            } else if (e instanceof org.apache.thrift.TApplicationException) {
-              _LOGGER.error("TApplicationException inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TApplicationException)e;
-            } else {
-              _LOGGER.error("Exception inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-            } catch (java.lang.Exception ex) {
-              _LOGGER.error("Exception writing to internal frame buffer", ex);
-              fb.close();
-            }
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, shareEntityWithGroups_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.shareEntityWithGroups(args.domainId, args.entityId, args.groupList, args.perssionTypeId, args.cascadePermission,resultHandler);
-      }
-    }
-
-    public static class revokeEntitySharingFromGroups<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, revokeEntitySharingFromGroups_args, java.lang.Boolean> {
-      public revokeEntitySharingFromGroups() {
-        super("revokeEntitySharingFromGroups");
-      }
-
-      public revokeEntitySharingFromGroups_args getEmptyArgsInstance() {
-        return new revokeEntitySharingFromGroups_args();
-      }
-
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            revokeEntitySharingFromGroups_result result = new revokeEntitySharingFromGroups_result();
-            result.success = o;
-            result.setSuccessIsSet(true);
-            try {
-              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-            } catch (org.apache.thrift.transport.TTransportException e) {
-              _LOGGER.error("TTransportException writing to internal frame buffer", e);
-              fb.close();
-            } catch (java.lang.Exception e) {
-              _LOGGER.error("Exception writing to internal frame buffer", e);
-              onError(e);
-            }
-          }
-          public void onError(java.lang.Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TSerializable msg;
-            revokeEntitySharingFromGroups_result result = new revokeEntitySharingFromGroups_result();
-            if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
-              result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
-              result.setSreIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
-              _LOGGER.error("TTransportException inside handler", e);
-              fb.close();
-              return;
-            } else if (e instanceof org.apache.thrift.TApplicationException) {
-              _LOGGER.error("TApplicationException inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TApplicationException)e;
-            } else {
-              _LOGGER.error("Exception inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-            } catch (java.lang.Exception ex) {
-              _LOGGER.error("Exception writing to internal frame buffer", ex);
-              fb.close();
-            }
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, revokeEntitySharingFromGroups_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.revokeEntitySharingFromGroups(args.domainId, args.entityId, args.groupList, args.perssionTypeId,resultHandler);
-      }
-    }
-
-    public static class userHasAccess<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, userHasAccess_args, java.lang.Boolean> {
-      public userHasAccess() {
-        super("userHasAccess");
-      }
-
-      public userHasAccess_args getEmptyArgsInstance() {
-        return new userHasAccess_args();
-      }
-
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            userHasAccess_result result = new userHasAccess_result();
-            result.success = o;
-            result.setSuccessIsSet(true);
-            try {
-              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-            } catch (org.apache.thrift.transport.TTransportException e) {
-              _LOGGER.error("TTransportException writing to internal frame buffer", e);
-              fb.close();
-            } catch (java.lang.Exception e) {
-              _LOGGER.error("Exception writing to internal frame buffer", e);
-              onError(e);
-            }
-          }
-          public void onError(java.lang.Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TSerializable msg;
-            userHasAccess_result result = new userHasAccess_result();
+            userHasAccess_result result = new userHasAccess_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
               result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
               result.setSreIsSet(true);
@@ -27555,25 +26705,28 @@ public class SharingRegistryService {
     }
   }
 
-  public static class transferGroupOwnership_args implements org.apache.thrift.TBase<transferGroupOwnership_args, transferGroupOwnership_args._Fields>, java.io.Serializable, Cloneable, Comparable<transferGroupOwnership_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("transferGroupOwnership_args");
+  public static class getGroupMembersOfTypeUser_args implements org.apache.thrift.TBase<getGroupMembersOfTypeUser_args, getGroupMembersOfTypeUser_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupMembersOfTypeUser_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupMembersOfTypeUser_args");
 
     private static final org.apache.thrift.protocol.TField DOMAIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("domainId", org.apache.thrift.protocol.TType.STRING, (short)1);
     private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField NEW_OWNER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("newOwnerId", org.apache.thrift.protocol.TType.STRING, (short)3);
+    private static final org.apache.thrift.protocol.TField OFFSET_FIELD_DESC = new org.apache.thrift.protocol.TField("offset", org.apache.thrift.protocol.TType.I32, (short)3);
+    private static final org.apache.thrift.protocol.TField LIMIT_FIELD_DESC = new org.apache.thrift.protocol.TField("limit", org.apache.thrift.protocol.TType.I32, (short)4);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new transferGroupOwnership_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new transferGroupOwnership_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupMembersOfTypeUser_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupMembersOfTypeUser_argsTupleSchemeFactory();
 
     public java.lang.String domainId; // required
     public java.lang.String groupId; // required
-    public java.lang.String newOwnerId; // required
+    public int offset; // required
+    public int limit; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       DOMAIN_ID((short)1, "domainId"),
       GROUP_ID((short)2, "groupId"),
-      NEW_OWNER_ID((short)3, "newOwnerId");
+      OFFSET((short)3, "offset"),
+      LIMIT((short)4, "limit");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -27592,8 +26745,10 @@ public class SharingRegistryService {
             return DOMAIN_ID;
           case 2: // GROUP_ID
             return GROUP_ID;
-          case 3: // NEW_OWNER_ID
-            return NEW_OWNER_ID;
+          case 3: // OFFSET
+            return OFFSET;
+          case 4: // LIMIT
+            return LIMIT;
           default:
             return null;
         }
@@ -27634,64 +26789,76 @@ public class SharingRegistryService {
     }
 
     // isset id assignments
+    private static final int __OFFSET_ISSET_ID = 0;
+    private static final int __LIMIT_ISSET_ID = 1;
+    private byte __isset_bitfield = 0;
     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.DOMAIN_ID, new org.apache.thrift.meta_data.FieldMetaData("domainId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      tmpMap.put(_Fields.DOMAIN_ID, new org.apache.thrift.meta_data.FieldMetaData("domainId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.GROUP_ID, new org.apache.thrift.meta_data.FieldMetaData("groupId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.NEW_OWNER_ID, new org.apache.thrift.meta_data.FieldMetaData("newOwnerId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.OFFSET, new org.apache.thrift.meta_data.FieldMetaData("offset", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+      tmpMap.put(_Fields.LIMIT, new org.apache.thrift.meta_data.FieldMetaData("limit", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(transferGroupOwnership_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGroupMembersOfTypeUser_args.class, metaDataMap);
     }
 
-    public transferGroupOwnership_args() {
+    public getGroupMembersOfTypeUser_args() {
     }
 
-    public transferGroupOwnership_args(
+    public getGroupMembersOfTypeUser_args(
       java.lang.String domainId,
       java.lang.String groupId,
-      java.lang.String newOwnerId)
+      int offset,
+      int limit)
     {
       this();
       this.domainId = domainId;
       this.groupId = groupId;
-      this.newOwnerId = newOwnerId;
+      this.offset = offset;
+      setOffsetIsSet(true);
+      this.limit = limit;
+      setLimitIsSet(true);
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public transferGroupOwnership_args(transferGroupOwnership_args other) {
+    public getGroupMembersOfTypeUser_args(getGroupMembersOfTypeUser_args other) {
+      __isset_bitfield = other.__isset_bitfield;
       if (other.isSetDomainId()) {
         this.domainId = other.domainId;
       }
       if (other.isSetGroupId()) {
         this.groupId = other.groupId;
       }
-      if (other.isSetNewOwnerId()) {
-        this.newOwnerId = other.newOwnerId;
-      }
+      this.offset = other.offset;
+      this.limit = other.limit;
     }
 
-    public transferGroupOwnership_args deepCopy() {
-      return new transferGroupOwnership_args(this);
+    public getGroupMembersOfTypeUser_args deepCopy() {
+      return new getGroupMembersOfTypeUser_args(this);
     }
 
     @Override
     public void clear() {
       this.domainId = null;
       this.groupId = null;
-      this.newOwnerId = null;
+      setOffsetIsSet(false);
+      this.offset = 0;
+      setLimitIsSet(false);
+      this.limit = 0;
     }
 
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public transferGroupOwnership_args setDomainId(java.lang.String domainId) {
+    public getGroupMembersOfTypeUser_args setDomainId(java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -27715,7 +26882,7 @@ public class SharingRegistryService {
       return this.groupId;
     }
 
-    public transferGroupOwnership_args setGroupId(java.lang.String groupId) {
+    public getGroupMembersOfTypeUser_args setGroupId(java.lang.String groupId) {
       this.groupId = groupId;
       return this;
     }
@@ -27735,28 +26902,50 @@ public class SharingRegistryService {
       }
     }
 
-    public java.lang.String getNewOwnerId() {
-      return this.newOwnerId;
+    public int getOffset() {
+      return this.offset;
     }
 
-    public transferGroupOwnership_args setNewOwnerId(java.lang.String newOwnerId) {
-      this.newOwnerId = newOwnerId;
+    public getGroupMembersOfTypeUser_args setOffset(int offset) {
+      this.offset = offset;
+      setOffsetIsSet(true);
       return this;
     }
 
-    public void unsetNewOwnerId() {
-      this.newOwnerId = null;
+    public void unsetOffset() {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __OFFSET_ISSET_ID);
     }
 
-    /** Returns true if field newOwnerId is set (has been assigned a value) and false otherwise */
-    public boolean isSetNewOwnerId() {
-      return this.newOwnerId != null;
+    /** Returns true if field offset is set (has been assigned a value) and false otherwise */
+    public boolean isSetOffset() {
+      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __OFFSET_ISSET_ID);
     }
 
-    public void setNewOwnerIdIsSet(boolean value) {
-      if (!value) {
-        this.newOwnerId = null;
-      }
+    public void setOffsetIsSet(boolean value) {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __OFFSET_ISSET_ID, value);
+    }
+
+    public int getLimit() {
+      return this.limit;
+    }
+
+    public getGroupMembersOfTypeUser_args setLimit(int limit) {
+      this.limit = limit;
+      setLimitIsSet(true);
+      return this;
+    }
+
+    public void unsetLimit() {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __LIMIT_ISSET_ID);
+    }
+
+    /** Returns true if field limit is set (has been assigned a value) and false otherwise */
+    public boolean isSetLimit() {
+      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __LIMIT_ISSET_ID);
+    }
+
+    public void setLimitIsSet(boolean value) {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __LIMIT_ISSET_ID, value);
     }
 
     public void setFieldValue(_Fields field, java.lang.Object value) {
@@ -27777,11 +26966,19 @@ public class SharingRegistryService {
         }
         break;
 
-      case NEW_OWNER_ID:
+      case OFFSET:
         if (value == null) {
-          unsetNewOwnerId();
+          unsetOffset();
         } else {
-          setNewOwnerId((java.lang.String)value);
+          setOffset((java.lang.Integer)value);
+        }
+        break;
+
+      case LIMIT:
+        if (value == null) {
+          unsetLimit();
+        } else {
+          setLimit((java.lang.Integer)value);
         }
         break;
 
@@ -27796,8 +26993,11 @@ public class SharingRegistryService {
       case GROUP_ID:
         return getGroupId();
 
-      case NEW_OWNER_ID:
-        return getNewOwnerId();
+      case OFFSET:
+        return getOffset();
+
+      case LIMIT:
+        return getLimit();
 
       }
       throw new java.lang.IllegalStateException();
@@ -27814,8 +27014,10 @@ public class SharingRegistryService {
         return isSetDomainId();
       case GROUP_ID:
         return isSetGroupId();
-      case NEW_OWNER_ID:
-        return isSetNewOwnerId();
+      case OFFSET:
+        return isSetOffset();
+      case LIMIT:
+        return isSetLimit();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -27824,12 +27026,12 @@ public class SharingRegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof transferGroupOwnership_args)
-        return this.equals((transferGroupOwnership_args)that);
+      if (that instanceof getGroupMembersOfTypeUser_args)
+        return this.equals((getGroupMembersOfTypeUser_args)that);
       return false;
     }
 
-    public boolean equals(transferGroupOwnership_args that) {
+    public boolean equals(getGroupMembersOfTypeUser_args that) {
       if (that == null)
         return false;
       if (this == that)
@@ -27853,12 +27055,21 @@ public class SharingRegistryService {
           return false;
       }
 
-      boolean this_present_newOwnerId = true && this.isSetNewOwnerId();
-      boolean that_present_newOwnerId = true && that.isSetNewOwnerId();
-      if (this_present_newOwnerId || that_present_newOwnerId) {
-        if (!(this_present_newOwnerId && that_present_newOwnerId))
+      boolean this_present_offset = true;
+      boolean that_present_offset = true;
+      if (this_present_offset || that_present_offset) {
+        if (!(this_present_offset && that_present_offset))
           return false;
-        if (!this.newOwnerId.equals(that.newOwnerId))
+        if (this.offset != that.offset)
+          return false;
+      }
+
+      boolean this_present_limit = true;
+      boolean that_present_limit = true;
+      if (this_present_limit || that_present_limit) {
+        if (!(this_present_limit && that_present_limit))
+          return false;
+        if (this.limit != that.limit)
           return false;
       }
 
@@ -27877,15 +27088,15 @@ public class SharingRegistryService {
       if (isSetGroupId())
         hashCode = hashCode * 8191 + groupId.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetNewOwnerId()) ? 131071 : 524287);
-      if (isSetNewOwnerId())
-        hashCode = hashCode * 8191 + newOwnerId.hashCode();
+      hashCode = hashCode * 8191 + offset;
+
+      hashCode = hashCode * 8191 + limit;
 
       return hashCode;
     }
 
     @Override
-    public int compareTo(transferGroupOwnership_args other) {
+    public int compareTo(getGroupMembersOfTypeUser_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -27912,12 +27123,22 @@ public class SharingRegistryService {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetNewOwnerId()).compareTo(other.isSetNewOwnerId());
+      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetNewOwnerId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.newOwnerId, other.newOwnerId);
+      if (isSetOffset()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.offset, other.offset);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetLimit()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.limit, other.limit);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -27939,7 +27160,7 @@ public class SharingRegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("transferGroupOwnership_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getGroupMembersOfTypeUser_args(");
       boolean first = true;
 
       sb.append("domainId:");
@@ -27958,12 +27179,12 @@ public class SharingRegistryService {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("newOwnerId:");
-      if (this.newOwnerId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.newOwnerId);
-      }
+      sb.append("offset:");
+      sb.append(this.offset);
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("limit:");
+      sb.append(this.limit);
       first = false;
       sb.append(")");
       return sb.toString();
@@ -27971,15 +27192,11 @@ public class SharingRegistryService {
 
     public void validate() throws org.apache.thrift.TException {
       // check for required fields
-      if (domainId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'domainId' was not present! Struct: " + toString());
-      }
       if (groupId == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupId' was not present! Struct: " + toString());
       }
-      if (newOwnerId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'newOwnerId' was not present! Struct: " + toString());
-      }
+      // alas, we cannot check 'offset' because it's a primitive and you chose the non-beans generator.
+      // alas, we cannot check 'limit' because it's a primitive and you chose the non-beans generator.
       // check for sub-struct validity
     }
 
@@ -27993,21 +27210,23 @@ public class SharingRegistryService {
 
     private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
       try {
+        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+        __isset_bitfield = 0;
         read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
       } catch (org.apache.thrift.TException te) {
         throw new java.io.IOException(te);
       }
     }
 
-    private static class transferGroupOwnership_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public transferGroupOwnership_argsStandardScheme getScheme() {
-        return new transferGroupOwnership_argsStandardScheme();
+    private static class getGroupMembersOfTypeUser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroupMembersOfTypeUser_argsStandardScheme getScheme() {
+        return new getGroupMembersOfTypeUser_argsStandardScheme();
       }
     }
 
-    private static class transferGroupOwnership_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<transferGroupOwnership_args> {
+    private static class getGroupMembersOfTypeUser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupMembersOfTypeUser_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, transferGroupOwnership_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupMembersOfTypeUser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -28033,10 +27252,18 @@ public class SharingRegistryService {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 3: // NEW_OWNER_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.newOwnerId = iprot.readString();
-                struct.setNewOwnerIdIsSet(true);
+            case 3: // OFFSET
+              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+                struct.offset = iprot.readI32();
+                struct.setOffsetIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 4: // LIMIT
+              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+                struct.limit = iprot.readI32();
+                struct.setLimitIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -28049,10 +27276,16 @@ public class SharingRegistryService {
         iprot.readStructEnd();
 
         // check for required fields of primitive type, which can't be checked in the validate method
+        if (!struct.isSetOffset()) {
+          throw new org.apache.thrift.protocol.TProtocolException("Required field 'offset' was not found in serialized data! Struct: " + toString());
+        }
+        if (!struct.isSetLimit()) {
+          throw new org.apache.thrift.protocol.TProtocolException("Required field 'limit' was not found in serialized data! Struct: " + toString());
+        }
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, transferGroupOwnership_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupMembersOfTypeUser_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -28066,42 +27299,56 @@ public class SharingRegistryService {
           oprot.writeString(struct.groupId);
           oprot.writeFieldEnd();
         }
-        if (struct.newOwnerId != null) {
-          oprot.writeFieldBegin(NEW_OWNER_ID_FIELD_DESC);
-          oprot.writeString(struct.newOwnerId);
-          oprot.writeFieldEnd();
-        }
+        oprot.writeFieldBegin(OFFSET_FIELD_DESC);
+        oprot.writeI32(struct.offset);
+        oprot.writeFieldEnd();
+        oprot.writeFieldBegin(LIMIT_FIELD_DESC);
+        oprot.writeI32(struct.limit);
+        oprot.writeFieldEnd();
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
 
     }
 
-    private static class transferGroupOwnership_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public transferGroupOwnership_argsTupleScheme getScheme() {
-        return new transferGroupOwnership_argsTupleScheme();
+    private static class getGroupMembersOfTypeUser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroupMembersOfTypeUser_argsTupleScheme getScheme() {
+        return new getGroupMembersOfTypeUser_argsTupleScheme();
       }
     }
 
-    private static class transferGroupOwnership_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<transferGroupOwnership_args> {
+    private static class getGroupMembersOfTypeUser_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupMembersOfTypeUser_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, transferGroupOwnership_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, getGroupMembersOfTypeUser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        oprot.writeString(struct.domainId);
         oprot.writeString(struct.groupId);
-        oprot.writeString(struct.newOwnerId);
+        oprot.writeI32(struct.offset);
+        oprot.writeI32(struct.limit);
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetDomainId()) {
+          optionals.set(0);
+        }
+        oprot.writeBitSet(optionals, 1);
+        if (struct.isSetDomainId()) {
+          oprot.writeString(struct.domainId);
+        }
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, transferGroupOwnership_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, getGroupMembersOfTypeUser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.domainId = iprot.readString();
-        struct.setDomainIdIsSet(true);
         struct.groupId = iprot.readString();
         struct.setGroupIdIsSet(true);
-        struct.newOwnerId = iprot.readString();
-        struct.setNewOwnerIdIsSet(true);
+        struct.offset = iprot.readI32();
+        struct.setOffsetIsSet(true);
+        struct.limit = iprot.readI32();
+        struct.setLimitIsSet(true);
+        java.util.BitSet incoming = iprot.readBitSet(1);
+        if (incoming.get(0)) {
+          struct.domainId = iprot.readString();
+          struct.setDomainIdIsSet(true);
+        }
       }
     }
 
@@ -28110,16 +27357,16 @@ public class SharingRegistryService {
     }
   }
 
-  public static class transferGroupOwnership_result implements org.apache.thrift.TBase<transferGroupOwnership_result, transferGroupOwnership_result._Fields>, java.io.Serializable, Cloneable, Comparable<transferGroupOwnership_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("transferGroupOwnership_result");
+  public static class getGroupMembersOfTypeUser_result implements org.apache.thrift.TBase<getGroupMembersOfTypeUser_result, getGroupMembersOfTypeUser_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupMembersOfTypeUser_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupMembersOfTypeUser_result");
 
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
     private static final org.apache.thrift.protocol.TField SRE_FIELD_DESC = new org.apache.thrift.protocol.TField("sre", org.apache.thrift.protocol.TType.STRUCT, (short)1);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new transferGroupOwnership_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new transferGroupOwnership_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupMembersOfTypeUser_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupMembersOfTypeUser_resultTupleSchemeFactory();
 
-    public boolean success; // required
+    public java.util.List<org.apache.airavata.sharing.registry.models.User> success; // required
     public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -28184,82 +27431,100 @@ public class SharingRegistryService {
     }
 
     // isset id assignments
-    private static final int __SUCCESS_ISSET_ID = 0;
-    private byte __isset_bitfield = 0;
     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.sharing.registry.models.User.class))));
       tmpMap.put(_Fields.SRE, new org.apache.thrift.meta_data.FieldMetaData("sre", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.sharing.registry.models.SharingRegistryException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(transferGroupOwnership_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGroupMembersOfTypeUser_result.class, metaDataMap);
     }
 
-    public transferGroupOwnership_result() {
+    public getGroupMembersOfTypeUser_result() {
     }
 
-    public transferGroupOwnership_result(
-      boolean success,
+    public getGroupMembersOfTypeUser_result(
+      java.util.List<org.apache.airavata.sharing.registry.models.User> success,
       org.apache.airavata.sharing.registry.models.SharingRegistryException sre)
     {
       this();
       this.success = success;
-      setSuccessIsSet(true);
       this.sre = sre;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public transferGroupOwnership_result(transferGroupOwnership_result other) {
-      __isset_bitfield = other.__isset_bitfield;
-      this.success = other.success;
+    public getGroupMembersOfTypeUser_result(getGroupMembersOfTypeUser_result other) {
+      if (other.isSetSuccess()) {
+        java.util.List<org.apache.airavata.sharing.registry.models.User> __this__success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.User>(other.success.size());
+        for (org.apache.airavata.sharing.registry.models.User other_element : other.success) {
+          __this__success.add(new org.apache.airavata.sharing.registry.models.User(other_element));
+        }
+        this.success = __this__success;
+      }
       if (other.isSetSre()) {
         this.sre = new org.apache.airavata.sharing.registry.models.SharingRegistryException(other.sre);
       }
     }
 
-    public transferGroupOwnership_result deepCopy() {
-      return new transferGroupOwnership_result(this);
+    public getGroupMembersOfTypeUser_result deepCopy() {
+      return new getGroupMembersOfTypeUser_result(this);
     }
 
     @Override
     public void clear() {
-      setSuccessIsSet(false);
-      this.success = false;
+      this.success = null;
       this.sre = null;
     }
 
-    public boolean isSuccess() {
+    public int getSuccessSize() {
+      return (this.success == null) ? 0 : this.success.size();
+    }
+
+    public java.util.Iterator<org.apache.airavata.sharing.registry.models.User> getSuccessIterator() {
+      return (this.success == null) ? null : this.success.iterator();
+    }
+
+    public void addToSuccess(org.apache.airavata.sharing.registry.models.User elem) {
+      if (this.success == null) {
+        this.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.User>();
+      }
+      this.success.add(elem);
+    }
+
+    public java.util.List<org.apache.airavata.sharing.registry.models.User> getSuccess() {
       return this.success;
     }
 
-    public transferGroupOwnership_result setSuccess(boolean success) {
+    public getGroupMembersOfTypeUser_result setSuccess(java.util.List<org.apache.airavata.sharing.registry.models.User> success) {
       this.success = success;
-      setSuccessIsSet(true);
       return this;
     }
 
     public void unsetSuccess() {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+      this.success = null;
     }
 
     /** Returns true if field success is set (has been assigned a value) and false otherwise */
     public boolean isSetSuccess() {
-      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+      return this.success != null;
     }
 
     public void setSuccessIsSet(boolean value) {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
+      if (!value) {
+        this.success = null;
+      }
     }
 
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public transferGroupOwnership_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public getGroupMembersOfTypeUser_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -28285,7 +27550,7 @@ public class SharingRegistryService {
         if (value == null) {
           unsetSuccess();
         } else {
-          setSuccess((java.lang.Boolean)value);
+          setSuccess((java.util.List<org.apache.airavata.sharing.registry.models.User>)value);
         }
         break;
 
@@ -28303,7 +27568,7 @@ public class SharingRegistryService {
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
-        return isSuccess();
+        return getSuccess();
 
       case SRE:
         return getSre();
@@ -28331,23 +27596,23 @@ public class SharingRegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof transferGroupOwnership_result)
-        return this.equals((transferGroupOwnership_result)that);
+      if (that instanceof getGroupMembersOfTypeUser_result)
+        return this.equals((getGroupMembersOfTypeUser_result)that);
       return false;
     }
 
-    public boolean equals(transferGroupOwnership_result that) {
+    public boolean equals(getGroupMembersOfTypeUser_result that) {
       if (that == null)
         return false;
       if (this == that)
         return true;
 
-      boolean this_present_success = true;
-      boolean that_present_success = true;
+      boolean this_present_success = true && this.isSetSuccess();
+      boolean that_present_success = true && that.isSetSuccess();
       if (this_present_success || that_present_success) {
         if (!(this_present_success && that_present_success))
           return false;
-        if (this.success != that.success)
+        if (!this.success.equals(that.success))
           return false;
       }
 
@@ -28367,7 +27632,9 @@ public class SharingRegistryService {
     public int hashCode() {
       int hashCode = 1;
 
-      hashCode = hashCode * 8191 + ((success) ? 131071 : 524287);
+      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
+      if (isSetSuccess())
+        hashCode = hashCode * 8191 + success.hashCode();
 
       hashCode = hashCode * 8191 + ((isSetSre()) ? 131071 : 524287);
       if (isSetSre())
@@ -28377,7 +27644,7 @@ public class SharingRegistryService {
     }
 
     @Override
-    public int compareTo(transferGroupOwnership_result other) {
+    public int compareTo(getGroupMembersOfTypeUser_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -28421,11 +27688,15 @@ public class SharingRegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("transferGroupOwnership_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getGroupMembersOfTypeUser_result(");
       boolean first = true;
 
       sb.append("success:");
-      sb.append(this.success);
+      if (this.success == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.success);
+      }
       first = false;
       if (!first) sb.append(", ");
       sb.append("sre:");
@@ -28454,23 +27725,21 @@ public class SharingRegistryService {
 
     private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
       try {
-        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
-        __isset_bitfield = 0;
         read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
       } catch (org.apache.thrift.TException te) {
         throw new java.io.IOException(te);
       }
     }
 
-    private static class transferGroupOwnership_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public transferGroupOwnership_resultStandardScheme getScheme() {
-        return new transferGroupOwnership_resultStandardScheme();
+    private static class getGroupMembersOfTypeUser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroupMembersOfTypeUser_resultStandardScheme getScheme() {
+        return new getGroupMembersOfTypeUser_resultStandardScheme();
       }
     }
 
-    private static class transferGroupOwnership_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<transferGroupOwnership_result> {
+    private static class getGroupMembersOfTypeUser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupMembersOfTypeUser_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, transferGroupOwnership_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupMembersOfTypeUser_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -28481,8 +27750,19 @@ public class SharingRegistryService {
           }
           switch (schemeField.id) {
             case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
-                struct.success = iprot.readBool();
+              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+                {
+                  org.apache.thrift.protocol.TList _list40 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.User>(_list40.size);
+                  org.apache.airavata.sharing.registry.models.User _elem41;
+                  for (int _i42 = 0; _i42 < _list40.size; ++_i42)
+                  {
+                    _elem41 = new org.apache.airavata.sharing.registry.models.User();
+                    _elem41.read(iprot);
+                    struct.success.add(_elem41);
+                  }
+                  iprot.readListEnd();
+                }
                 struct.setSuccessIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
@@ -28508,13 +27788,20 @@ public class SharingRegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, transferGroupOwnership_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupMembersOfTypeUser_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.isSetSuccess()) {
+        if (struct.success != null) {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          oprot.writeBool(struct.success);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
+            for (org.apache.airavata.sharing.registry.models.User _iter43 : struct.success)
+            {
+              _iter43.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
           oprot.writeFieldEnd();
         }
         if (struct.sre != null) {
@@ -28528,16 +27815,16 @@ public class SharingRegistryService {
 
     }
 
-    private static class transferGroupOwnership_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public transferGroupOwnership_resultTupleScheme getScheme() {
-        return new transferGroupOwnership_resultTupleScheme();
+    private static class getGroupMembersOfTypeUser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroupMembersOfTypeUser_resultTupleScheme getScheme() {
+        return new getGroupMembersOfTypeUser_resultTupleScheme();
       }
     }
 
-    private static class transferGroupOwnership_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<transferGroupOwnership_result> {
+    private static class getGroupMembersOfTypeUser_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupMembersOfTypeUser_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, transferGroupOwnership_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, getGroupMembersOfTypeUser_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet optionals = new java.util.BitSet();
         if (struct.isSetSuccess()) {
@@ -28548,7 +27835,13 @@ public class SharingRegistryService {
         }
         oprot.writeBitSet(optionals, 2);
         if (struct.isSetSuccess()) {
-          oprot.writeBool(struct.success);
+          {
+            oprot.writeI32(struct.success.size());
+            for (org.apache.airavata.sharing.registry.models.User _iter44 : struct.success)
+            {
+              _iter44.write(oprot);
+            }
+          }
         }
         if (struct.isSetSre()) {
           struct.sre.write(oprot);
@@ -28556,11 +27849,21 @@ public class SharingRegistryService {
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, transferGroupOwnership_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, getGroupMembersOfTypeUser_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
-          struct.success = iprot.readBool();
+          {
+            org.apache.thrift.protocol.TList _list45 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.User>(_list45.size);
+            org.apache.airavata.sharing.registry.models.User _elem46;
+            for (int _i47 = 0; _i47 < _list45.size; ++_i47)
+            {
+              _elem46 = new org.apache.airavata.sharing.registry.models.User();
+              _elem46.read(iprot);
+              struct.success.add(_elem46);
+            }
+          }
           struct.setSuccessIsSet(true);
         }
         if (incoming.get(1)) {
@@ -28576,25 +27879,28 @@ public class SharingRegistryService {
     }
   }
 
-  public static class addGroupAdmins_args implements org.apache.thrift.TBase<addGroupAdmins_args, addGroupAdmins_args._Fields>, java.io.Serializable, Cloneable, Comparable<addGroupAdmins_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGroupAdmins_args");
+  public static class getGroupMembersOfTypeGroup_args implements org.apache.thrift.TBase<getGroupMembersOfTypeGroup_args, getGroupMembersOfTypeGroup_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupMembersOfTypeGroup_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupMembersOfTypeGroup_args");
 
     private static final org.apache.thrift.protocol.TField DOMAIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("domainId", org.apache.thrift.protocol.TType.STRING, (short)1);
     private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField ADMIN_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("adminIds", org.apache.thrift.protocol.TType.LIST, (short)3);
+    private static final org.apache.thrift.protocol.TField OFFSET_FIELD_DESC = new org.apache.thrift.protocol.TField("offset", org.apache.thrift.protocol.TType.I32, (short)3);
+    private static final org.apache.thrift.protocol.TField LIMIT_FIELD_DESC = new org.apache.thrift.protocol.TField("limit", org.apache.thrift.protocol.TType.I32, (short)4);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addGroupAdmins_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGroupAdmins_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupMembersOfTypeGroup_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupMembersOfTypeGroup_argsTupleSchemeFactory();
 
     public java.lang.String domainId; // required
     public java.lang.String groupId; // required
-    public java.util.List<java.lang.String> adminIds; // required
+    public int offset; // required
+    public int limit; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       DOMAIN_ID((short)1, "domainId"),
       GROUP_ID((short)2, "groupId"),
-      ADMIN_IDS((short)3, "adminIds");
+      OFFSET((short)3, "offset"),
+      LIMIT((short)4, "limit");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -28613,8 +27919,10 @@ public class SharingRegistryService {
             return DOMAIN_ID;
           case 2: // GROUP_ID
             return GROUP_ID;
-          case 3: // ADMIN_IDS
-            return ADMIN_IDS;
+          case 3: // OFFSET
+            return OFFSET;
+          case 4: // LIMIT
+            return LIMIT;
           default:
             return null;
         }
@@ -28655,6 +27963,9 @@ public class SharingRegistryService {
     }
 
     // isset id assignments
+    private static final int __OFFSET_ISSET_ID = 0;
+    private static final int __LIMIT_ISSET_ID = 1;
+    private byte __isset_bitfield = 0;
     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -28662,59 +27973,66 @@ public class SharingRegistryService {
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.GROUP_ID, new org.apache.thrift.meta_data.FieldMetaData("groupId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.ADMIN_IDS, new org.apache.thrift.meta_data.FieldMetaData("adminIds", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
-              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
+      tmpMap.put(_Fields.OFFSET, new org.apache.thrift.meta_data.FieldMetaData("offset", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+      tmpMap.put(_Fields.LIMIT, new org.apache.thrift.meta_data.FieldMetaData("limit", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addGroupAdmins_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGroupMembersOfTypeGroup_args.class, metaDataMap);
     }
 
-    public addGroupAdmins_args() {
+    public getGroupMembersOfTypeGroup_args() {
     }
 
-    public addGroupAdmins_args(
+    public getGroupMembersOfTypeGroup_args(
       java.lang.String domainId,
       java.lang.String groupId,
-      java.util.List<java.lang.String> adminIds)
+      int offset,
+      int limit)
     {
       this();
       this.domainId = domainId;
       this.groupId = groupId;
-      this.adminIds = adminIds;
+      this.offset = offset;
+      setOffsetIsSet(true);
+      this.limit = limit;
+      setLimitIsSet(true);
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public addGroupAdmins_args(addGroupAdmins_args other) {
+    public getGroupMembersOfTypeGroup_args(getGroupMembersOfTypeGroup_args other) {
+      __isset_bitfield = other.__isset_bitfield;
       if (other.isSetDomainId()) {
         this.domainId = other.domainId;
       }
       if (other.isSetGroupId()) {
         this.groupId = other.groupId;
       }
-      if (other.isSetAdminIds()) {
-        java.util.List<java.lang.String> __this__adminIds = new java.util.ArrayList<java.lang.String>(other.adminIds);
-        this.adminIds = __this__adminIds;
-      }
+      this.offset = other.offset;
+      this.limit = other.limit;
     }
 
-    public addGroupAdmins_args deepCopy() {
-      return new addGroupAdmins_args(this);
+    public getGroupMembersOfTypeGroup_args deepCopy() {
+      return new getGroupMembersOfTypeGroup_args(this);
     }
 
     @Override
     public void clear() {
       this.domainId = null;
       this.groupId = null;
-      this.adminIds = null;
+      setOffsetIsSet(false);
+      this.offset = 0;
+      setLimitIsSet(false);
+      this.limit = 0;
     }
 
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public addGroupAdmins_args setDomainId(java.lang.String domainId) {
+    public getGroupMembersOfTypeGroup_args setDomainId(java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -28738,7 +28056,7 @@ public class SharingRegistryService {
       return this.groupId;
     }
 
-    public addGroupAdmins_args setGroupId(java.lang.String groupId) {
+    public getGroupMembersOfTypeGroup_args setGroupId(java.lang.String groupId) {
       this.groupId = groupId;
       return this;
     }
@@ -28758,43 +28076,50 @@ public class SharingRegistryService {
       }
     }
 
-    public int getAdminIdsSize() {
-      return (this.adminIds == null) ? 0 : this.adminIds.size();
+    public int getOffset() {
+      return this.offset;
+    }
+
+    public getGroupMembersOfTypeGroup_args setOffset(int offset) {
+      this.offset = offset;
+      setOffsetIsSet(true);
+      return this;
     }
 
-    public java.util.Iterator<java.lang.String> getAdminIdsIterator() {
-      return (this.adminIds == null) ? null : this.adminIds.iterator();
+    public void unsetOffset() {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __OFFSET_ISSET_ID);
     }
 
-    public void addToAdminIds(java.lang.String elem) {
-      if (this.adminIds == null) {
-        this.adminIds = new java.util.ArrayList<java.lang.String>();
-      }
-      this.adminIds.add(elem);
+    /** Returns true if field offset is set (has been assigned a value) and false otherwise */
+    public boolean isSetOffset() {
+      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __OFFSET_ISSET_ID);
     }
 
-    public java.util.List<java.lang.String> getAdminIds() {
-      return this.adminIds;
+    public void setOffsetIsSet(boolean value) {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __OFFSET_ISSET_ID, value);
     }
 
-    public addGroupAdmins_args setAdminIds(java.util.List<java.lang.String> adminIds) {
-      this.adminIds = adminIds;
+    public int getLimit() {
+      return this.limit;
+    }
+
+    public getGroupMembersOfTypeGroup_args setLimit(int limit) {
+      this.limit = limit;
+      setLimitIsSet(true);
       return this;
     }
 
-    public void unsetAdminIds() {
-      this.adminIds = null;
+    public void unsetLimit() {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __LIMIT_ISSET_ID);
     }
 
-    /** Returns true if field adminIds is set (has been assigned a value) and false otherwise */
-    public boolean isSetAdminIds() {
-      return this.adminIds != null;
+    /** Returns true if field limit is set (has been assigned a value) and false otherwise */
+    public boolean isSetLimit() {
+      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __LIMIT_ISSET_ID);
     }
 
-    public void setAdminIdsIsSet(boolean value) {
-      if (!value) {
-        this.adminIds = null;
-      }
+    public void setLimitIsSet(boolean value) {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __LIMIT_ISSET_ID, value);
     }
 
     public void setFieldValue(_Fields field, java.lang.Object value) {
@@ -28815,11 +28140,19 @@ public class SharingRegistryService {
         }
         break;
 
-      case ADMIN_IDS:
+      case OFFSET:
+        if (value == null) {
+          unsetOffset();
+        } else {
+          setOffset((java.lang.Integer)value);
+        }
+        break;
+
+      case LIMIT:
         if (value == null) {
-          unsetAdminIds();
+          unsetLimit();
         } else {
-          setAdminIds((java.util.List<java.lang.String>)value);
+          setLimit((java.lang.Integer)value);
         }
         break;
 
@@ -28834,8 +28167,11 @@ public class SharingRegistryService {
       case GROUP_ID:
         return getGroupId();
 
-      case ADMIN_IDS:
-        return getAdminIds();
+      case OFFSET:
+        return getOffset();
+
+      case LIMIT:
+        return getLimit();
 
       }
       throw new java.lang.IllegalStateException();
@@ -28852,8 +28188,10 @@ public class SharingRegistryService {
         return isSetDomainId();
       case GROUP_ID:
         return isSetGroupId();
-      case ADMIN_IDS:
-        return isSetAdminIds();
+      case OFFSET:
+        return isSetOffset();
+      case LIMIT:
+        return isSetLimit();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -28862,12 +28200,12 @@ public class SharingRegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof addGroupAdmins_args)
-        return this.equals((addGroupAdmins_args)that);
+      if (that instanceof getGroupMembersOfTypeGroup_args)
+        return this.equals((getGroupMembersOfTypeGroup_args)that);
       return false;
     }
 
-    public boolean equals(addGroupAdmins_args that) {
+    public boolean equals(getGroupMembersOfTypeGroup_args that) {
       if (that == null)
         return false;
       if (this == that)
@@ -28891,12 +28229,21 @@ public class SharingRegistryService {
           return false;
       }
 
-      boolean this_present_adminIds = true && this.isSetAdminIds();
-      boolean that_present_adminIds = true && that.isSetAdminIds();
-      if (this_present_adminIds || that_present_adminIds) {
-        if (!(this_present_adminIds && that_present_adminIds))
+      boolean this_present_offset = true;
+      boolean that_present_offset = true;
+      if (this_present_offset || that_present_offset) {
+        if (!(this_present_offset && that_present_offset))
+          return false;
+        if (this.offset != that.offset)
+          return false;
+      }
+
+      boolean this_present_limit = true;
+      boolean that_present_limit = true;
+      if (this_present_limit || that_present_limit) {
+        if (!(this_present_limit && that_present_limit))
           return false;
-        if (!this.adminIds.equals(that.adminIds))
+        if (this.limit != that.limit)
           return false;
       }
 
@@ -28915,15 +28262,15 @@ public class SharingRegistryService {
       if (isSetGroupId())
         hashCode = hashCode * 8191 + groupId.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetAdminIds()) ? 131071 : 524287);
-      if (isSetAdminIds())
-        hashCode = hashCode * 8191 + adminIds.hashCode();
+      hashCode = hashCode * 8191 + offset;
+
+      hashCode = hashCode * 8191 + limit;
 
       return hashCode;
     }
 
     @Override
-    public int compareTo(addGroupAdmins_args other) {
+    public int compareTo(getGroupMembersOfTypeGroup_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -28950,12 +28297,22 @@ public class SharingRegistryService {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAdminIds()).compareTo(other.isSetAdminIds());
+      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetOffset()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.offset, other.offset);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetAdminIds()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.adminIds, other.adminIds);
+      if (isSetLimit()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.limit, other.limit);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -28977,7 +28334,7 @@ public class SharingRegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("addGroupAdmins_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getGroupMembersOfTypeGroup_args(");
       boolean first = true;
 
       sb.append("domainId:");
@@ -28996,12 +28353,12 @@ public class SharingRegistryService {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("adminIds:");
-      if (this.adminIds == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.adminIds);
-      }
+      sb.append("offset:");
+      sb.append(this.offset);
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("limit:");
+      sb.append(this.limit);
       first = false;
       sb.append(")");
       return sb.toString();
@@ -29015,9 +28372,8 @@ public class SharingRegistryService {
       if (groupId == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupId' was not present! Struct: " + toString());
       }
-      if (adminIds == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'adminIds' was not present! Struct: " + toString());
-      }
+      // alas, we cannot check 'offset' because it's a primitive and you chose the non-beans generator.
+      // alas, we cannot check 'limit' because it's a primitive and you chose the non-beans generator.
       // check for sub-struct validity
     }
 
@@ -29031,21 +28387,23 @@ public class SharingRegistryService {
 
     private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
       try {
+        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+        __isset_bitfield = 0;
         read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
       } catch (org.apache.thrift.TException te) {
         throw new java.io.IOException(te);
       }
     }
 
-    private static class addGroupAdmins_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public addGroupAdmins_argsStandardScheme getScheme() {
-        return new addGroupAdmins_argsStandardScheme();
+    private static class getGroupMembersOfTypeGroup_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroupMembersOfTypeGroup_argsStandardScheme getScheme() {
+        return new getGroupMembersOfTypeGroup_argsStandardScheme();
       }
     }
 
-    private static class addGroupAdmins_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGroupAdmins_args> {
+    private static class getGroupMembersOfTypeGroup_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupMembersOfTypeGroup_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, addGroupAdmins_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupMembersOfTypeGroup_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -29071,20 +28429,18 @@ public class SharingRegistryService {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 3: // ADMIN_IDS
-              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-                {
-                  org.apache.thrift.protocol.TList _list40 = iprot.readListBegin();
-                  struct.adminIds = new java.util.ArrayList<java.lang.String>(_list40.size);
-                  java.lang.String _elem41;
-                  for (int _i42 = 0; _i42 < _list40.size; ++_i42)
-                  {
-                    _elem41 = iprot.readString();
-                    struct.adminIds.add(_elem41);
-                  }
-                  iprot.readListEnd();
-                }
-                struct.setAdminIdsIsSet(true);
+            case 3: // OFFSET
+              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+                struct.offset = iprot.readI32();
+                struct.setOffsetIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 4: // LIMIT
+              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+                struct.limit = iprot.readI32();
+                struct.setLimitIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -29097,10 +28453,16 @@ public class SharingRegistryService {
         iprot.readStructEnd();
 
         // check for required fields of primitive type, which can't be checked in the validate method
+        if (!struct.isSetOffset()) {
+          throw new org.apache.thrift.protocol.TProtocolException("Required field 'offset' was not found in serialized data! Struct: " + toString());
+        }
+        if (!struct.isSetLimit()) {
+          throw new org.apache.thrift.protocol.TProtocolException("Required field 'limit' was not found in serialized data! Struct: " + toString());
+        }
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, addGroupAdmins_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupMembersOfTypeGroup_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -29114,64 +28476,46 @@ public class SharingRegistryService {
           oprot.writeString(struct.groupId);
           oprot.writeFieldEnd();
         }
-        if (struct.adminIds != null) {
-          oprot.writeFieldBegin(ADMIN_IDS_FIELD_DESC);
-          {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.adminIds.size()));
-            for (java.lang.String _iter43 : struct.adminIds)
-            {
-              oprot.writeString(_iter43);
-            }
-            oprot.writeListEnd();
-          }
-          oprot.writeFieldEnd();
-        }
+        oprot.writeFieldBegin(OFFSET_FIELD_DESC);
+        oprot.writeI32(struct.offset);
+        oprot.writeFieldEnd();
+        oprot.writeFieldBegin(LIMIT_FIELD_DESC);
+        oprot.writeI32(struct.limit);
+        oprot.writeFieldEnd();
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
 
     }
 
-    private static class addGroupAdmins_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public addGroupAdmins_argsTupleScheme getScheme() {
-        return new addGroupAdmins_argsTupleScheme();
+    private static class getGroupMembersOfTypeGroup_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroupMembersOfTypeGroup_argsTupleScheme getScheme() {
+        return new getGroupMembersOfTypeGroup_argsTupleScheme();
       }
     }
 
-    private static class addGroupAdmins_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<addGroupAdmins_args> {
+    private static class getGroupMembersOfTypeGroup_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupMembersOfTypeGroup_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, addGroupAdmins_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, getGroupMembersOfTypeGroup_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         oprot.writeString(struct.domainId);
         oprot.writeString(struct.groupId);
-        {
-          oprot.writeI32(struct.adminIds.size());
-          for (java.lang.String _iter44 : struct.adminIds)
-          {
-            oprot.writeString(_iter44);
-          }
-        }
+        oprot.writeI32(struct.offset);
+        oprot.writeI32(struct.limit);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, addGroupAdmins_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, getGroupMembersOfTypeGroup_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.domainId = iprot.readString();
         struct.setDomainIdIsSet(true);
         struct.groupId = iprot.readString();
         struct.setGroupIdIsSet(true);
-        {
-          org.apache.thrift.protocol.TList _list45 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.adminIds = new java.util.ArrayList<java.lang.String>(_list45.size);
-          java.lang.String _elem46;
-          for (int _i47 = 0; _i47 < _list45.size; ++_i47)
-          {
-            _elem46 = iprot.readString();
-            struct.adminIds.add(_elem46);
-          }
-        }
-        struct.setAdminIdsIsSet(true);
+        struct.offset = iprot.readI32();
+        struct.setOffsetIsSet(true);
+        struct.limit = iprot.readI32();
+        struct.setLimitIsSet(true);
       }
     }
 
@@ -29180,16 +28524,16 @@ public class SharingRegistryService {
     }
   }
 
-  public static class addGroupAdmins_result implements org.apache.thrift.TBase<addGroupAdmins_result, addGroupAdmins_result._Fields>, java.io.Serializable, Cloneable, Comparable<addGroupAdmins_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGroupAdmins_result");
+  public static class getGroupMembersOfTypeGroup_result implements org.apache.thrift.TBase<getGroupMembersOfTypeGroup_result, getGroupMembersOfTypeGroup_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupMembersOfTypeGroup_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupMembersOfTypeGroup_result");
 
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
     private static final org.apache.thrift.protocol.TField SRE_FIELD_DESC = new org.apache.thrift.protocol.TField("sre", org.apache.thrift.protocol.TType.STRUCT, (short)1);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addGroupAdmins_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGroupAdmins_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupMembersOfTypeGroup_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupMembersOfTypeGroup_resultTupleSchemeFactory();
 
-    public boolean success; // required
+    public java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success; // required
     public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -29254,82 +28598,100 @@ public class SharingRegistryService {
     }
 
     // isset id assignments
-    private static final int __SUCCESS_ISSET_ID = 0;
-    private byte __isset_bitfield = 0;
     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.sharing.registry.models.UserGroup.class))));
       tmpMap.put(_Fields.SRE, new org.apache.thrift.meta_data.FieldMetaData("sre", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.sharing.registry.models.SharingRegistryException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addGroupAdmins_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGroupMembersOfTypeGroup_result.class, metaDataMap);
     }
 
-    public addGroupAdmins_result() {
+    public getGroupMembersOfTypeGroup_result() {
     }
 
-    public addGroupAdmins_result(
-      boolean success,
+    public getGroupMembersOfTypeGroup_result(
+      java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success,
       org.apache.airavata.sharing.registry.models.SharingRegistryException sre)
     {
       this();
       this.success = success;
-      setSuccessIsSet(true);
       this.sre = sre;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public addGroupAdmins_result(addGroupAdmins_result other) {
-      __isset_bitfield = other.__isset_bitfield;
-      this.success = other.success;
+    public getGroupMembersOfTypeGroup_result(getGroupMembersOfTypeGroup_result other) {
+      if (other.isSetSuccess()) {
+        java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> __this__success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.UserGroup>(other.success.size());
+        for (org.apache.airavata.sharing.registry.models.UserGroup other_element : other.success) {
+          __this__success.add(new org.apache.airavata.sharing.registry.models.UserGroup(other_element));
+        }
+        this.success = __this__success;
+      }
       if (other.isSetSre()) {
         this.sre = new org.apache.airavata.sharing.registry.models.SharingRegistryException(other.sre);
       }
     }
 
-    public addGroupAdmins_result deepCopy() {
-      return new addGroupAdmins_result(this);
+    public getGroupMembersOfTypeGroup_result deepCopy() {
+      return new getGroupMembersOfTypeGroup_result(this);
     }
 
     @Override
     public void clear() {
-      setSuccessIsSet(false);
-      this.success = false;
+      this.success = null;
       this.sre = null;
     }
 
-    public boolean isSuccess() {
+    public int getSuccessSize() {
+      return (this.success == null) ? 0 : this.success.size();
+    }
+
+    public java.util.Iterator<org.apache.airavata.sharing.registry.models.UserGroup> getSuccessIterator() {
+      return (this.success == null) ? null : this.success.iterator();
+    }
+
+    public void addToSuccess(org.apache.airavata.sharing.registry.models.UserGroup elem) {
+      if (this.success == null) {
+        this.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.UserGroup>();
+      }
+      this.success.add(elem);
+    }
+
+    public java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> getSuccess() {
       return this.success;
     }
 
-    public addGroupAdmins_result setSuccess(boolean success) {
+    public getGroupMembersOfTypeGroup_result setSuccess(java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success) {
       this.success = success;
-      setSuccessIsSet(true);
       return this;
     }
 
     public void unsetSuccess() {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+      this.success = null;
     }
 
     /** Returns true if field success is set (has been assigned a value) and false otherwise */
     public boolean isSetSuccess() {
-      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+      return this.success != null;
     }
 
     public void setSuccessIsSet(boolean value) {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
+      if (!value) {
+        this.success = null;
+      }
     }
 
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public addGroupAdmins_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public getGroupMembersOfTypeGroup_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -29355,7 +28717,7 @@ public class SharingRegistryService {
         if (value == null) {
           unsetSuccess();
         } else {
-          setSuccess((java.lang.Boolean)value);
+          setSuccess((java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>)value);
         }
         break;
 
@@ -29373,7 +28735,7 @@ public class SharingRegistryService {
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
-        return isSuccess();
+        return getSuccess();
 
       case SRE:
         return getSre();
@@ -29401,23 +28763,23 @@ public class SharingRegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof addGroupAdmins_result)
-        return this.equals((addGroupAdmins_result)that);
+      if (that instanceof getGroupMembersOfTypeGroup_result)
+        return this.equals((getGroupMembersOfTypeGroup_result)that);
       return false;
     }
 
-    public boolean equals(addGroupAdmins_result that) {
+    public boolean equals(getGroupMembersOfTypeGroup_result that) {
       if (that == null)
         return false;
       if (this == that)
         return true;
 
-      boolean this_present_success = true;
-      boolean that_present_success = true;
+      boolean this_present_success = true && this.isSetSuccess();
+      boolean that_present_success = true && that.isSetSuccess();
       if (this_present_success || that_present_success) {
         if (!(this_present_success && that_present_success))
           return false;
-        if (this.success != that.success)
+        if (!this.success.equals(that.success))
           return false;
       }
 
@@ -29437,7 +28799,9 @@ public class SharingRegistryService {
     public int hashCode() {
       int hashCode = 1;
 
-      hashCode = hashCode * 8191 + ((success) ? 131071 : 524287);
+      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
+      if (isSetSuccess())
+        hashCode = hashCode * 8191 + success.hashCode();
 
       hashCode = hashCode * 8191 + ((isSetSre()) ? 131071 : 524287);
       if (isSetSre())
@@ -29447,7 +28811,7 @@ public class SharingRegistryService {
     }
 
     @Override
-    public int compareTo(addGroupAdmins_result other) {
+    public int compareTo(getGroupMembersOfTypeGroup_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -29491,11 +28855,15 @@ public class SharingRegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("addGroupAdmins_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getGroupMembersOfTypeGroup_result(");
       boolean first = true;
 
       sb.append("success:");
-      sb.append(this.success);
+      if (this.success == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.success);
+      }
       first = false;
       if (!first) sb.append(", ");
       sb.append("sre:");
@@ -29524,23 +28892,21 @@ public class SharingRegistryService {
 
     private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
       try {
-        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
-        __isset_bitfield = 0;
         read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
       } catch (org.apache.thrift.TException te) {
         throw new java.io.IOException(te);
       }
     }
 
-    private static class addGroupAdmins_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public addGroupAdmins_resultStandardScheme getScheme() {
-        return new addGroupAdmins_resultStandardScheme();
+    private static class getGroupMembersOfTypeGroup_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroupMembersOfTypeGroup_resultStandardScheme getScheme() {
+        return new getGroupMembersOfTypeGroup_resultStandardScheme();
       }
     }
 
-    private static class addGroupAdmins_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGroupAdmins_result> {
+    private static class getGroupMembersOfTypeGroup_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupMembersOfTypeGroup_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, addGroupAdmins_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupMembersOfTypeGroup_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -29551,8 +28917,19 @@ public class SharingRegistryService {
           }
           switch (schemeField.id) {
             case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
-                struct.success = iprot.readBool();
+              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+                {
+                  org.apache.thrift.protocol.TList _list48 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.UserGroup>(_list48.size);
+                  org.apache.airavata.sharing.registry.models.UserGroup _elem49;
+                  for (int _i50 = 0; _i50 < _list48.size; ++_i50)
+                  {
+                    _elem49 = new org.apache.airavata.sharing.registry.models.UserGroup();
+                    _elem49.read(iprot);
+                    struct.success.add(_elem49);
+                  }
+                  iprot.readListEnd();
+                }
                 struct.setSuccessIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
@@ -29578,13 +28955,20 @@ public class SharingRegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, addGroupAdmins_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupMembersOfTypeGroup_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.isSetSuccess()) {
+        if (struct.success != null) {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          oprot.writeBool(struct.success);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
+            for (org.apache.airavata.sharing.registry.models.UserGroup _iter51 : struct.success)
+            {
+              _iter51.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
           oprot.writeFieldEnd();
         }
         if (struct.sre != null) {
@@ -29598,16 +28982,16 @@ public class SharingRegistryService {
 
     }
 
-    private static class addGroupAdmins_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public addGroupAdmins_resultTupleScheme getScheme() {
-        return new addGroupAdmins_resultTupleScheme();
+    private static class getGroupMembersOfTypeGroup_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroupMembersOfTypeGroup_resultTupleScheme getScheme() {
+        return new getGroupMembersOfTypeGroup_resultTupleScheme();
       }
     }
 
-    private static class addGroupAdmins_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<addGroupAdmins_result> {
+    private static class getGroupMembersOfTypeGroup_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupMembersOfTypeGroup_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, addGroupAdmins_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, getGroupMembersOfTypeGroup_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet optionals = new java.util.BitSet();
         if (struct.isSetSuccess()) {
@@ -29618,7 +29002,13 @@ public class SharingRegistryService {
         }
         oprot.writeBitSet(optionals, 2);
         if (struct.isSetSuccess()) {
-          oprot.writeBool(struct.success);
+          {
+            oprot.writeI32(struct.success.size());
+            for (org.apache.airavata.sharing.registry.models.UserGroup _iter52 : struct.success)
+            {
+              _iter52.write(oprot);
+            }
+          }
         }
         if (struct.isSetSre()) {
           struct.sre.write(oprot);
@@ -29626,11 +29016,21 @@ public class SharingRegistryService {
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, addGroupAdmins_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, getGroupMembersOfTypeGroup_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
-          struct.success = iprot.readBool();
+          {
+            org.apache.thrift.protocol.TList _list53 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.UserGroup>(_list53.size);
+            org.apache.airavata.sharing.registry.models.UserGroup _elem54;
+            for (int _i55 = 0; _i55 < _list53.size; ++_i55)
+            {
+              _elem54 = new org.apache.airavata.sharing.registry.models.UserGroup();
+              _elem54.read(iprot);
+              struct.success.add(_elem54);
+            }
+          }
           struct.setSuccessIsSet(true);
         }
         if (incoming.get(1)) {
@@ -29646,25 +29046,25 @@ public class SharingRegistryService {
     }
   }
 
-  public static class removeGroupAdmins_args implements org.apache.thrift.TBase<removeGroupAdmins_args, removeGroupAdmins_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeGroupAdmins_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeGroupAdmins_args");
+  public static class addChildGroupsToParentGroup_args implements org.apache.thrift.TBase<addChildGroupsToParentGroup_args, addChildGroupsToParentGroup_args._Fields>, java.io.Serializable, Cloneable, Comparable<addChildGroupsToParentGroup_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addChildGroupsToParentGroup_args");
 
     private static final org.apache.thrift.protocol.TField DOMAIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("domainId", org.apache.thrift.protocol.TType.STRING, (short)1);
-    private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField ADMIN_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("adminIds", org.apache.thrift.protocol.TType.LIST, (short)3);
+    private static final org.apache.thrift.protocol.TField CHILD_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("childIds", org.apache.thrift.protocol.TType.LIST, (short)2);
+    private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)3);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeGroupAdmins_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeGroupAdmins_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addChildGroupsToParentGroup_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addChildGroupsToParentGroup_argsTupleSchemeFactory();
 
     public java.lang.String domainId; // required
+    public java.util.List<java.lang.String> childIds; // required
     public java.lang.String groupId; // required
-    public java.util.List<java.lang.String> adminIds; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       DOMAIN_ID((short)1, "domainId"),
-      GROUP_ID((short)2, "groupId"),
-      ADMIN_IDS((short)3, "adminIds");
+      CHILD_IDS((short)2, "childIds"),
+      GROUP_ID((short)3, "groupId");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -29681,10 +29081,10 @@ public class SharingRegistryService {
         switch(fieldId) {
           case 1: // DOMAIN_ID
             return DOMAIN_ID;
-          case 2: // GROUP_ID
+          case 2: // CHILD_IDS
+            return CHILD_IDS;
+          case 3: // GROUP_ID
             return GROUP_ID;
-          case 3: // ADMIN_IDS
-            return ADMIN_IDS;
           default:
             return null;
         }
@@ -29730,61 +29130,61 @@ public class SharingRegistryService {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.DOMAIN_ID, new org.apache.thrift.meta_data.FieldMetaData("domainId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.GROUP_ID, new org.apache.thrift.meta_data.FieldMetaData("groupId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.ADMIN_IDS, new org.apache.thrift.meta_data.FieldMetaData("adminIds", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      tmpMap.put(_Fields.CHILD_IDS, new org.apache.thrift.meta_data.FieldMetaData("childIds", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
               new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
+      tmpMap.put(_Fields.GROUP_ID, new org.apache.thrift.meta_data.FieldMetaData("groupId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(removeGroupAdmins_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addChildGroupsToParentGroup_args.class, metaDataMap);
     }
 
-    public removeGroupAdmins_args() {
+    public addChildGroupsToParentGroup_args() {
     }
 
-    public removeGroupAdmins_args(
+    public addChildGroupsToParentGroup_args(
       java.lang.String domainId,
-      java.lang.String groupId,
-      java.util.List<java.lang.String> adminIds)
+      java.util.List<java.lang.String> childIds,
+      java.lang.String groupId)
     {
       this();
       this.domainId = domainId;
+      this.childIds = childIds;
       this.groupId = groupId;
-      this.adminIds = adminIds;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public removeGroupAdmins_args(removeGroupAdmins_args other) {
+    public addChildGroupsToParentGroup_args(addChildGroupsToParentGroup_args other) {
       if (other.isSetDomainId()) {
         this.domainId = other.domainId;
       }
+      if (other.isSetChildIds()) {
+        java.util.List<java.lang.String> __this__childIds = new java.util.ArrayList<java.lang.String>(other.childIds);
+        this.childIds = __this__childIds;
+      }
       if (other.isSetGroupId()) {
         this.groupId = other.groupId;
       }
-      if (other.isSetAdminIds()) {
-        java.util.List<java.lang.String> __this__adminIds = new java.util.ArrayList<java.lang.String>(other.adminIds);
-        this.adminIds = __this__adminIds;
-      }
     }
 
-    public removeGroupAdmins_args deepCopy() {
-      return new removeGroupAdmins_args(this);
+    public addChildGroupsToParentGroup_args deepCopy() {
+      return new addChildGroupsToParentGroup_args(this);
     }
 
     @Override
     public void clear() {
       this.domainId = null;
+      this.childIds = null;
       this.groupId = null;
-      this.adminIds = null;
     }
 
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public removeGroupAdmins_args setDomainId(java.lang.String domainId) {
+    public addChildGroupsToParentGroup_args setDomainId(java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -29804,66 +29204,66 @@ public class SharingRegistryService {
       }
     }
 
-    public java.lang.String getGroupId() {
-      return this.groupId;
+    public int getChildIdsSize() {
+      return (this.childIds == null) ? 0 : this.childIds.size();
     }
 
-    public removeGroupAdmins_args setGroupId(java.lang.String groupId) {
-      this.groupId = groupId;
-      return this;
+    public java.util.Iterator<java.lang.String> getChildIdsIterator() {
+      return (this.childIds == null) ? null : this.childIds.iterator();
     }
 
-    public void unsetGroupId() {
-      this.groupId = null;
+    public void addToChildIds(java.lang.String elem) {
+      if (this.childIds == null) {
+        this.childIds = new java.util.ArrayList<java.lang.String>();
+      }
+      this.childIds.add(elem);
     }
 
-    /** Returns true if field groupId is set (has been assigned a value) and false otherwise */
-    public boolean isSetGroupId() {
-      return this.groupId != null;
+    public java.util.List<java.lang.String> getChildIds() {
+      return this.childIds;
     }
 
-    public void setGroupIdIsSet(boolean value) {
-      if (!value) {
-        this.groupId = null;
-      }
+    public addChildGroupsToParentGroup_args setChildIds(java.util.List<java.lang.String> childIds) {
+      this.childIds = childIds;
+      return this;
     }
 
-    public int getAdminIdsSize() {
-      return (this.adminIds == null) ? 0 : this.adminIds.size();
+    public void unsetChildIds() {
+      this.childIds = null;
     }
 
-    public java.util.Iterator<java.lang.String> getAdminIdsIterator() {
-      return (this.adminIds == null) ? null : this.adminIds.iterator();
+    /** Returns true if field childIds is set (has been assigned a value) and false otherwise */
+    public boolean isSetChildIds() {
+      return this.childIds != null;
     }
 
-    public void addToAdminIds(java.lang.String elem) {
-      if (this.adminIds == null) {
-        this.adminIds = new java.util.ArrayList<java.lang.String>();
+    public void setChildIdsIsSet(boolean value) {
+      if (!value) {
+        this.childIds = null;
       }
-      this.adminIds.add(elem);
     }
 
-    public java.util.List<java.lang.String> getAdminIds() {
-      return this.adminIds;
+    public java.lang.String getGroupId() {
+      return this.groupId;
     }
 
-    public removeGroupAdmins_args setAdminIds(java.util.List<java.lang.String> adminIds) {
-      this.adminIds = adminIds;
+    public addChildGroupsToParentGroup_args setGroupId(java.lang.String groupId) {
+      this.groupId = groupId;
       return this;
     }
 
-    public void unsetAdminIds() {
-      this.adminIds = null;
+    public void unsetGroupId() {
+      this.groupId = null;
     }
 
-    /** Returns true if field adminIds is set (has been assigned a value) and false otherwise */
-    public boolean isSetAdminIds() {
-      return this.adminIds != null;
+    /** Returns true if field groupId is set (has been assigned a value) and false otherwise */
+    public boolean isSetGroupId() {
+      return this.groupId != null;
     }
 
-    public void setAdminIdsIsSet(boolean value) {
+    public void setGroupIdIsSet(boolean value) {
       if (!value) {
-        this.adminIds = null;
+        this.groupId = null;
       }
     }
 
@@ -29877,19 +29277,19 @@ public class SharingRegistryService {
         }
         break;
 
-      case GROUP_ID:
+      case CHILD_IDS:
         if (value == null) {
-          unsetGroupId();
+          unsetChildIds();
         } else {
-          setGroupId((java.lang.String)value);
+          setChildIds((java.util.List<java.lang.String>)value);
         }
         break;
 
-      case ADMIN_IDS:
+      case GROUP_ID:
         if (value == null) {
-          unsetAdminIds();
+          unsetGroupId();
         } else {
-          setAdminIds((java.util.List<java.lang.String>)value);
+          setGroupId((java.lang.String)value);
         }
         break;
 
@@ -29901,12 +29301,12 @@ public class SharingRegistryService {
       case DOMAIN_ID:
         return getDomainId();
 
+      case CHILD_IDS:
+        return getChildIds();
+
       case GROUP_ID:
         return getGroupId();
 
-      case ADMIN_IDS:
-        return getAdminIds();
-
       }
       throw new java.lang.IllegalStateException();
     }
@@ -29920,10 +29320,10 @@ public class SharingRegistryService {
       switch (field) {
       case DOMAIN_ID:
         return isSetDomainId();
+      case CHILD_IDS:
+        return isSetChildIds();
       case GROUP_ID:
         return isSetGroupId();
-      case ADMIN_IDS:
-        return isSetAdminIds();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -29932,12 +29332,12 @@ public class SharingRegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof removeGroupAdmins_args)
-        return this.equals((removeGroupAdmins_args)that);
+      if (that instanceof addChildGroupsToParentGroup_args)
+        return this.equals((addChildGroupsToParentGroup_args)that);
       return false;
     }
 
-    public boolean equals(removeGroupAdmins_args that) {
+    public boolean equals(addChildGroupsToParentGroup_args that) {
       if (that == null)
         return false;
       if (this == that)
@@ -29952,6 +29352,15 @@ public class SharingRegistryService {
           return false;
       }
 
+      boolean this_present_childIds = true && this.isSetChildIds();
+      boolean that_present_childIds = true && that.isSetChildIds();
+      if (this_present_childIds || that_present_childIds) {
+        if (!(this_present_childIds && that_present_childIds))
+          return false;
+        if (!this.childIds.equals(that.childIds))
+          return false;
+      }
+
       boolean this_present_groupId = true && this.isSetGroupId();
       boolean that_present_groupId = true && that.isSetGroupId();
       if (this_present_groupId || that_present_groupId) {
@@ -29961,15 +29370,6 @@ public class SharingRegistryService {
           return false;
       }
 
-      boolean this_present_adminIds = true && this.isSetAdminIds();
-      boolean that_present_adminIds = true && that.isSetAdminIds();
-      if (this_present_adminIds || that_present_adminIds) {
-        if (!(this_present_adminIds && that_present_adminIds))
-          return false;
-        if (!this.adminIds.equals(that.adminIds))
-          return false;
-      }
-
       return true;
     }
 
@@ -29981,19 +29381,19 @@ public class SharingRegistryService {
       if (isSetDomainId())
         hashCode = hashCode * 8191 + domainId.hashCode();
 
+      hashCode = hashCode * 8191 + ((isSetChildIds()) ? 131071 : 524287);
+      if (isSetChildIds())
+        hashCode = hashCode * 8191 + childIds.hashCode();
+
       hashCode = hashCode * 8191 + ((isSetGroupId()) ? 131071 : 524287);
       if (isSetGroupId())
         hashCode = hashCode * 8191 + groupId.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetAdminIds()) ? 131071 : 524287);
-      if (isSetAdminIds())
-        hashCode = hashCode * 8191 + adminIds.hashCode();
-
       return hashCode;
     }
 
     @Override
-    public int compareTo(removeGroupAdmins_args other) {
+    public int compareTo(addChildGroupsToParentGroup_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -30010,22 +29410,22 @@ public class SharingRegistryService {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      lastComparison = java.lang.Boolean.valueOf(isSetChildIds()).compareTo(other.isSetChildIds());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetGroupId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.groupId, other.groupId);
+      if (isSetChildIds()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.childIds, other.childIds);
         if (lastComparison != 0) {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAdminIds()).compareTo(other.isSetAdminIds());
+      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetAdminIds()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.adminIds, other.adminIds);
+      if (isSetGroupId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.groupId, other.groupId);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -30047,7 +29447,7 @@ public class SharingRegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("removeGroupAdmins_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("addChildGroupsToParentGroup_args(");
       boolean first = true;
 
       sb.append("domainId:");
@@ -30058,19 +29458,19 @@ public class SharingRegistryService {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("groupId:");
-      if (this.groupId == null) {
+      sb.append("childIds:");
+      if (this.childIds == null) {
         sb.append("null");
       } else {
-        sb.append(this.groupId);
+        sb.append(this.childIds);
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("adminIds:");
-      if (this.adminIds == null) {
+      sb.append("groupId:");
+      if (this.groupId == null) {
         sb.append("null");
       } else {
-        sb.append(this.adminIds);
+        sb.append(this.groupId);
       }
       first = false;
       sb.append(")");
@@ -30082,12 +29482,12 @@ public class SharingRegistryService {
       if (domainId == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'domainId' was not present! Struct: " + toString());
       }
+      if (childIds == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'childIds' was not present! Struct: " + toString());
+      }
       if (groupId == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupId' was not present! Struct: " + toString());
       }
-      if (adminIds == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'adminIds' was not present! Struct: " + toString());
-      }
       // check for sub-struct validity
     }
 
@@ -30107,15 +29507,15 @@ public class SharingRegistryService {
       }
     }
 
-    private static class removeGroupAdmins_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public removeGroupAdmins_argsStandardScheme getScheme() {
-        return new removeGroupAdmins_argsStandardScheme();
+    private static class addChildGroupsToParentGroup_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addChildGroupsToParentGroup_argsStandardScheme getScheme() {
+        return new addChildGroupsToParentGroup_argsStandardScheme();
       }
     }
 
-    private static class removeGroupAdmins_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeGroupAdmins_args> {
+    private static class addChildGroupsToParentGroup_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addChildGroupsToParentGroup_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, removeGroupAdmins_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, addChildGroupsToParentGroup_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -30133,28 +29533,28 @@ public class SharingRegistryService {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // GROUP_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.groupId = iprot.readString();
-                struct.setGroupIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 3: // ADMIN_IDS
+            case 2: // CHILD_IDS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list48 = iprot.readListBegin();
-                  struct.adminIds = new java.util.ArrayList<java.lang.String>(_list48.size);
-                  java.lang.String _elem49;
-                  for (int _i50 = 0; _i50 < _list48.size; ++_i50)
+                  org.apache.thrift.protocol.TList _list56 = iprot.readListBegin();
+                  struct.childIds = new java.util.ArrayList<java.lang.String>(_list56.size);
+                  java.lang.String _elem57;
+                  for (int _i58 = 0; _i58 < _list56.size; ++_i58)
                   {
-                    _elem49 = iprot.readString();
-                    struct.adminIds.add(_elem49);
+                    _elem57 = iprot.readString();
+                    struct.childIds.add(_elem57);
                   }
                   iprot.readListEnd();
                 }
-                struct.setAdminIdsIsSet(true);
+                struct.setChildIdsIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 3: // GROUP_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.groupId = iprot.readString();
+                struct.setGroupIdIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -30170,7 +29570,7 @@ public class SharingRegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, removeGroupAdmins_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, addChildGroupsToParentGroup_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -30179,69 +29579,69 @@ public class SharingRegistryService {
           oprot.writeString(struct.domainId);
           oprot.writeFieldEnd();
         }
-        if (struct.groupId != null) {
-          oprot.writeFieldBegin(GROUP_ID_FIELD_DESC);
-          oprot.writeString(struct.groupId);
-          oprot.writeFieldEnd();
-        }
-        if (struct.adminIds != null) {
-          oprot.writeFieldBegin(ADMIN_IDS_FIELD_DESC);
+        if (struct.childIds != null) {
+          oprot.writeFieldBegin(CHILD_IDS_FIELD_DESC);
           {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.adminIds.size()));
-            for (java.lang.String _iter51 : struct.adminIds)
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.childIds.size()));
+            for (java.lang.String _iter59 : struct.childIds)
             {
-              oprot.writeString(_iter51);
+              oprot.writeString(_iter59);
             }
             oprot.writeListEnd();
           }
           oprot.writeFieldEnd();
         }
+        if (struct.groupId != null) {
+          oprot.writeFieldBegin(GROUP_ID_FIELD_DESC);
+          oprot.writeString(struct.groupId);
+          oprot.writeFieldEnd();
+        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
 
     }
 
-    private static class removeGroupAdmins_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public removeGroupAdmins_argsTupleScheme getScheme() {
-        return new removeGroupAdmins_argsTupleScheme();
+    private static class addChildGroupsToParentGroup_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addChildGroupsToParentGroup_argsTupleScheme getScheme() {
+        return new addChildGroupsToParentGroup_argsTupleScheme();
       }
     }
 
-    private static class removeGroupAdmins_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<removeGroupAdmins_args> {
+    private static class addChildGroupsToParentGroup_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<addChildGroupsToParentGroup_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, removeGroupAdmins_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, addChildGroupsToParentGroup_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         oprot.writeString(struct.domainId);
-        oprot.writeString(struct.groupId);
         {
-          oprot.writeI32(struct.adminIds.size());
-          for (java.lang.String _iter52 : struct.adminIds)
+          oprot.writeI32(struct.childIds.size());
+          for (java.lang.String _iter60 : struct.childIds)
           {
-            oprot.writeString(_iter52);
+            oprot.writeString(_iter60);
           }
         }
+        oprot.writeString(struct.groupId);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, removeGroupAdmins_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, addChildGroupsToParentGroup_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.domainId = iprot.readString();
         struct.setDomainIdIsSet(true);
-        struct.groupId = iprot.readString();
-        struct.setGroupIdIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list53 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.adminIds = new java.util.ArrayList<java.lang.String>(_list53.size);
-          java.lang.String _elem54;
-          for (int _i55 = 0; _i55 < _list53.size; ++_i55)
+          org.apache.thrift.protocol.TList _list61 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.childIds = new java.util.ArrayList<java.lang.String>(_list61.size);
+          java.lang.String _elem62;
+          for (int _i63 = 0; _i63 < _list61.size; ++_i63)
           {
-            _elem54 = iprot.readString();
-            struct.adminIds.add(_elem54);
+            _elem62 = iprot.readString();
+            struct.childIds.add(_elem62);
           }
         }
-        struct.setAdminIdsIsSet(true);
+        struct.setChildIdsIsSet(true);
+        struct.groupId = iprot.readString();
+        struct.setGroupIdIsSet(true);
       }
     }
 
@@ -30250,14 +29650,14 @@ public class SharingRegistryService {
     }
   }
 
-  public static class removeGroupAdmins_result implements org.apache.thrift.TBase<removeGroupAdmins_result, removeGroupAdmins_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeGroupAdmins_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeGroupAdmins_result");
+  public static class addChildGroupsToParentGroup_result implements org.apache.thrift.TBase<addChildGroupsToParentGroup_result, addChildGroupsToParentGroup_result._Fields>, java.io.Serializable, Cloneable, Comparable<addChildGroupsToParentGroup_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addChildGroupsToParentGroup_result");
 
     private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
     private static final org.apache.thrift.protocol.TField SRE_FIELD_DESC = new org.apache.thrift.protocol.TField("sre", org.apache.thrift.protocol.TType.STRUCT, (short)1);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeGroupAdmins_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeGroupAdmins_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addChildGroupsToParentGroup_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addChildGroupsToParentGroup_resultTupleSchemeFactory();
 
     public boolean success; // required
     public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
@@ -30334,13 +29734,13 @@ public class SharingRegistryService {
       tmpMap.put(_Fields.SRE, new org.apache.thrift.meta_data.FieldMetaData("sre", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.sharing.registry.models.SharingRegistryException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(removeGroupAdmins_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addChildGroupsToParentGroup_result.class, metaDataMap);
     }
 
-    public removeGroupAdmins_result() {
+    public addChildGroupsToParentGroup_result() {
     }
 
-    public removeGroupAdmins_result(
+    public addChildGroupsToParentGroup_result(
       boolean success,
       org.apache.airavata.sharing.registry.models.SharingRegistryException sre)
     {
@@ -30353,7 +29753,7 @@ public class SharingRegistryService {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public removeGroupAdmins_result(removeGroupAdmins_result other) {
+    public addChildGroupsToParentGroup_result(addChildGroupsToParentGroup_result other) {
       __isset_bitfield = other.__isset_bitfield;
       this.success = other.success;
       if (other.isSetSre()) {
@@ -30361,8 +29761,8 @@ public class SharingRegistryService {
       }
     }
 
-    public removeGroupAdmins_result deepCopy() {
-      return new removeGroupAdmins_result(this);
+    public addChildGroupsToParentGroup_result deepCopy() {
+      return new addChildGroupsToParentGroup_result(this);
     }
 
     @Override
@@ -30376,7 +29776,7 @@ public class SharingRegistryService {
       return this.success;
     }
 
-    public removeGroupAdmins_result setSuccess(boolean success) {
+    public addChildGroupsToParentGroup_result setSuccess(boolean success) {
       this.success = success;
       setSuccessIsSet(true);
       return this;
@@ -30399,7 +29799,7 @@ public class SharingRegistryService {
       return this.sre;
     }
 
-    public removeGroupAdmins_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public addChildGroupsToParentGroup_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -30471,12 +29871,12 @@ public class SharingRegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof removeGroupAdmins_result)
-        return this.equals((removeGroupAdmins_result)that);
+      if (that instanceof addChildGroupsToParentGroup_result)
+        return this.equals((addChildGroupsToParentGroup_result)that);
       return false;
     }
 
-    public boolean equals(removeGroupAdmins_result that) {
+    public boolean equals(addChildGroupsToParentGroup_result that) {
       if (that == null)
         return false;
       if (this == that)
@@ -30517,7 +29917,7 @@ public class SharingRegistryService {
     }
 
     @Override
-    public int compareTo(removeGroupAdmins_result other) {
+    public int compareTo(addChildGroupsToParentGroup_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -30561,7 +29961,7 @@ public class SharingRegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("removeGroupAdmins_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("addChildGroupsToParentGroup_result(");
       boolean first = true;
 
       sb.append("success:");
@@ -30602,15 +30002,15 @@ public class SharingRegistryService {
       }
     }
 
-    private static class removeGroupAdmins_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public removeGroupAdmins_resultStandardScheme getScheme() {
-        return new removeGroupAdmins_resultStandardScheme();
+    private static class addChildGroupsToParentGroup_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addChildGroupsToParentGroup_resultStandardScheme getScheme() {
+        return new addChildGroupsToParentGroup_resultStandardScheme();
       }
     }
 
-    private static class removeGroupAdmins_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeGroupAdmins_result> {
+    private static class addChildGroupsToParentGroup_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addChildGroupsToParentGroup_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, removeGroupAdmins_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, addChildGroupsToParentGroup_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -30648,7 +30048,7 @@ public class SharingRegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, removeGroupAdmins_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, addChildGroupsToParentGroup_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -30668,16 +30068,16 @@ public class SharingRegistryService {
 
     }
 
-    private static class removeGroupAdmins_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public removeGroupAdmins_resultTupleScheme getScheme() {
-        return new removeGroupAdmins_resultTupleScheme();
+    private static class addChildGroupsToParentGroup_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addChildGroupsToParentGroup_resultTupleScheme getScheme() {
+        return new addChildGroupsToParentGroup_resultTupleScheme();
       }
     }
 
-    private static class removeGroupAdmins_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<removeGroupAdmins_result> {
+    private static class addChildGroupsToParentGroup_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<addChildGroupsToParentGroup_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, removeGroupAdmins_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, addChildGroupsToParentGroup_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet optionals = new java.util.BitSet();
         if (struct.isSetSuccess()) {
@@ -30696,7 +30096,7 @@ public class SharingRegistryService {
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, removeGroupAdmins_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, addChildGroupsToParentGroup_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
@@ -30716,25 +30116,25 @@ public class SharingRegistryService {
     }
   }
 
-  public static class hasAdminAccess_args implements org.apache.thrift.TBase<hasAdminAccess_args, hasAdminAccess_args._Fields>, java.io.Serializable, Cloneable, Comparable<hasAdminAccess_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("hasAdminAccess_args");
+  public static class removeChildGroupFromParentGroup_args implements org.apache.thrift.TBase<removeChildGroupFromParentGroup_args, removeChildGroupFromParentGroup_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeChildGroupFromParentGroup_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeChildGroupFromParentGroup_args");
 
     private static final org.apache.thrift.protocol.TField DOMAIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("domainId", org.apache.thrift.protocol.TType.STRING, (short)1);
-    private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField ADMIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("adminId", org.apache.thrift.protocol.TType.STRING, (short)3);
+    private static final org.apache.thrift.protocol.TField CHILD_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("childId", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)3);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new hasAdminAccess_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new hasAdminAccess_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeChildGroupFromParentGroup_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeChildGroupFromParentGroup_argsTupleSchemeFactory();
 
     public java.lang.String domainId; // required
+    public java.lang.String childId; // required
     public java.lang.String groupId; // required
-    public java.lang.String adminId; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       DOMAIN_ID((short)1, "domainId"),
-      GROUP_ID((short)2, "groupId"),
-      ADMIN_ID((short)3, "adminId");
+      CHILD_ID((short)2, "childId"),
+      GROUP_ID((short)3, "groupId");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -30751,10 +30151,10 @@ public class SharingRegistryService {
         switch(fieldId) {
           case 1: // DOMAIN_ID
             return DOMAIN_ID;
-          case 2: // GROUP_ID
+          case 2: // CHILD_ID
+            return CHILD_ID;
+          case 3: // GROUP_ID
             return GROUP_ID;
-          case 3: // ADMIN_ID
-            return ADMIN_ID;
           default:
             return null;
         }
@@ -30800,59 +30200,59 @@ public class SharingRegistryService {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.DOMAIN_ID, new org.apache.thrift.meta_data.FieldMetaData("domainId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.GROUP_ID, new org.apache.thrift.meta_data.FieldMetaData("groupId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      tmpMap.put(_Fields.CHILD_ID, new org.apache.thrift.meta_data.FieldMetaData("childId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.ADMIN_ID, new org.apache.thrift.meta_data.FieldMetaData("adminId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      tmpMap.put(_Fields.GROUP_ID, new org.apache.thrift.meta_data.FieldMetaData("groupId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(hasAdminAccess_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(removeChildGroupFromParentGroup_args.class, metaDataMap);
     }
 
-    public hasAdminAccess_args() {
+    public removeChildGroupFromParentGroup_args() {
     }
 
-    public hasAdminAccess_args(
+    public removeChildGroupFromParentGroup_args(
       java.lang.String domainId,
-      java.lang.String groupId,
-      java.lang.String adminId)
+      java.lang.String childId,
+      java.lang.String groupId)
     {
       this();
       this.domainId = domainId;
+      this.childId = childId;
       this.groupId = groupId;
-      this.adminId = adminId;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public hasAdminAccess_args(hasAdminAccess_args other) {
+    public removeChildGroupFromParentGroup_args(removeChildGroupFromParentGroup_args other) {
       if (other.isSetDomainId()) {
         this.domainId = other.domainId;
       }
+      if (other.isSetChildId()) {
+        this.childId = other.childId;
+      }
       if (other.isSetGroupId()) {
         this.groupId = other.groupId;
       }
-      if (other.isSetAdminId()) {
-        this.adminId = other.adminId;
-      }
     }
 
-    public hasAdminAccess_args deepCopy() {
-      return new hasAdminAccess_args(this);
+    public removeChildGroupFromParentGroup_args deepCopy() {
+      return new removeChildGroupFromParentGroup_args(this);
     }
 
     @Override
     public void clear() {
       this.domainId = null;
+      this.childId = null;
       this.groupId = null;
-      this.adminId = null;
     }
 
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public hasAdminAccess_args setDomainId(java.lang.String domainId) {
+    public removeChildGroupFromParentGroup_args setDomainId(java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -30872,51 +30272,51 @@ public class SharingRegistryService {
       }
     }
 
-    public java.lang.String getGroupId() {
-      return this.groupId;
+    public java.lang.String getChildId() {
+      return this.childId;
     }
 
-    public hasAdminAccess_args setGroupId(java.lang.String groupId) {
-      this.groupId = groupId;
+    public removeChildGroupFromParentGroup_args setChildId(java.lang.String childId) {
+      this.childId = childId;
       return this;
     }
 
-    public void unsetGroupId() {
-      this.groupId = null;
+    public void unsetChildId() {
+      this.childId = null;
     }
 
-    /** Returns true if field groupId is set (has been assigned a value) and false otherwise */
-    public boolean isSetGroupId() {
-      return this.groupId != null;
+    /** Returns true if field childId is set (has been assigned a value) and false otherwise */
+    public boolean isSetChildId() {
+      return this.childId != null;
     }
 
-    public void setGroupIdIsSet(boolean value) {
+    public void setChildIdIsSet(boolean value) {
       if (!value) {
-        this.groupId = null;
+        this.childId = null;
       }
     }
 
-    public java.lang.String getAdminId() {
-      return this.adminId;
+    public java.lang.String getGroupId() {
+      return this.groupId;
     }
 
-    public hasAdminAccess_args setAdminId(java.lang.String adminId) {
-      this.adminId = adminId;
+    public removeChildGroupFromParentGroup_args setGroupId(java.lang.String groupId) {
+      this.groupId = groupId;
       return this;
     }
 
-    public void unsetAdminId() {
-      this.adminId = null;
+    public void unsetGroupId() {
+      this.groupId = null;
     }
 
-    /** Returns true if field adminId is set (has been assigned a value) and false otherwise */
-    public boolean isSetAdminId() {
-      return this.adminId != null;
+    /** Returns true if field groupId is set (has been assigned a value) and false otherwise */
+    public boolean isSetGroupId() {
+      return this.groupId != null;
     }
 
-    public void setAdminIdIsSet(boolean value) {
+    public void setGroupIdIsSet(boolean value) {
       if (!value) {
-        this.adminId = null;
+        this.groupId = null;
       }
     }
 
@@ -30930,19 +30330,19 @@ public class SharingRegistryService {
         }
         break;
 
-      case GROUP_ID:
+      case CHILD_ID:
         if (value == null) {
-          unsetGroupId();
+          unsetChildId();
         } else {
-          setGroupId((java.lang.String)value);
+          setChildId((java.lang.String)value);
         }
         break;
 
-      case ADMIN_ID:
+      case GROUP_ID:
         if (value == null) {
-          unsetAdminId();
+          unsetGroupId();
         } else {
-          setAdminId((java.lang.String)value);
+          setGroupId((java.lang.String)value);
         }
         break;
 
@@ -30954,12 +30354,12 @@ public class SharingRegistryService {
       case DOMAIN_ID:
         return getDomainId();
 
+      case CHILD_ID:
+        return getChildId();
+
       case GROUP_ID:
         return getGroupId();
 
-      case ADMIN_ID:
-        return getAdminId();
-
       }
       throw new java.lang.IllegalStateException();
     }
@@ -30973,10 +30373,10 @@ public class SharingRegistryService {
       switch (field) {
       case DOMAIN_ID:
         return isSetDomainId();
+      case CHILD_ID:
+        return isSetChildId();
       case GROUP_ID:
         return isSetGroupId();
-      case ADMIN_ID:
-        return isSetAdminId();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -30985,12 +30385,12 @@ public class SharingRegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof hasAdminAccess_args)
-        return this.equals((hasAdminAccess_args)that);
+      if (that instanceof removeChildGroupFromParentGroup_args)
+        return this.equals((removeChildGroupFromParentGroup_args)that);
       return false;
     }
 
-    public boolean equals(hasAdminAccess_args that) {
+    public boolean equals(removeChildGroupFromParentGroup_args that) {
       if (that == null)
         return false;
       if (this == that)
@@ -31005,6 +30405,15 @@ public class SharingRegistryService {
           return false;
       }
 
+      boolean this_present_childId = true && this.isSetChildId();
+      boolean that_present_childId = true && that.isSetChildId();
+      if (this_present_childId || that_present_childId) {
+        if (!(this_present_childId && that_present_childId))
+          return false;
+        if (!this.childId.equals(that.childId))
+          return false;
+      }
+
       boolean this_present_groupId = true && this.isSetGroupId();
       boolean that_present_groupId = true && that.isSetGroupId();
       if (this_present_groupId || that_present_groupId) {
@@ -31014,15 +30423,6 @@ public class SharingRegistryService {
           return false;
       }
 
-      boolean this_present_adminId = true && this.isSetAdminId();
-      boolean that_present_adminId = true && that.isSetAdminId();
-      if (this_present_adminId || that_present_adminId) {
-        if (!(this_present_adminId && that_present_adminId))
-          return false;
-        if (!this.adminId.equals(that.adminId))
-          return false;
-      }
-
       return true;
     }
 
@@ -31034,19 +30434,19 @@ public class SharingRegistryService {
       if (isSetDomainId())
         hashCode = hashCode * 8191 + domainId.hashCode();
 
+      hashCode = hashCode * 8191 + ((isSetChildId()) ? 131071 : 524287);
+      if (isSetChildId())
+        hashCode = hashCode * 8191 + childId.hashCode();
+
       hashCode = hashCode * 8191 + ((isSetGroupId()) ? 131071 : 524287);
       if (isSetGroupId())
         hashCode = hashCode * 8191 + groupId.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetAdminId()) ? 131071 : 524287);
-      if (isSetAdminId())
-        hashCode = hashCode * 8191 + adminId.hashCode();
-
       return hashCode;
     }
 
     @Override
-    public int compareTo(hasAdminAccess_args other) {
+    public int compareTo(removeChildGroupFromParentGroup_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -31063,22 +30463,22 @@ public class SharingRegistryService {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      lastComparison = java.lang.Boolean.valueOf(isSetChildId()).compareTo(other.isSetChildId());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetGroupId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.groupId, other.groupId);
+      if (isSetChildId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.childId, other.childId);
         if (lastComparison != 0) {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAdminId()).compareTo(other.isSetAdminId());
+      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetAdminId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.adminId, other.adminId);
+      if (isSetGroupId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.groupId, other.groupId);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -31100,7 +30500,7 @@ public class SharingRegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("hasAdminAccess_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("removeChildGroupFromParentGroup_args(");
       boolean first = true;
 
       sb.append("domainId:");
@@ -31111,19 +30511,19 @@ public class SharingRegistryService {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("groupId:");
-      if (this.groupId == null) {
+      sb.append("childId:");
+      if (this.childId == null) {
         sb.append("null");
       } else {
-        sb.append(this.groupId);
+        sb.append(this.childId);
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("adminId:");
-      if (this.adminId == null) {
+      sb.append("groupId:");
+      if (this.groupId == null) {
         sb.append("null");
       } else {
-        sb.append(this.adminId);
+        sb.append(this.groupId);
       }
       first = false;
       sb.append(")");
@@ -31135,12 +30535,12 @@ public class SharingRegistryService {
       if (domainId == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'domainId' was not present! Struct: " + toString());
       }
+      if (childId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'childId' was not present! Struct: " + toString());
+      }
       if (groupId == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupId' was not present! Struct: " + toString());
       }
-      if (adminId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'adminId' was not present! Struct: " + toString());
-      }
       // check for sub-struct validity
     }
 
@@ -31160,15 +30560,15 @@ public class SharingRegistryService {
       }
     }
 
-    private static class hasAdminAccess_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public hasAdminAccess_argsStandardScheme getScheme() {
-        return new hasAdminAccess_argsStandardScheme();
+    private static class removeChildGroupFromParentGroup_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public removeChildGroupFromParentGroup_argsStandardScheme getScheme() {
+        return new removeChildGroupFromParentGroup_argsStandardScheme();
       }
     }
 
-    private static class hasAdminAccess_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<hasAdminAccess_args> {
+    private static class removeChildGroupFromParentGroup_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeChildGroupFromParentGroup_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, hasAdminAccess_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, removeChildGroupFromParentGroup_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -31186,18 +30586,18 @@ public class SharingRegistryService {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // GROUP_ID
+            case 2: // CHILD_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.groupId = iprot.readString();
-                struct.setGroupIdIsSet(true);
+                struct.childId = iprot.readString();
+                struct.setChildIdIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 3: // ADMIN_ID
+            case 3: // GROUP_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.adminId = iprot.readString();
-                struct.setAdminIdIsSet(true);
+                struct.groupId = iprot.readString();
+                struct.setGroupIdIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -31213,7 +30613,7 @@ public class SharingRegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, hasAdminAccess_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, removeChildGroupFromParentGroup_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -31222,47 +30622,47 @@ public class SharingRegistryService {
           oprot.writeString(struct.domainId);
           oprot.writeFieldEnd();
         }
+        if (struct.childId != null) {
+          oprot.writeFieldBegin(CHILD_ID_FIELD_DESC);
+          oprot.writeString(struct.childId);
+          oprot.writeFieldEnd();
+        }
         if (struct.groupId != null) {
           oprot.writeFieldBegin(GROUP_ID_FIELD_DESC);
           oprot.writeString(struct.groupId);
           oprot.writeFieldEnd();
         }
-        if (struct.adminId != null) {
-          oprot.writeFieldBegin(ADMIN_ID_FIELD_DESC);
-          oprot.writeString(struct.adminId);
-          oprot.writeFieldEnd();
-        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
 
     }
 
-    private static class hasAdminAccess_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public hasAdminAccess_argsTupleScheme getScheme() {
-        return new hasAdminAccess_argsTupleScheme();
+    private static class removeChildGroupFromParentGroup_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public removeChildGroupFromParentGroup_argsTupleScheme getScheme() {
+        return new removeChildGroupFromParentGroup_argsTupleScheme();
       }
     }
 
-    private static class hasAdminAccess_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<hasAdminAccess_args> {
+    private static class removeChildGroupFromParentGroup_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<removeChildGroupFromParentGroup_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, hasAdminAccess_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, removeChildGroupFromParentGroup_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         oprot.writeString(struct.domainId);
+        oprot.writeString(struct.childId);
         oprot.writeString(struct.groupId);
-        oprot.writeString(struct.adminId);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, hasAdminAccess_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, removeChildGroupFromParentGroup_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.domainId = iprot.readString();
         struct.setDomainIdIsSet(true);
+        struct.childId = iprot.readString();
+        struct.setChildIdIsSet(true);
         struct.groupId = iprot.readString();
         struct.setGroupIdIsSet(true);
-        struct.adminId = iprot.readString();
-        struct.setAdminIdIsSet(true);
       }
     }
 
@@ -31271,14 +30671,14 @@ public class SharingRegistryService {
     }
   }
 
-  public static class hasAdminAccess_result implements org.apache.thrift.TBase<hasAdminAccess_result, hasAdminAccess_result._Fields>, java.io.Serializable, Cloneable, Comparable<hasAdminAccess_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("hasAdminAccess_result");
+  public static class removeChildGroupFromParentGroup_result implements org.apache.thrift.TBase<removeChildGroupFromParentGroup_result, removeChildGroupFromParentGroup_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeChildGroupFromParentGroup_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeChildGroupFromParentGroup_result");
 
     private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
     private static final org.apache.thrift.protocol.TField SRE_FIELD_DESC = new org.apache.thrift.protocol.TField("sre", org.apache.thrift.protocol.TType.STRUCT, (short)1);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new hasAdminAccess_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new hasAdminAccess_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeChildGroupFromParentGroup_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeChildGroupFromParentGroup_resultTupleSchemeFactory();
 
     public boolean success; // required
     public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
@@ -31355,13 +30755,13 @@ public class SharingRegistryService {
       tmpMap.put(_Fields.SRE, new org.apache.thrift.meta_data.FieldMetaData("sre", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.sharing.registry.models.SharingRegistryException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(hasAdminAccess_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(removeChildGroupFromParentGroup_result.class, metaDataMap);
     }
 
-    public hasAdminAccess_result() {
+    public removeChildGroupFromParentGroup_result() {
     }
 
-    public hasAdminAccess_result(
+    public removeChildGroupFromParentGroup_result(
       boolean success,
       org.apache.airavata.sharing.registry.models.SharingRegistryException sre)
     {
@@ -31374,7 +30774,7 @@ public class SharingRegistryService {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public hasAdminAccess_result(hasAdminAccess_result other) {
+    public removeChildGroupFromParentGroup_result(removeChildGroupFromParentGroup_result other) {
       __isset_bitfield = other.__isset_bitfield;
       this.success = other.success;
       if (other.isSetSre()) {
@@ -31382,8 +30782,8 @@ public class SharingRegistryService {
       }
     }
 
-    public hasAdminAccess_result deepCopy() {
-      return new hasAdminAccess_result(this);
+    public removeChildGroupFromParentGroup_result deepCopy() {
+      return new removeChildGroupFromParentGroup_result(this);
     }
 
     @Override
@@ -31397,7 +30797,7 @@ public class SharingRegistryService {
       return this.success;
     }
 
-    public hasAdminAccess_result setSuccess(boolean success) {
+    public removeChildGroupFromParentGroup_result setSuccess(boolean success) {
       this.success = success;
       setSuccessIsSet(true);
       return this;
@@ -31420,7 +30820,7 @@ public class SharingRegistryService {
       return this.sre;
     }
 
-    public hasAdminAccess_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public removeChildGroupFromParentGroup_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -31492,12 +30892,12 @@ public class SharingRegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof hasAdminAccess_result)
-        return this.equals((hasAdminAccess_result)that);
+      if (that instanceof removeChildGroupFromParentGroup_result)
+        return this.equals((removeChildGroupFromParentGroup_result)that);
       return false;
     }
 
-    public boolean equals(hasAdminAccess_result that) {
+    public boolean equals(removeChildGroupFromParentGroup_result that) {
       if (that == null)
         return false;
       if (this == that)
@@ -31538,7 +30938,7 @@ public class SharingRegistryService {
     }
 
     @Override
-    public int compareTo(hasAdminAccess_result other) {
+    public int compareTo(removeChildGroupFromParentGroup_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -31582,7 +30982,7 @@ public class SharingRegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("hasAdminAccess_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("removeChildGroupFromParentGroup_result(");
       boolean first = true;
 
       sb.append("success:");
@@ -31623,15 +31023,15 @@ public class SharingRegistryService {
       }
     }
 
-    private static class hasAdminAccess_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public hasAdminAccess_resultStandardScheme getScheme() {
-        return new hasAdminAccess_resultStandardScheme();
+    private static class removeChildGroupFromParentGroup_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public removeChildGroupFromParentGroup_resultStandardScheme getScheme() {
+        return new removeChildGroupFromParentGroup_resultStandardScheme();
       }
     }
 
-    private static class hasAdminAccess_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<hasAdminAccess_result> {
+    private static class removeChildGroupFromParentGroup_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeChildGroupFromParentGroup_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, hasAdminAccess_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, removeChildGroupFromParentGroup_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -31669,7 +31069,7 @@ public class SharingRegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, hasAdminAccess_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, removeChildGroupFromParentGroup_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -31689,16 +31089,16 @@ public class SharingRegistryService {
 
     }
 
-    private static class hasAdminAccess_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public hasAdminAccess_resultTupleScheme getScheme() {
-        return new hasAdminAccess_resultTupleScheme();
+    private static class removeChildGroupFromParentGroup_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public removeChildGroupFromParentGroup_resultTupleScheme getScheme() {
+        return new removeChildGroupFromParentGroup_resultTupleScheme();
       }
     }
 
-    private static class hasAdminAccess_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<hasAdminAccess_result> {
+    private static class removeChildGroupFromParentGroup_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<removeChildGroupFromParentGroup_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, hasAdminAccess_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, removeChildGroupFromParentGroup_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet optionals = new java.util.BitSet();
         if (struct.isSetSuccess()) {
@@ -31717,7 +31117,7 @@ public class SharingRegistryService {
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, hasAdminAccess_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, removeChildGroupFromParentGroup_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
@@ -31737,25 +31137,22 @@ public class SharingRegistryService {
     }
   }
 
-  public static class hasOwnerAccess_args implements org.apache.thrift.TBase<hasOwnerAccess_args, hasOwnerAccess_args._Fields>, java.io.Serializable, Cloneable, Comparable<hasOwnerAccess_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("hasOwnerAccess_args");
+  public static class getAllMemberGroupsForUser_args implements org.apache.thrift.TBase<getAllMemberGroupsForUser_args, getAllMemberGroupsForUser_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllMemberGroupsForUser_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllMemberGroupsForUser_args");
 
     private static final org.apache.thrift.protocol.TField DOMAIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("domainId", org.apache.thrift.protocol.TType.STRING, (short)1);
-    private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField OWNER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("ownerId", org.apache.thrift.protocol.TType.STRING, (short)3);
+    private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.STRING, (short)2);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new hasOwnerAccess_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new hasOwnerAccess_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllMemberGroupsForUser_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllMemberGroupsForUser_argsTupleSchemeFactory();
 
     public java.lang.String domainId; // required
-    public java.lang.String groupId; // required
-    public java.lang.String ownerId; // required
+    public java.lang.String userId; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       DOMAIN_ID((short)1, "domainId"),
-      GROUP_ID((short)2, "groupId"),
-      OWNER_ID((short)3, "ownerId");
+      USER_ID((short)2, "userId");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -31772,10 +31169,8 @@ public class SharingRegistryService {
         switch(fieldId) {
           case 1: // DOMAIN_ID
             return DOMAIN_ID;
-          case 2: // GROUP_ID
-            return GROUP_ID;
-          case 3: // OWNER_ID
-            return OWNER_ID;
+          case 2: // USER_ID
+            return USER_ID;
           default:
             return null;
         }
@@ -31821,59 +31216,51 @@ public class SharingRegistryService {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.DOMAIN_ID, new org.apache.thrift.meta_data.FieldMetaData("domainId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.GROUP_ID, new org.apache.thrift.meta_data.FieldMetaData("groupId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.OWNER_ID, new org.apache.thrift.meta_data.FieldMetaData("ownerId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(hasOwnerAccess_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllMemberGroupsForUser_args.class, metaDataMap);
     }
 
-    public hasOwnerAccess_args() {
+    public getAllMemberGroupsForUser_args() {
     }
 
-    public hasOwnerAccess_args(
+    public getAllMemberGroupsForUser_args(
       java.lang.String domainId,
-      java.lang.String groupId,
-      java.lang.String ownerId)
+      java.lang.String userId)
     {
       this();
       this.domainId = domainId;
-      this.groupId = groupId;
-      this.ownerId = ownerId;
+      this.userId = userId;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public hasOwnerAccess_args(hasOwnerAccess_args other) {
+    public getAllMemberGroupsForUser_args(getAllMemberGroupsForUser_args other) {
       if (other.isSetDomainId()) {
         this.domainId = other.domainId;
       }
-      if (other.isSetGroupId()) {
-        this.groupId = other.groupId;
-      }
-      if (other.isSetOwnerId()) {
-        this.ownerId = other.ownerId;
+      if (other.isSetUserId()) {
+        this.userId = other.userId;
       }
     }
 
-    public hasOwnerAccess_args deepCopy() {
-      return new hasOwnerAccess_args(this);
+    public getAllMemberGroupsForUser_args deepCopy() {
+      return new getAllMemberGroupsForUser_args(this);
     }
 
     @Override
     public void clear() {
       this.domainId = null;
-      this.groupId = null;
-      this.ownerId = null;
+      this.userId = null;
     }
 
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public hasOwnerAccess_args setDomainId(java.lang.String domainId) {
+    public getAllMemberGroupsForUser_args setDomainId(java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -31893,51 +31280,27 @@ public class SharingRegistryService {
       }
     }
 
-    public java.lang.String getGroupId() {
-      return this.groupId;
-    }
-
-    public hasOwnerAccess_args setGroupId(java.lang.String groupId) {
-      this.groupId = groupId;
-      return this;
-    }
-
-    public void unsetGroupId() {
-      this.groupId = null;
-    }
-
-    /** Returns true if field groupId is set (has been assigned a value) and false otherwise */
-    public boolean isSetGroupId() {
-      return this.groupId != null;
-    }
-
-    public void setGroupIdIsSet(boolean value) {
-      if (!value) {
-        this.groupId = null;
-      }
-    }
-
-    public java.lang.String getOwnerId() {
-      return this.ownerId;
+    public java.lang.String getUserId() {
+      return this.userId;
     }
 
-    public hasOwnerAccess_args setOwnerId(java.lang.String ownerId) {
-      this.ownerId = ownerId;
+    public getAllMemberGroupsForUser_args setUserId(java.lang.String userId) {
+      this.userId = userId;
       return this;
     }
 
-    public void unsetOwnerId() {
-      this.ownerId = null;
+    public void unsetUserId() {
+      this.userId = null;
     }
 
-    /** Returns true if field ownerId is set (has been assigned a value) and false otherwise */
-    public boolean isSetOwnerId() {
-      return this.ownerId != null;
+    /** Returns true if field userId is set (has been assigned a value) and false otherwise */
+    public boolean isSetUserId() {
+      return this.userId != null;
     }
 
-    public void setOwnerIdIsSet(boolean value) {
+    public void setUserIdIsSet(boolean value) {
       if (!value) {
-        this.ownerId = null;
+        this.userId = null;
       }
     }
 
@@ -31951,19 +31314,11 @@ public class SharingRegistryService {
         }
         break;
 
-      case GROUP_ID:
-        if (value == null) {
-          unsetGroupId();
-        } else {
-          setGroupId((java.lang.String)value);
-        }
-        break;
-
-      case OWNER_ID:
+      case USER_ID:
         if (value == null) {
-          unsetOwnerId();
+          unsetUserId();
         } else {
-          setOwnerId((java.lang.String)value);
+          setUserId((java.lang.String)value);
         }
         break;
 
@@ -31975,11 +31330,8 @@ public class SharingRegistryService {
       case DOMAIN_ID:
         return getDomainId();
 
-      case GROUP_ID:
-        return getGroupId();
-
-      case OWNER_ID:
-        return getOwnerId();
+      case USER_ID:
+        return getUserId();
 
       }
       throw new java.lang.IllegalStateException();
@@ -31994,10 +31346,8 @@ public class SharingRegistryService {
       switch (field) {
       case DOMAIN_ID:
         return isSetDomainId();
-      case GROUP_ID:
-        return isSetGroupId();
-      case OWNER_ID:
-        return isSetOwnerId();
+      case USER_ID:
+        return isSetUserId();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -32006,12 +31356,12 @@ public class SharingRegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof hasOwnerAccess_args)
-        return this.equals((hasOwnerAccess_args)that);
+      if (that instanceof getAllMemberGroupsForUser_args)
+        return this.equals((getAllMemberGroupsForUser_args)that);
       return false;
     }
 
-    public boolean equals(hasOwnerAccess_args that) {
+    public boolean equals(getAllMemberGroupsForUser_args that) {
       if (that == null)
         return false;
       if (this == that)
@@ -32026,21 +31376,12 @@ public class SharingRegistryService {
           return false;
       }
 
-      boolean this_present_groupId = true && this.isSetGroupId();
-      boolean that_present_groupId = true && that.isSetGroupId();
-      if (this_present_groupId || that_present_groupId) {
-        if (!(this_present_groupId && that_present_groupId))
-          return false;
-        if (!this.groupId.equals(that.groupId))
-          return false;
-      }
-
-      boolean this_present_ownerId = true && this.isSetOwnerId();
-      boolean that_present_ownerId = true && that.isSetOwnerId();
-      if (this_present_ownerId || that_present_ownerId) {
-        if (!(this_present_ownerId && that_present_ownerId))
+      boolean this_present_userId = true && this.isSetUserId();
+      boolean that_present_userId = true && that.isSetUserId();
+      if (this_present_userId || that_present_userId) {
+        if (!(this_present_userId && that_present_userId))
           return false;
-        if (!this.ownerId.equals(that.ownerId))
+        if (!this.userId.equals(that.userId))
           return false;
       }
 
@@ -32055,19 +31396,15 @@ public class SharingRegistryService {
       if (isSetDomainId())
         hashCode = hashCode * 8191 + domainId.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetGroupId()) ? 131071 : 524287);
-      if (isSetGroupId())
-        hashCode = hashCode * 8191 + groupId.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetOwnerId()) ? 131071 : 524287);
-      if (isSetOwnerId())
-        hashCode = hashCode * 8191 + ownerId.hashCode();
+      hashCode = hashCode * 8191 + ((isSetUserId()) ? 131071 : 524287);
+      if (isSetUserId())
+        hashCode = hashCode * 8191 + userId.hashCode();
 
       return hashCode;
     }
 
     @Override
-    public int compareTo(hasOwnerAccess_args other) {
+    public int compareTo(getAllMemberGroupsForUser_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -32084,22 +31421,12 @@ public class SharingRegistryService {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetGroupId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.groupId, other.groupId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetOwnerId()).compareTo(other.isSetOwnerId());
+      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetOwnerId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ownerId, other.ownerId);
+      if (isSetUserId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userId, other.userId);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -32121,7 +31448,7 @@ public class SharingRegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("hasOwnerAccess_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getAllMemberGroupsForUser_args(");
       boolean first = true;
 
       sb.append("domainId:");
@@ -32132,19 +31459,11 @@ public class SharingRegistryService {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("groupId:");
-      if (this.groupId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.groupId);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ownerId:");
-      if (this.ownerId == null) {
+      sb.append("userId:");
+      if (this.userId == null) {
         sb.append("null");
       } else {
-        sb.append(this.ownerId);
+        sb.append(this.userId);
       }
       first = false;
       sb.append(")");
@@ -32156,11 +31475,8 @@ public class SharingRegistryService {
       if (domainId == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'domainId' was not present! Struct: " + toString());
       }
-      if (groupId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupId' was not present! Struct: " + toString());
-      }
-      if (ownerId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'ownerId' was not present! Struct: " + toString());
+      if (userId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'userId' was not present! Struct: " + toString());
       }
       // check for sub-struct validity
     }
@@ -32181,15 +31497,15 @@ public class SharingRegistryService {
       }
     }
 
-    private static class hasOwnerAccess_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public hasOwnerAccess_argsStandardScheme getScheme() {
-        return new hasOwnerAccess_argsStandardScheme();
+    private static class getAllMemberGroupsForUser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getAllMemberGroupsForUser_argsStandardScheme getScheme() {
+        return new getAllMemberGroupsForUser_argsStandardScheme();
       }
     }
 
-    private static class hasOwnerAccess_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<hasOwnerAccess_args> {
+    private static class getAllMemberGroupsForUser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllMemberGroupsForUser_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, hasOwnerAccess_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getAllMemberGroupsForUser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -32207,18 +31523,10 @@ public class SharingRegistryService {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // GROUP_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.groupId = iprot.readString();
-                struct.setGroupIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 3: // OWNER_ID
+            case 2: // USER_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.ownerId = iprot.readString();
-                struct.setOwnerIdIsSet(true);
+                struct.userId = iprot.readString();
+                struct.setUserIdIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -32234,7 +31542,7 @@ public class SharingRegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, hasOwnerAccess_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getAllMemberGroupsForUser_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -32243,14 +31551,9 @@ public class SharingRegistryService {
           oprot.writeString(struct.domainId);
           oprot.writeFieldEnd();
         }
-        if (struct.groupId != null) {
-          oprot.writeFieldBegin(GROUP_ID_FIELD_DESC);
-          oprot.writeString(struct.groupId);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ownerId != null) {
-          oprot.writeFieldBegin(OWNER_ID_FIELD_DESC);
-          oprot.writeString(struct.ownerId);
+        if (struct.userId != null) {
+          oprot.writeFieldBegin(USER_ID_FIELD_DESC);
+          oprot.writeString(struct.userId);
           oprot.writeFieldEnd();
         }
         oprot.writeFieldStop();
@@ -32259,31 +31562,28 @@ public class SharingRegistryService {
 
     }
 
-    private static class hasOwnerAccess_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public hasOwnerAccess_argsTupleScheme getScheme() {
-        return new hasOwnerAccess_argsTupleScheme();
+    private static class getAllMemberGroupsForUser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getAllMemberGroupsForUser_argsTupleScheme getScheme() {
+        return new getAllMemberGroupsForUser_argsTupleScheme();
       }
     }
 
-    private static class hasOwnerAccess_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<hasOwnerAccess_args> {
+    private static class getAllMemberGroupsForUser_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAllMemberGroupsForUser_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, hasOwnerAccess_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, getAllMemberGroupsForUser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         oprot.writeString(struct.domainId);
-        oprot.writeString(struct.groupId);
-        oprot.writeString(struct.ownerId);
+        oprot.writeString(struct.userId);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, hasOwnerAccess_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, getAllMemberGroupsForUser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.domainId = iprot.readString();
         struct.setDomainIdIsSet(true);
-        struct.groupId = iprot.readString();
-        struct.setGroupIdIsSet(true);
-        struct.ownerId = iprot.readString();
-        struct.setOwnerIdIsSet(true);
+        struct.userId = iprot.readString();
+        struct.setUserIdIsSet(true);
       }
     }
 
@@ -32292,5369 +31592,16 @@ public class SharingRegistryService {
     }
   }
 
-  public static class hasOwnerAccess_result implements org.apache.thrift.TBase<hasOwnerAccess_result, hasOwnerAccess_result._Fields>, java.io.Serializable, Cloneable, Comparable<hasOwnerAccess_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("hasOwnerAccess_result");
+  public static class getAllMemberGroupsForUser_result implements org.apache.thrift.TBase<getAllMemberGroupsForUser_result, getAllMemberGroupsForUser_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllMemberGroupsForUser_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllMemberGroupsForUser_result");
 
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
     private static final org.apache.thrift.protocol.TField SRE_FIELD_DESC = new org.apache.thrift.protocol.TField("sre", org.apache.thrift.protocol.TType.STRUCT, (short)1);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new hasOwnerAccess_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new hasOwnerAccess_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllMemberGroupsForUser_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllMemberGroupsForUser_resultTupleSchemeFactory();
 
-    public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
-
-    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      SUCCESS((short)0, "success"),
-      SRE((short)1, "sre");
-
-      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-      static {
-        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 0: // SUCCESS
-            return SUCCESS;
-          case 1: // SRE
-            return SRE;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(java.lang.String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final java.lang.String _fieldName;
-
-      _Fields(short thriftId, java.lang.String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public java.lang.String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    private static final int __SUCCESS_ISSET_ID = 0;
-    private byte __isset_bitfield = 0;
-    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
-      tmpMap.put(_Fields.SRE, new org.apache.thrift.meta_data.FieldMetaData("sre", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.sharing.registry.models.SharingRegistryException.class)));
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(hasOwnerAccess_result.class, metaDataMap);
-    }
-
-    public hasOwnerAccess_result() {
-    }
-
-    public hasOwnerAccess_result(
-      boolean success,
-      org.apache.airavata.sharing.registry.models.SharingRegistryException sre)
-    {
-      this();
-      this.success = success;
-      setSuccessIsSet(true);
-      this.sre = sre;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public hasOwnerAccess_result(hasOwnerAccess_result other) {
-      __isset_bitfield = other.__isset_bitfield;
-      this.success = other.success;
-      if (other.isSetSre()) {
-        this.sre = new org.apache.airavata.sharing.registry.models.SharingRegistryException(other.sre);
-      }
-    }
-
-    public hasOwnerAccess_result deepCopy() {
-      return new hasOwnerAccess_result(this);
-    }
-
-    @Override
-    public void clear() {
-      setSuccessIsSet(false);
-      this.success = false;
-      this.sre = null;
-    }
-
-    public boolean isSuccess() {
-      return this.success;
-    }
-
-    public hasOwnerAccess_result setSuccess(boolean success) {
-      this.success = success;
-      setSuccessIsSet(true);
-      return this;
-    }
-
-    public void unsetSuccess() {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
-    }
-
-    /** Returns true if field success is set (has been assigned a value) and false otherwise */
-    public boolean isSetSuccess() {
-      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
-    }
-
-    public void setSuccessIsSet(boolean value) {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
-    }
-
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
-      return this.sre;
-    }
-
-    public hasOwnerAccess_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
-      this.sre = sre;
-      return this;
-    }
-
-    public void unsetSre() {
-      this.sre = null;
-    }
-
-    /** Returns true if field sre is set (has been assigned a value) and false otherwise */
-    public boolean isSetSre() {
-      return this.sre != null;
-    }
-
-    public void setSreIsSet(boolean value) {
-      if (!value) {
-        this.sre = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      case SUCCESS:
-        if (value == null) {
-          unsetSuccess();
-        } else {
-          setSuccess((java.lang.Boolean)value);
-        }
-        break;
-
-      case SRE:
-        if (value == null) {
-          unsetSre();
-        } else {
-          setSre((org.apache.airavata.sharing.registry.models.SharingRegistryException)value);
-        }
-        break;
-
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      case SUCCESS:
-        return isSuccess();
-
-      case SRE:
-        return getSre();
-
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new java.lang.IllegalArgumentException();
-      }
-
-      switch (field) {
-      case SUCCESS:
-        return isSetSuccess();
-      case SRE:
-        return isSetSre();
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof hasOwnerAccess_result)
-        return this.equals((hasOwnerAccess_result)that);
-      return false;
-    }
-
-    public boolean equals(hasOwnerAccess_result that) {
-      if (that == null)
-        return false;
-      if (this == that)
-        return true;
-
-      boolean this_present_success = true;
-      boolean that_present_success = true;
-      if (this_present_success || that_present_success) {
-        if (!(this_present_success && that_present_success))
-          return false;
-        if (this.success != that.success)
-          return false;
-      }
-
-      boolean this_present_sre = true && this.isSetSre();
-      boolean that_present_sre = true && that.isSetSre();
-      if (this_present_sre || that_present_sre) {
-        if (!(this_present_sre && that_present_sre))
-          return false;
-        if (!this.sre.equals(that.sre))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      hashCode = hashCode * 8191 + ((success) ? 131071 : 524287);
-
-      hashCode = hashCode * 8191 + ((isSetSre()) ? 131071 : 524287);
-      if (isSetSre())
-        hashCode = hashCode * 8191 + sre.hashCode();
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(hasOwnerAccess_result other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetSuccess()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetSre()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sre, other.sre);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      scheme(iprot).read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      scheme(oprot).write(oprot, this);
-      }
-
-    @Override
-    public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("hasOwnerAccess_result(");
-      boolean first = true;
-
-      sb.append("success:");
-      sb.append(this.success);
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("sre:");
-      if (this.sre == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.sre);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      // check for sub-struct validity
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-      try {
-        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
-        __isset_bitfield = 0;
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class hasOwnerAccess_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public hasOwnerAccess_resultStandardScheme getScheme() {
-        return new hasOwnerAccess_resultStandardScheme();
-      }
-    }
-
-    private static class hasOwnerAccess_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<hasOwnerAccess_result> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, hasOwnerAccess_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
-                struct.success = iprot.readBool();
-                struct.setSuccessIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 1: // SRE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.sre = new org.apache.airavata.sharing.registry.models.SharingRegistryException();
-                struct.sre.read(iprot);
-                struct.setSreIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, hasOwnerAccess_result struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.isSetSuccess()) {
-          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          oprot.writeBool(struct.success);
-          oprot.writeFieldEnd();
-        }
-        if (struct.sre != null) {
-          oprot.writeFieldBegin(SRE_FIELD_DESC);
-          struct.sre.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class hasOwnerAccess_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public hasOwnerAccess_resultTupleScheme getScheme() {
-        return new hasOwnerAccess_resultTupleScheme();
-      }
-    }
-
-    private static class hasOwnerAccess_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<hasOwnerAccess_result> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, hasOwnerAccess_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet optionals = new java.util.BitSet();
-        if (struct.isSetSuccess()) {
-          optionals.set(0);
-        }
-        if (struct.isSetSre()) {
-          optionals.set(1);
-        }
-        oprot.writeBitSet(optionals, 2);
-        if (struct.isSetSuccess()) {
-          oprot.writeBool(struct.success);
-        }
-        if (struct.isSetSre()) {
-          struct.sre.write(oprot);
-        }
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, hasOwnerAccess_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet incoming = iprot.readBitSet(2);
-        if (incoming.get(0)) {
-          struct.success = iprot.readBool();
-          struct.setSuccessIsSet(true);
-        }
-        if (incoming.get(1)) {
-          struct.sre = new org.apache.airavata.sharing.registry.models.SharingRegistryException();
-          struct.sre.read(iprot);
-          struct.setSreIsSet(true);
-        }
-      }
-    }
-
-    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-    }
-  }
-
-  public static class getGroupMembersOfTypeUser_args implements org.apache.thrift.TBase<getGroupMembersOfTypeUser_args, getGroupMembersOfTypeUser_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupMembersOfTypeUser_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupMembersOfTypeUser_args");
-
-    private static final org.apache.thrift.protocol.TField DOMAIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("domainId", org.apache.thrift.protocol.TType.STRING, (short)1);
-    private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField OFFSET_FIELD_DESC = new org.apache.thrift.protocol.TField("offset", org.apache.thrift.protocol.TType.I32, (short)3);
-    private static final org.apache.thrift.protocol.TField LIMIT_FIELD_DESC = new org.apache.thrift.protocol.TField("limit", org.apache.thrift.protocol.TType.I32, (short)4);
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupMembersOfTypeUser_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupMembersOfTypeUser_argsTupleSchemeFactory();
-
-    public java.lang.String domainId; // required
-    public java.lang.String groupId; // required
-    public int offset; // required
-    public int limit; // required
-
-    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      DOMAIN_ID((short)1, "domainId"),
-      GROUP_ID((short)2, "groupId"),
-      OFFSET((short)3, "offset"),
-      LIMIT((short)4, "limit");
-
-      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-      static {
-        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 1: // DOMAIN_ID
-            return DOMAIN_ID;
-          case 2: // GROUP_ID
-            return GROUP_ID;
-          case 3: // OFFSET
-            return OFFSET;
-          case 4: // LIMIT
-            return LIMIT;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(java.lang.String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final java.lang.String _fieldName;
-
-      _Fields(short thriftId, java.lang.String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public java.lang.String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    private static final int __OFFSET_ISSET_ID = 0;
-    private static final int __LIMIT_ISSET_ID = 1;
-    private byte __isset_bitfield = 0;
-    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.DOMAIN_ID, new org.apache.thrift.meta_data.FieldMetaData("domainId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.GROUP_ID, new org.apache.thrift.meta_data.FieldMetaData("groupId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.OFFSET, new org.apache.thrift.meta_data.FieldMetaData("offset", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
-      tmpMap.put(_Fields.LIMIT, new org.apache.thrift.meta_data.FieldMetaData("limit", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGroupMembersOfTypeUser_args.class, metaDataMap);
-    }
-
-    public getGroupMembersOfTypeUser_args() {
-    }
-
-    public getGroupMembersOfTypeUser_args(
-      java.lang.String domainId,
-      java.lang.String groupId,
-      int offset,
-      int limit)
-    {
-      this();
-      this.domainId = domainId;
-      this.groupId = groupId;
-      this.offset = offset;
-      setOffsetIsSet(true);
-      this.limit = limit;
-      setLimitIsSet(true);
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public getGroupMembersOfTypeUser_args(getGroupMembersOfTypeUser_args other) {
-      __isset_bitfield = other.__isset_bitfield;
-      if (other.isSetDomainId()) {
-        this.domainId = other.domainId;
-      }
-      if (other.isSetGroupId()) {
-        this.groupId = other.groupId;
-      }
-      this.offset = other.offset;
-      this.limit = other.limit;
-    }
-
-    public getGroupMembersOfTypeUser_args deepCopy() {
-      return new getGroupMembersOfTypeUser_args(this);
-    }
-
-    @Override
-    public void clear() {
-      this.domainId = null;
-      this.groupId = null;
-      setOffsetIsSet(false);
-      this.offset = 0;
-      setLimitIsSet(false);
-      this.limit = 0;
-    }
-
-    public java.lang.String getDomainId() {
-      return this.domainId;
-    }
-
-    public getGroupMembersOfTypeUser_args setDomainId(java.lang.String domainId) {
-      this.domainId = domainId;
-      return this;
-    }
-
-    public void unsetDomainId() {
-      this.domainId = null;
-    }
-
-    /** Returns true if field domainId is set (has been assigned a value) and false otherwise */
-    public boolean isSetDomainId() {
-      return this.domainId != null;
-    }
-
-    public void setDomainIdIsSet(boolean value) {
-      if (!value) {
-        this.domainId = null;
-      }
-    }
-
-    public java.lang.String getGroupId() {
-      return this.groupId;
-    }
-
-    public getGroupMembersOfTypeUser_args setGroupId(java.lang.String groupId) {
-      this.groupId = groupId;
-      return this;
-    }
-
-    public void unsetGroupId() {
-      this.groupId = null;
-    }
-
-    /** Returns true if field groupId is set (has been assigned a value) and false otherwise */
-    public boolean isSetGroupId() {
-      return this.groupId != null;
-    }
-
-    public void setGroupIdIsSet(boolean value) {
-      if (!value) {
-        this.groupId = null;
-      }
-    }
-
-    public int getOffset() {
-      return this.offset;
-    }
-
-    public getGroupMembersOfTypeUser_args setOffset(int offset) {
-      this.offset = offset;
-      setOffsetIsSet(true);
-      return this;
-    }
-
-    public void unsetOffset() {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __OFFSET_ISSET_ID);
-    }
-
-    /** Returns true if field offset is set (has been assigned a value) and false otherwise */
-    public boolean isSetOffset() {
-      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __OFFSET_ISSET_ID);
-    }
-
-    public void setOffsetIsSet(boolean value) {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __OFFSET_ISSET_ID, value);
-    }
-
-    public int getLimit() {
-      return this.limit;
-    }
-
-    public getGroupMembersOfTypeUser_args setLimit(int limit) {
-      this.limit = limit;
-      setLimitIsSet(true);
-      return this;
-    }
-
-    public void unsetLimit() {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __LIMIT_ISSET_ID);
-    }
-
-    /** Returns true if field limit is set (has been assigned a value) and false otherwise */
-    public boolean isSetLimit() {
-      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __LIMIT_ISSET_ID);
-    }
-
-    public void setLimitIsSet(boolean value) {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __LIMIT_ISSET_ID, value);
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      case DOMAIN_ID:
-        if (value == null) {
-          unsetDomainId();
-        } else {
-          setDomainId((java.lang.String)value);
-        }
-        break;
-
-      case GROUP_ID:
-        if (value == null) {
-          unsetGroupId();
-        } else {
-          setGroupId((java.lang.String)value);
-        }
-        break;
-
-      case OFFSET:
-        if (value == null) {
-          unsetOffset();
-        } else {
-          setOffset((java.lang.Integer)value);
-        }
-        break;
-
-      case LIMIT:
-        if (value == null) {
-          unsetLimit();
-        } else {
-          setLimit((java.lang.Integer)value);
-        }
-        break;
-
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      case DOMAIN_ID:
-        return getDomainId();
-
-      case GROUP_ID:
-        return getGroupId();
-
-      case OFFSET:
-        return getOffset();
-
-      case LIMIT:
-        return getLimit();
-
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new java.lang.IllegalArgumentException();
-      }
-
-      switch (field) {
-      case DOMAIN_ID:
-        return isSetDomainId();
-      case GROUP_ID:
-        return isSetGroupId();
-      case OFFSET:
-        return isSetOffset();
-      case LIMIT:
-        return isSetLimit();
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof getGroupMembersOfTypeUser_args)
-        return this.equals((getGroupMembersOfTypeUser_args)that);
-      return false;
-    }
-
-    public boolean equals(getGroupMembersOfTypeUser_args that) {
-      if (that == null)
-        return false;
-      if (this == that)
-        return true;
-
-      boolean this_present_domainId = true && this.isSetDomainId();
-      boolean that_present_domainId = true && that.isSetDomainId();
-      if (this_present_domainId || that_present_domainId) {
-        if (!(this_present_domainId && that_present_domainId))
-          return false;
-        if (!this.domainId.equals(that.domainId))
-          return false;
-      }
-
-      boolean this_present_groupId = true && this.isSetGroupId();
-      boolean that_present_groupId = true && that.isSetGroupId();
-      if (this_present_groupId || that_present_groupId) {
-        if (!(this_present_groupId && that_present_groupId))
-          return false;
-        if (!this.groupId.equals(that.groupId))
-          return false;
-      }
-
-      boolean this_present_offset = true;
-      boolean that_present_offset = true;
-      if (this_present_offset || that_present_offset) {
-        if (!(this_present_offset && that_present_offset))
-          return false;
-        if (this.offset != that.offset)
-          return false;
-      }
-
-      boolean this_present_limit = true;
-      boolean that_present_limit = true;
-      if (this_present_limit || that_present_limit) {
-        if (!(this_present_limit && that_present_limit))
-          return false;
-        if (this.limit != that.limit)
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      hashCode = hashCode * 8191 + ((isSetDomainId()) ? 131071 : 524287);
-      if (isSetDomainId())
-        hashCode = hashCode * 8191 + domainId.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetGroupId()) ? 131071 : 524287);
-      if (isSetGroupId())
-        hashCode = hashCode * 8191 + groupId.hashCode();
-
-      hashCode = hashCode * 8191 + offset;
-
-      hashCode = hashCode * 8191 + limit;
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(getGroupMembersOfTypeUser_args other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetDomainId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.domainId, other.domainId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetGroupId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.groupId, other.groupId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetOffset()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.offset, other.offset);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetLimit()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.limit, other.limit);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      scheme(iprot).read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      scheme(oprot).write(oprot, this);
-    }
-
-    @Override
-    public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getGroupMembersOfTypeUser_args(");
-      boolean first = true;
-
-      sb.append("domainId:");
-      if (this.domainId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.domainId);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("groupId:");
-      if (this.groupId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.groupId);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("offset:");
-      sb.append(this.offset);
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("limit:");
-      sb.append(this.limit);
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      if (groupId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupId' was not present! Struct: " + toString());
-      }
-      // alas, we cannot check 'offset' because it's a primitive and you chose the non-beans generator.
-      // alas, we cannot check 'limit' because it's a primitive and you chose the non-beans generator.
-      // check for sub-struct validity
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-      try {
-        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
-        __isset_bitfield = 0;
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class getGroupMembersOfTypeUser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getGroupMembersOfTypeUser_argsStandardScheme getScheme() {
-        return new getGroupMembersOfTypeUser_argsStandardScheme();
-      }
-    }
-
-    private static class getGroupMembersOfTypeUser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupMembersOfTypeUser_args> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupMembersOfTypeUser_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 1: // DOMAIN_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.domainId = iprot.readString();
-                struct.setDomainIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 2: // GROUP_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.groupId = iprot.readString();
-                struct.setGroupIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 3: // OFFSET
-              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-                struct.offset = iprot.readI32();
-                struct.setOffsetIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 4: // LIMIT
-              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-                struct.limit = iprot.readI32();
-                struct.setLimitIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        if (!struct.isSetOffset()) {
-          throw new org.apache.thrift.protocol.TProtocolException("Required field 'offset' was not found in serialized data! Struct: " + toString());
-        }
-        if (!struct.isSetLimit()) {
-          throw new org.apache.thrift.protocol.TProtocolException("Required field 'limit' was not found in serialized data! Struct: " + toString());
-        }
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupMembersOfTypeUser_args struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.domainId != null) {
-          oprot.writeFieldBegin(DOMAIN_ID_FIELD_DESC);
-          oprot.writeString(struct.domainId);
-          oprot.writeFieldEnd();
-        }
-        if (struct.groupId != null) {
-          oprot.writeFieldBegin(GROUP_ID_FIELD_DESC);
-          oprot.writeString(struct.groupId);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldBegin(OFFSET_FIELD_DESC);
-        oprot.writeI32(struct.offset);
-        oprot.writeFieldEnd();
-        oprot.writeFieldBegin(LIMIT_FIELD_DESC);
-        oprot.writeI32(struct.limit);
-        oprot.writeFieldEnd();
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class getGroupMembersOfTypeUser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getGroupMembersOfTypeUser_argsTupleScheme getScheme() {
-        return new getGroupMembersOfTypeUser_argsTupleScheme();
-      }
-    }
-
-    private static class getGroupMembersOfTypeUser_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupMembersOfTypeUser_args> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getGroupMembersOfTypeUser_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        oprot.writeString(struct.groupId);
-        oprot.writeI32(struct.offset);
-        oprot.writeI32(struct.limit);
-        java.util.BitSet optionals = new java.util.BitSet();
-        if (struct.isSetDomainId()) {
-          optionals.set(0);
-        }
-        oprot.writeBitSet(optionals, 1);
-        if (struct.isSetDomainId()) {
-          oprot.writeString(struct.domainId);
-        }
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getGroupMembersOfTypeUser_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.groupId = iprot.readString();
-        struct.setGroupIdIsSet(true);
-        struct.offset = iprot.readI32();
-        struct.setOffsetIsSet(true);
-        struct.limit = iprot.readI32();
-        struct.setLimitIsSet(true);
-        java.util.BitSet incoming = iprot.readBitSet(1);
-        if (incoming.get(0)) {
-          struct.domainId = iprot.readString();
-          struct.setDomainIdIsSet(true);
-        }
-      }
-    }
-
-    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-    }
-  }
-
-  public static class getGroupMembersOfTypeUser_result implements org.apache.thrift.TBase<getGroupMembersOfTypeUser_result, getGroupMembersOfTypeUser_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupMembersOfTypeUser_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupMembersOfTypeUser_result");
-
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
-    private static final org.apache.thrift.protocol.TField SRE_FIELD_DESC = new org.apache.thrift.protocol.TField("sre", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupMembersOfTypeUser_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupMembersOfTypeUser_resultTupleSchemeFactory();
-
-    public java.util.List<org.apache.airavata.sharing.registry.models.User> success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
-
-    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      SUCCESS((short)0, "success"),
-      SRE((short)1, "sre");
-
-      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-      static {
-        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 0: // SUCCESS
-            return SUCCESS;
-          case 1: // SRE
-            return SRE;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(java.lang.String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final java.lang.String _fieldName;
-
-      _Fields(short thriftId, java.lang.String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public java.lang.String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
-              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.sharing.registry.models.User.class))));
-      tmpMap.put(_Fields.SRE, new org.apache.thrift.meta_data.FieldMetaData("sre", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.sharing.registry.models.SharingRegistryException.class)));
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGroupMembersOfTypeUser_result.class, metaDataMap);
-    }
-
-    public getGroupMembersOfTypeUser_result() {
-    }
-
-    public getGroupMembersOfTypeUser_result(
-      java.util.List<org.apache.airavata.sharing.registry.models.User> success,
-      org.apache.airavata.sharing.registry.models.SharingRegistryException sre)
-    {
-      this();
-      this.success = success;
-      this.sre = sre;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public getGroupMembersOfTypeUser_result(getGroupMembersOfTypeUser_result other) {
-      if (other.isSetSuccess()) {
-        java.util.List<org.apache.airavata.sharing.registry.models.User> __this__success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.User>(other.success.size());
-        for (org.apache.airavata.sharing.registry.models.User other_element : other.success) {
-          __this__success.add(new org.apache.airavata.sharing.registry.models.User(other_element));
-        }
-        this.success = __this__success;
-      }
-      if (other.isSetSre()) {
-        this.sre = new org.apache.airavata.sharing.registry.models.SharingRegistryException(other.sre);
-      }
-    }
-
-    public getGroupMembersOfTypeUser_result deepCopy() {
-      return new getGroupMembersOfTypeUser_result(this);
-    }
-
-    @Override
-    public void clear() {
-      this.success = null;
-      this.sre = null;
-    }
-
-    public int getSuccessSize() {
-      return (this.success == null) ? 0 : this.success.size();
-    }
-
-    public java.util.Iterator<org.apache.airavata.sharing.registry.models.User> getSuccessIterator() {
-      return (this.success == null) ? null : this.success.iterator();
-    }
-
-    public void addToSuccess(org.apache.airavata.sharing.registry.models.User elem) {
-      if (this.success == null) {
-        this.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.User>();
-      }
-      this.success.add(elem);
-    }
-
-    public java.util.List<org.apache.airavata.sharing.registry.models.User> getSuccess() {
-      return this.success;
-    }
-
-    public getGroupMembersOfTypeUser_result setSuccess(java.util.List<org.apache.airavata.sharing.registry.models.User> success) {
-      this.success = success;
-      return this;
-    }
-
-    public void unsetSuccess() {
-      this.success = null;
-    }
-
-    /** Returns true if field success is set (has been assigned a value) and false otherwise */
-    public boolean isSetSuccess() {
-      return this.success != null;
-    }
-
-    public void setSuccessIsSet(boolean value) {
-      if (!value) {
-        this.success = null;
-      }
-    }
-
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
-      return this.sre;
-    }
-
-    public getGroupMembersOfTypeUser_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
-      this.sre = sre;
-      return this;
-    }
-
-    public void unsetSre() {
-      this.sre = null;
-    }
-
-    /** Returns true if field sre is set (has been assigned a value) and false otherwise */
-    public boolean isSetSre() {
-      return this.sre != null;
-    }
-
-    public void setSreIsSet(boolean value) {
-      if (!value) {
-        this.sre = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      case SUCCESS:
-        if (value == null) {
-          unsetSuccess();
-        } else {
-          setSuccess((java.util.List<org.apache.airavata.sharing.registry.models.User>)value);
-        }
-        break;
-
-      case SRE:
-        if (value == null) {
-          unsetSre();
-        } else {
-          setSre((org.apache.airavata.sharing.registry.models.SharingRegistryException)value);
-        }
-        break;
-
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      case SUCCESS:
-        return getSuccess();
-
-      case SRE:
-        return getSre();
-
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new java.lang.IllegalArgumentException();
-      }
-
-      switch (field) {
-      case SUCCESS:
-        return isSetSuccess();
-      case SRE:
-        return isSetSre();
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof getGroupMembersOfTypeUser_result)
-        return this.equals((getGroupMembersOfTypeUser_result)that);
-      return false;
-    }
-
-    public boolean equals(getGroupMembersOfTypeUser_result that) {
-      if (that == null)
-        return false;
-      if (this == that)
-        return true;
-
-      boolean this_present_success = true && this.isSetSuccess();
-      boolean that_present_success = true && that.isSetSuccess();
-      if (this_present_success || that_present_success) {
-        if (!(this_present_success && that_present_success))
-          return false;
-        if (!this.success.equals(that.success))
-          return false;
-      }
-
-      boolean this_present_sre = true && this.isSetSre();
-      boolean that_present_sre = true && that.isSetSre();
-      if (this_present_sre || that_present_sre) {
-        if (!(this_present_sre && that_present_sre))
-          return false;
-        if (!this.sre.equals(that.sre))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
-      if (isSetSuccess())
-        hashCode = hashCode * 8191 + success.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetSre()) ? 131071 : 524287);
-      if (isSetSre())
-        hashCode = hashCode * 8191 + sre.hashCode();
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(getGroupMembersOfTypeUser_result other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetSuccess()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetSre()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sre, other.sre);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      scheme(iprot).read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      scheme(oprot).write(oprot, this);
-      }
-
-    @Override
-    public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getGroupMembersOfTypeUser_result(");
-      boolean first = true;
-
-      sb.append("success:");
-      if (this.success == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.success);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("sre:");
-      if (this.sre == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.sre);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      // check for sub-struct validity
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-      try {
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class getGroupMembersOfTypeUser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getGroupMembersOfTypeUser_resultStandardScheme getScheme() {
-        return new getGroupMembersOfTypeUser_resultStandardScheme();
-      }
-    }
-
-    private static class getGroupMembersOfTypeUser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupMembersOfTypeUser_result> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupMembersOfTypeUser_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-                {
-                  org.apache.thrift.protocol.TList _list56 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.User>(_list56.size);
-                  org.apache.airavata.sharing.registry.models.User _elem57;
-                  for (int _i58 = 0; _i58 < _list56.size; ++_i58)
-                  {
-                    _elem57 = new org.apache.airavata.sharing.registry.models.User();
-                    _elem57.read(iprot);
-                    struct.success.add(_elem57);
-                  }
-                  iprot.readListEnd();
-                }
-                struct.setSuccessIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 1: // SRE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.sre = new org.apache.airavata.sharing.registry.models.SharingRegistryException();
-                struct.sre.read(iprot);
-                struct.setSreIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupMembersOfTypeUser_result struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.success != null) {
-          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.sharing.registry.models.User _iter59 : struct.success)
-            {
-              _iter59.write(oprot);
-            }
-            oprot.writeListEnd();
-          }
-          oprot.writeFieldEnd();
-        }
-        if (struct.sre != null) {
-          oprot.writeFieldBegin(SRE_FIELD_DESC);
-          struct.sre.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class getGroupMembersOfTypeUser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getGroupMembersOfTypeUser_resultTupleScheme getScheme() {
-        return new getGroupMembersOfTypeUser_resultTupleScheme();
-      }
-    }
-
-    private static class getGroupMembersOfTypeUser_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupMembersOfTypeUser_result> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getGroupMembersOfTypeUser_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet optionals = new java.util.BitSet();
-        if (struct.isSetSuccess()) {
-          optionals.set(0);
-        }
-        if (struct.isSetSre()) {
-          optionals.set(1);
-        }
-        oprot.writeBitSet(optionals, 2);
-        if (struct.isSetSuccess()) {
-          {
-            oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.sharing.registry.models.User _iter60 : struct.success)
-            {
-              _iter60.write(oprot);
-            }
-          }
-        }
-        if (struct.isSetSre()) {
-          struct.sre.write(oprot);
-        }
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getGroupMembersOfTypeUser_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet incoming = iprot.readBitSet(2);
-        if (incoming.get(0)) {
-          {
-            org.apache.thrift.protocol.TList _list61 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.User>(_list61.size);
-            org.apache.airavata.sharing.registry.models.User _elem62;
-            for (int _i63 = 0; _i63 < _list61.size; ++_i63)
-            {
-              _elem62 = new org.apache.airavata.sharing.registry.models.User();
-              _elem62.read(iprot);
-              struct.success.add(_elem62);
-            }
-          }
-          struct.setSuccessIsSet(true);
-        }
-        if (incoming.get(1)) {
-          struct.sre = new org.apache.airavata.sharing.registry.models.SharingRegistryException();
-          struct.sre.read(iprot);
-          struct.setSreIsSet(true);
-        }
-      }
-    }
-
-    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-    }
-  }
-
-  public static class getGroupMembersOfTypeGroup_args implements org.apache.thrift.TBase<getGroupMembersOfTypeGroup_args, getGroupMembersOfTypeGroup_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupMembersOfTypeGroup_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupMembersOfTypeGroup_args");
-
-    private static final org.apache.thrift.protocol.TField DOMAIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("domainId", org.apache.thrift.protocol.TType.STRING, (short)1);
-    private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField OFFSET_FIELD_DESC = new org.apache.thrift.protocol.TField("offset", org.apache.thrift.protocol.TType.I32, (short)3);
-    private static final org.apache.thrift.protocol.TField LIMIT_FIELD_DESC = new org.apache.thrift.protocol.TField("limit", org.apache.thrift.protocol.TType.I32, (short)4);
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupMembersOfTypeGroup_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupMembersOfTypeGroup_argsTupleSchemeFactory();
-
-    public java.lang.String domainId; // required
-    public java.lang.String groupId; // required
-    public int offset; // required
-    public int limit; // required
-
-    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      DOMAIN_ID((short)1, "domainId"),
-      GROUP_ID((short)2, "groupId"),
-      OFFSET((short)3, "offset"),
-      LIMIT((short)4, "limit");
-
-      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-      static {
-        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 1: // DOMAIN_ID
-            return DOMAIN_ID;
-          case 2: // GROUP_ID
-            return GROUP_ID;
-          case 3: // OFFSET
-            return OFFSET;
-          case 4: // LIMIT
-            return LIMIT;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(java.lang.String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final java.lang.String _fieldName;
-
-      _Fields(short thriftId, java.lang.String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public java.lang.String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    private static final int __OFFSET_ISSET_ID = 0;
-    private static final int __LIMIT_ISSET_ID = 1;
-    private byte __isset_bitfield = 0;
-    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.DOMAIN_ID, new org.apache.thrift.meta_data.FieldMetaData("domainId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.GROUP_ID, new org.apache.thrift.meta_data.FieldMetaData("groupId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.OFFSET, new org.apache.thrift.meta_data.FieldMetaData("offset", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
-      tmpMap.put(_Fields.LIMIT, new org.apache.thrift.meta_data.FieldMetaData("limit", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGroupMembersOfTypeGroup_args.class, metaDataMap);
-    }
-
-    public getGroupMembersOfTypeGroup_args() {
-    }
-
-    public getGroupMembersOfTypeGroup_args(
-      java.lang.String domainId,
-      java.lang.String groupId,
-      int offset,
-      int limit)
-    {
-      this();
-      this.domainId = domainId;
-      this.groupId = groupId;
-      this.offset = offset;
-      setOffsetIsSet(true);
-      this.limit = limit;
-      setLimitIsSet(true);
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public getGroupMembersOfTypeGroup_args(getGroupMembersOfTypeGroup_args other) {
-      __isset_bitfield = other.__isset_bitfield;
-      if (other.isSetDomainId()) {
-        this.domainId = other.domainId;
-      }
-      if (other.isSetGroupId()) {
-        this.groupId = other.groupId;
-      }
-      this.offset = other.offset;
-      this.limit = other.limit;
-    }
-
-    public getGroupMembersOfTypeGroup_args deepCopy() {
-      return new getGroupMembersOfTypeGroup_args(this);
-    }
-
-    @Override
-    public void clear() {
-      this.domainId = null;
-      this.groupId = null;
-      setOffsetIsSet(false);
-      this.offset = 0;
-      setLimitIsSet(false);
-      this.limit = 0;
-    }
-
-    public java.lang.String getDomainId() {
-      return this.domainId;
-    }
-
-    public getGroupMembersOfTypeGroup_args setDomainId(java.lang.String domainId) {
-      this.domainId = domainId;
-      return this;
-    }
-
-    public void unsetDomainId() {
-      this.domainId = null;
-    }
-
-    /** Returns true if field domainId is set (has been assigned a value) and false otherwise */
-    public boolean isSetDomainId() {
-      return this.domainId != null;
-    }
-
-    public void setDomainIdIsSet(boolean value) {
-      if (!value) {
-        this.domainId = null;
-      }
-    }
-
-    public java.lang.String getGroupId() {
-      return this.groupId;
-    }
-
-    public getGroupMembersOfTypeGroup_args setGroupId(java.lang.String groupId) {
-      this.groupId = groupId;
-      return this;
-    }
-
-    public void unsetGroupId() {
-      this.groupId = null;
-    }
-
-    /** Returns true if field groupId is set (has been assigned a value) and false otherwise */
-    public boolean isSetGroupId() {
-      return this.groupId != null;
-    }
-
-    public void setGroupIdIsSet(boolean value) {
-      if (!value) {
-        this.groupId = null;
-      }
-    }
-
-    public int getOffset() {
-      return this.offset;
-    }
-
-    public getGroupMembersOfTypeGroup_args setOffset(int offset) {
-      this.offset = offset;
-      setOffsetIsSet(true);
-      return this;
-    }
-
-    public void unsetOffset() {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __OFFSET_ISSET_ID);
-    }
-
-    /** Returns true if field offset is set (has been assigned a value) and false otherwise */
-    public boolean isSetOffset() {
-      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __OFFSET_ISSET_ID);
-    }
-
-    public void setOffsetIsSet(boolean value) {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __OFFSET_ISSET_ID, value);
-    }
-
-    public int getLimit() {
-      return this.limit;
-    }
-
-    public getGroupMembersOfTypeGroup_args setLimit(int limit) {
-      this.limit = limit;
-      setLimitIsSet(true);
-      return this;
-    }
-
-    public void unsetLimit() {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __LIMIT_ISSET_ID);
-    }
-
-    /** Returns true if field limit is set (has been assigned a value) and false otherwise */
-    public boolean isSetLimit() {
-      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __LIMIT_ISSET_ID);
-    }
-
-    public void setLimitIsSet(boolean value) {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __LIMIT_ISSET_ID, value);
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      case DOMAIN_ID:
-        if (value == null) {
-          unsetDomainId();
-        } else {
-          setDomainId((java.lang.String)value);
-        }
-        break;
-
-      case GROUP_ID:
-        if (value == null) {
-          unsetGroupId();
-        } else {
-          setGroupId((java.lang.String)value);
-        }
-        break;
-
-      case OFFSET:
-        if (value == null) {
-          unsetOffset();
-        } else {
-          setOffset((java.lang.Integer)value);
-        }
-        break;
-
-      case LIMIT:
-        if (value == null) {
-          unsetLimit();
-        } else {
-          setLimit((java.lang.Integer)value);
-        }
-        break;
-
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      case DOMAIN_ID:
-        return getDomainId();
-
-      case GROUP_ID:
-        return getGroupId();
-
-      case OFFSET:
-        return getOffset();
-
-      case LIMIT:
-        return getLimit();
-
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new java.lang.IllegalArgumentException();
-      }
-
-      switch (field) {
-      case DOMAIN_ID:
-        return isSetDomainId();
-      case GROUP_ID:
-        return isSetGroupId();
-      case OFFSET:
-        return isSetOffset();
-      case LIMIT:
-        return isSetLimit();
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof getGroupMembersOfTypeGroup_args)
-        return this.equals((getGroupMembersOfTypeGroup_args)that);
-      return false;
-    }
-
-    public boolean equals(getGroupMembersOfTypeGroup_args that) {
-      if (that == null)
-        return false;
-      if (this == that)
-        return true;
-
-      boolean this_present_domainId = true && this.isSetDomainId();
-      boolean that_present_domainId = true && that.isSetDomainId();
-      if (this_present_domainId || that_present_domainId) {
-        if (!(this_present_domainId && that_present_domainId))
-          return false;
-        if (!this.domainId.equals(that.domainId))
-          return false;
-      }
-
-      boolean this_present_groupId = true && this.isSetGroupId();
-      boolean that_present_groupId = true && that.isSetGroupId();
-      if (this_present_groupId || that_present_groupId) {
-        if (!(this_present_groupId && that_present_groupId))
-          return false;
-        if (!this.groupId.equals(that.groupId))
-          return false;
-      }
-
-      boolean this_present_offset = true;
-      boolean that_present_offset = true;
-      if (this_present_offset || that_present_offset) {
-        if (!(this_present_offset && that_present_offset))
-          return false;
-        if (this.offset != that.offset)
-          return false;
-      }
-
-      boolean this_present_limit = true;
-      boolean that_present_limit = true;
-      if (this_present_limit || that_present_limit) {
-        if (!(this_present_limit && that_present_limit))
-          return false;
-        if (this.limit != that.limit)
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      hashCode = hashCode * 8191 + ((isSetDomainId()) ? 131071 : 524287);
-      if (isSetDomainId())
-        hashCode = hashCode * 8191 + domainId.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetGroupId()) ? 131071 : 524287);
-      if (isSetGroupId())
-        hashCode = hashCode * 8191 + groupId.hashCode();
-
-      hashCode = hashCode * 8191 + offset;
-
-      hashCode = hashCode * 8191 + limit;
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(getGroupMembersOfTypeGroup_args other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetDomainId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.domainId, other.domainId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetGroupId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.groupId, other.groupId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetOffset()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.offset, other.offset);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetLimit()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.limit, other.limit);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      scheme(iprot).read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      scheme(oprot).write(oprot, this);
-    }
-
-    @Override
-    public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getGroupMembersOfTypeGroup_args(");
-      boolean first = true;
-
-      sb.append("domainId:");
-      if (this.domainId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.domainId);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("groupId:");
-      if (this.groupId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.groupId);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("offset:");
-      sb.append(this.offset);
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("limit:");
-      sb.append(this.limit);
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      if (domainId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'domainId' was not present! Struct: " + toString());
-      }
-      if (groupId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupId' was not present! Struct: " + toString());
-      }
-      // alas, we cannot check 'offset' because it's a primitive and you chose the non-beans generator.
-      // alas, we cannot check 'limit' because it's a primitive and you chose the non-beans generator.
-      // check for sub-struct validity
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-      try {
-        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
-        __isset_bitfield = 0;
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class getGroupMembersOfTypeGroup_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getGroupMembersOfTypeGroup_argsStandardScheme getScheme() {
-        return new getGroupMembersOfTypeGroup_argsStandardScheme();
-      }
-    }
-
-    private static class getGroupMembersOfTypeGroup_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupMembersOfTypeGroup_args> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupMembersOfTypeGroup_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 1: // DOMAIN_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.domainId = iprot.readString();
-                struct.setDomainIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 2: // GROUP_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.groupId = iprot.readString();
-                struct.setGroupIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 3: // OFFSET
-              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-                struct.offset = iprot.readI32();
-                struct.setOffsetIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 4: // LIMIT
-              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-                struct.limit = iprot.readI32();
-                struct.setLimitIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        if (!struct.isSetOffset()) {
-          throw new org.apache.thrift.protocol.TProtocolException("Required field 'offset' was not found in serialized data! Struct: " + toString());
-        }
-        if (!struct.isSetLimit()) {
-          throw new org.apache.thrift.protocol.TProtocolException("Required field 'limit' was not found in serialized data! Struct: " + toString());
-        }
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupMembersOfTypeGroup_args struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.domainId != null) {
-          oprot.writeFieldBegin(DOMAIN_ID_FIELD_DESC);
-          oprot.writeString(struct.domainId);
-          oprot.writeFieldEnd();
-        }
-        if (struct.groupId != null) {
-          oprot.writeFieldBegin(GROUP_ID_FIELD_DESC);
-          oprot.writeString(struct.groupId);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldBegin(OFFSET_FIELD_DESC);
-        oprot.writeI32(struct.offset);
-        oprot.writeFieldEnd();
-        oprot.writeFieldBegin(LIMIT_FIELD_DESC);
-        oprot.writeI32(struct.limit);
-        oprot.writeFieldEnd();
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class getGroupMembersOfTypeGroup_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getGroupMembersOfTypeGroup_argsTupleScheme getScheme() {
-        return new getGroupMembersOfTypeGroup_argsTupleScheme();
-      }
-    }
-
-    private static class getGroupMembersOfTypeGroup_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupMembersOfTypeGroup_args> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getGroupMembersOfTypeGroup_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        oprot.writeString(struct.domainId);
-        oprot.writeString(struct.groupId);
-        oprot.writeI32(struct.offset);
-        oprot.writeI32(struct.limit);
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getGroupMembersOfTypeGroup_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.domainId = iprot.readString();
-        struct.setDomainIdIsSet(true);
-        struct.groupId = iprot.readString();
-        struct.setGroupIdIsSet(true);
-        struct.offset = iprot.readI32();
-        struct.setOffsetIsSet(true);
-        struct.limit = iprot.readI32();
-        struct.setLimitIsSet(true);
-      }
-    }
-
-    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-    }
-  }
-
-  public static class getGroupMembersOfTypeGroup_result implements org.apache.thrift.TBase<getGroupMembersOfTypeGroup_result, getGroupMembersOfTypeGroup_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupMembersOfTypeGroup_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupMembersOfTypeGroup_result");
-
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
-    private static final org.apache.thrift.protocol.TField SRE_FIELD_DESC = new org.apache.thrift.protocol.TField("sre", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupMembersOfTypeGroup_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupMembersOfTypeGroup_resultTupleSchemeFactory();
-
-    public java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
-
-    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      SUCCESS((short)0, "success"),
-      SRE((short)1, "sre");
-
-      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-      static {
-        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 0: // SUCCESS
-            return SUCCESS;
-          case 1: // SRE
-            return SRE;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(java.lang.String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final java.lang.String _fieldName;
-
-      _Fields(short thriftId, java.lang.String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public java.lang.String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
-              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.sharing.registry.models.UserGroup.class))));
-      tmpMap.put(_Fields.SRE, new org.apache.thrift.meta_data.FieldMetaData("sre", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.sharing.registry.models.SharingRegistryException.class)));
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGroupMembersOfTypeGroup_result.class, metaDataMap);
-    }
-
-    public getGroupMembersOfTypeGroup_result() {
-    }
-
-    public getGroupMembersOfTypeGroup_result(
-      java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success,
-      org.apache.airavata.sharing.registry.models.SharingRegistryException sre)
-    {
-      this();
-      this.success = success;
-      this.sre = sre;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public getGroupMembersOfTypeGroup_result(getGroupMembersOfTypeGroup_result other) {
-      if (other.isSetSuccess()) {
-        java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> __this__success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.UserGroup>(other.success.size());
-        for (org.apache.airavata.sharing.registry.models.UserGroup other_element : other.success) {
-          __this__success.add(new org.apache.airavata.sharing.registry.models.UserGroup(other_element));
-        }
-        this.success = __this__success;
-      }
-      if (other.isSetSre()) {
-        this.sre = new org.apache.airavata.sharing.registry.models.SharingRegistryException(other.sre);
-      }
-    }
-
-    public getGroupMembersOfTypeGroup_result deepCopy() {
-      return new getGroupMembersOfTypeGroup_result(this);
-    }
-
-    @Override
-    public void clear() {
-      this.success = null;
-      this.sre = null;
-    }
-
-    public int getSuccessSize() {
-      return (this.success == null) ? 0 : this.success.size();
-    }
-
-    public java.util.Iterator<org.apache.airavata.sharing.registry.models.UserGroup> getSuccessIterator() {
-      return (this.success == null) ? null : this.success.iterator();
-    }
-
-    public void addToSuccess(org.apache.airavata.sharing.registry.models.UserGroup elem) {
-      if (this.success == null) {
-        this.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.UserGroup>();
-      }
-      this.success.add(elem);
-    }
-
-    public java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> getSuccess() {
-      return this.success;
-    }
-
-    public getGroupMembersOfTypeGroup_result setSuccess(java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success) {
-      this.success = success;
-      return this;
-    }
-
-    public void unsetSuccess() {
-      this.success = null;
-    }
-
-    /** Returns true if field success is set (has been assigned a value) and false otherwise */
-    public boolean isSetSuccess() {
-      return this.success != null;
-    }
-
-    public void setSuccessIsSet(boolean value) {
-      if (!value) {
-        this.success = null;
-      }
-    }
-
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
-      return this.sre;
-    }
-
-    public getGroupMembersOfTypeGroup_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
-      this.sre = sre;
-      return this;
-    }
-
-    public void unsetSre() {
-      this.sre = null;
-    }
-
-    /** Returns true if field sre is set (has been assigned a value) and false otherwise */
-    public boolean isSetSre() {
-      return this.sre != null;
-    }
-
-    public void setSreIsSet(boolean value) {
-      if (!value) {
-        this.sre = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      case SUCCESS:
-        if (value == null) {
-          unsetSuccess();
-        } else {
-          setSuccess((java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>)value);
-        }
-        break;
-
-      case SRE:
-        if (value == null) {
-          unsetSre();
-        } else {
-          setSre((org.apache.airavata.sharing.registry.models.SharingRegistryException)value);
-        }
-        break;
-
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      case SUCCESS:
-        return getSuccess();
-
-      case SRE:
-        return getSre();
-
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new java.lang.IllegalArgumentException();
-      }
-
-      switch (field) {
-      case SUCCESS:
-        return isSetSuccess();
-      case SRE:
-        return isSetSre();
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof getGroupMembersOfTypeGroup_result)
-        return this.equals((getGroupMembersOfTypeGroup_result)that);
-      return false;
-    }
-
-    public boolean equals(getGroupMembersOfTypeGroup_result that) {
-      if (that == null)
-        return false;
-      if (this == that)
-        return true;
-
-      boolean this_present_success = true && this.isSetSuccess();
-      boolean that_present_success = true && that.isSetSuccess();
-      if (this_present_success || that_present_success) {
-        if (!(this_present_success && that_present_success))
-          return false;
-        if (!this.success.equals(that.success))
-          return false;
-      }
-
-      boolean this_present_sre = true && this.isSetSre();
-      boolean that_present_sre = true && that.isSetSre();
-      if (this_present_sre || that_present_sre) {
-        if (!(this_present_sre && that_present_sre))
-          return false;
-        if (!this.sre.equals(that.sre))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
-      if (isSetSuccess())
-        hashCode = hashCode * 8191 + success.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetSre()) ? 131071 : 524287);
-      if (isSetSre())
-        hashCode = hashCode * 8191 + sre.hashCode();
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(getGroupMembersOfTypeGroup_result other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetSuccess()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetSre()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sre, other.sre);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      scheme(iprot).read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      scheme(oprot).write(oprot, this);
-      }
-
-    @Override
-    public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getGroupMembersOfTypeGroup_result(");
-      boolean first = true;
-
-      sb.append("success:");
-      if (this.success == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.success);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("sre:");
-      if (this.sre == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.sre);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      // check for sub-struct validity
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-      try {
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class getGroupMembersOfTypeGroup_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getGroupMembersOfTypeGroup_resultStandardScheme getScheme() {
-        return new getGroupMembersOfTypeGroup_resultStandardScheme();
-      }
-    }
-
-    private static class getGroupMembersOfTypeGroup_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupMembersOfTypeGroup_result> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupMembersOfTypeGroup_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-                {
-                  org.apache.thrift.protocol.TList _list64 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.UserGroup>(_list64.size);
-                  org.apache.airavata.sharing.registry.models.UserGroup _elem65;
-                  for (int _i66 = 0; _i66 < _list64.size; ++_i66)
-                  {
-                    _elem65 = new org.apache.airavata.sharing.registry.models.UserGroup();
-                    _elem65.read(iprot);
-                    struct.success.add(_elem65);
-                  }
-                  iprot.readListEnd();
-                }
-                struct.setSuccessIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 1: // SRE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.sre = new org.apache.airavata.sharing.registry.models.SharingRegistryException();
-                struct.sre.read(iprot);
-                struct.setSreIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupMembersOfTypeGroup_result struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.success != null) {
-          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.sharing.registry.models.UserGroup _iter67 : struct.success)
-            {
-              _iter67.write(oprot);
-            }
-            oprot.writeListEnd();
-          }
-          oprot.writeFieldEnd();
-        }
-        if (struct.sre != null) {
-          oprot.writeFieldBegin(SRE_FIELD_DESC);
-          struct.sre.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class getGroupMembersOfTypeGroup_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getGroupMembersOfTypeGroup_resultTupleScheme getScheme() {
-        return new getGroupMembersOfTypeGroup_resultTupleScheme();
-      }
-    }
-
-    private static class getGroupMembersOfTypeGroup_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupMembersOfTypeGroup_result> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getGroupMembersOfTypeGroup_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet optionals = new java.util.BitSet();
-        if (struct.isSetSuccess()) {
-          optionals.set(0);
-        }
-        if (struct.isSetSre()) {
-          optionals.set(1);
-        }
-        oprot.writeBitSet(optionals, 2);
-        if (struct.isSetSuccess()) {
-          {
-            oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.sharing.registry.models.UserGroup _iter68 : struct.success)
-            {
-              _iter68.write(oprot);
-            }
-          }
-        }
-        if (struct.isSetSre()) {
-          struct.sre.write(oprot);
-        }
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getGroupMembersOfTypeGroup_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet incoming = iprot.readBitSet(2);
-        if (incoming.get(0)) {
-          {
-            org.apache.thrift.protocol.TList _list69 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.UserGroup>(_list69.size);
-            org.apache.airavata.sharing.registry.models.UserGroup _elem70;
-            for (int _i71 = 0; _i71 < _list69.size; ++_i71)
-            {
-              _elem70 = new org.apache.airavata.sharing.registry.models.UserGroup();
-              _elem70.read(iprot);
-              struct.success.add(_elem70);
-            }
-          }
-          struct.setSuccessIsSet(true);
-        }
-        if (incoming.get(1)) {
-          struct.sre = new org.apache.airavata.sharing.registry.models.SharingRegistryException();
-          struct.sre.read(iprot);
-          struct.setSreIsSet(true);
-        }
-      }
-    }
-
-    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-    }
-  }
-
-  public static class addChildGroupsToParentGroup_args implements org.apache.thrift.TBase<addChildGroupsToParentGroup_args, addChildGroupsToParentGroup_args._Fields>, java.io.Serializable, Cloneable, Comparable<addChildGroupsToParentGroup_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addChildGroupsToParentGroup_args");
-
-    private static final org.apache.thrift.protocol.TField DOMAIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("domainId", org.apache.thrift.protocol.TType.STRING, (short)1);
-    private static final org.apache.thrift.protocol.TField CHILD_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("childIds", org.apache.thrift.protocol.TType.LIST, (short)2);
-    private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)3);
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addChildGroupsToParentGroup_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addChildGroupsToParentGroup_argsTupleSchemeFactory();
-
-    public java.lang.String domainId; // required
-    public java.util.List<java.lang.String> childIds; // required
-    public java.lang.String groupId; // required
-
-    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      DOMAIN_ID((short)1, "domainId"),
-      CHILD_IDS((short)2, "childIds"),
-      GROUP_ID((short)3, "groupId");
-
-      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-      static {
-        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 1: // DOMAIN_ID
-            return DOMAIN_ID;
-          case 2: // CHILD_IDS
-            return CHILD_IDS;
-          case 3: // GROUP_ID
-            return GROUP_ID;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(java.lang.String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final java.lang.String _fieldName;
-
-      _Fields(short thriftId, java.lang.String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public java.lang.String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.DOMAIN_ID, new org.apache.thrift.meta_data.FieldMetaData("domainId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.CHILD_IDS, new org.apache.thrift.meta_data.FieldMetaData("childIds", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
-              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
-      tmpMap.put(_Fields.GROUP_ID, new org.apache.thrift.meta_data.FieldMetaData("groupId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addChildGroupsToParentGroup_args.class, metaDataMap);
-    }
-
-    public addChildGroupsToParentGroup_args() {
-    }
-
-    public addChildGroupsToParentGroup_args(
-      java.lang.String domainId,
-      java.util.List<java.lang.String> childIds,
-      java.lang.String groupId)
-    {
-      this();
-      this.domainId = domainId;
-      this.childIds = childIds;
-      this.groupId = groupId;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public addChildGroupsToParentGroup_args(addChildGroupsToParentGroup_args other) {
-      if (other.isSetDomainId()) {
-        this.domainId = other.domainId;
-      }
-      if (other.isSetChildIds()) {
-        java.util.List<java.lang.String> __this__childIds = new java.util.ArrayList<java.lang.String>(other.childIds);
-        this.childIds = __this__childIds;
-      }
-      if (other.isSetGroupId()) {
-        this.groupId = other.groupId;
-      }
-    }
-
-    public addChildGroupsToParentGroup_args deepCopy() {
-      return new addChildGroupsToParentGroup_args(this);
-    }
-
-    @Override
-    public void clear() {
-      this.domainId = null;
-      this.childIds = null;
-      this.groupId = null;
-    }
-
-    public java.lang.String getDomainId() {
-      return this.domainId;
-    }
-
-    public addChildGroupsToParentGroup_args setDomainId(java.lang.String domainId) {
-      this.domainId = domainId;
-      return this;
-    }
-
-    public void unsetDomainId() {
-      this.domainId = null;
-    }
-
-    /** Returns true if field domainId is set (has been assigned a value) and false otherwise */
-    public boolean isSetDomainId() {
-      return this.domainId != null;
-    }
-
-    public void setDomainIdIsSet(boolean value) {
-      if (!value) {
-        this.domainId = null;
-      }
-    }
-
-    public int getChildIdsSize() {
-      return (this.childIds == null) ? 0 : this.childIds.size();
-    }
-
-    public java.util.Iterator<java.lang.String> getChildIdsIterator() {
-      return (this.childIds == null) ? null : this.childIds.iterator();
-    }
-
-    public void addToChildIds(java.lang.String elem) {
-      if (this.childIds == null) {
-        this.childIds = new java.util.ArrayList<java.lang.String>();
-      }
-      this.childIds.add(elem);
-    }
-
-    public java.util.List<java.lang.String> getChildIds() {
-      return this.childIds;
-    }
-
-    public addChildGroupsToParentGroup_args setChildIds(java.util.List<java.lang.String> childIds) {
-      this.childIds = childIds;
-      return this;
-    }
-
-    public void unsetChildIds() {
-      this.childIds = null;
-    }
-
-    /** Returns true if field childIds is set (has been assigned a value) and false otherwise */
-    public boolean isSetChildIds() {
-      return this.childIds != null;
-    }
-
-    public void setChildIdsIsSet(boolean value) {
-      if (!value) {
-        this.childIds = null;
-      }
-    }
-
-    public java.lang.String getGroupId() {
-      return this.groupId;
-    }
-
-    public addChildGroupsToParentGroup_args setGroupId(java.lang.String groupId) {
-      this.groupId = groupId;
-      return this;
-    }
-
-    public void unsetGroupId() {
-      this.groupId = null;
-    }
-
-    /** Returns true if field groupId is set (has been assigned a value) and false otherwise */
-    public boolean isSetGroupId() {
-      return this.groupId != null;
-    }
-
-    public void setGroupIdIsSet(boolean value) {
-      if (!value) {
-        this.groupId = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      case DOMAIN_ID:
-        if (value == null) {
-          unsetDomainId();
-        } else {
-          setDomainId((java.lang.String)value);
-        }
-        break;
-
-      case CHILD_IDS:
-        if (value == null) {
-          unsetChildIds();
-        } else {
-          setChildIds((java.util.List<java.lang.String>)value);
-        }
-        break;
-
-      case GROUP_ID:
-        if (value == null) {
-          unsetGroupId();
-        } else {
-          setGroupId((java.lang.String)value);
-        }
-        break;
-
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      case DOMAIN_ID:
-        return getDomainId();
-
-      case CHILD_IDS:
-        return getChildIds();
-
-      case GROUP_ID:
-        return getGroupId();
-
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new java.lang.IllegalArgumentException();
-      }
-
-      switch (field) {
-      case DOMAIN_ID:
-        return isSetDomainId();
-      case CHILD_IDS:
-        return isSetChildIds();
-      case GROUP_ID:
-        return isSetGroupId();
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof addChildGroupsToParentGroup_args)
-        return this.equals((addChildGroupsToParentGroup_args)that);
-      return false;
-    }
-
-    public boolean equals(addChildGroupsToParentGroup_args that) {
-      if (that == null)
-        return false;
-      if (this == that)
-        return true;
-
-      boolean this_present_domainId = true && this.isSetDomainId();
-      boolean that_present_domainId = true && that.isSetDomainId();
-      if (this_present_domainId || that_present_domainId) {
-        if (!(this_present_domainId && that_present_domainId))
-          return false;
-        if (!this.domainId.equals(that.domainId))
-          return false;
-      }
-
-      boolean this_present_childIds = true && this.isSetChildIds();
-      boolean that_present_childIds = true && that.isSetChildIds();
-      if (this_present_childIds || that_present_childIds) {
-        if (!(this_present_childIds && that_present_childIds))
-          return false;
-        if (!this.childIds.equals(that.childIds))
-          return false;
-      }
-
-      boolean this_present_groupId = true && this.isSetGroupId();
-      boolean that_present_groupId = true && that.isSetGroupId();
-      if (this_present_groupId || that_present_groupId) {
-        if (!(this_present_groupId && that_present_groupId))
-          return false;
-        if (!this.groupId.equals(that.groupId))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      hashCode = hashCode * 8191 + ((isSetDomainId()) ? 131071 : 524287);
-      if (isSetDomainId())
-        hashCode = hashCode * 8191 + domainId.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetChildIds()) ? 131071 : 524287);
-      if (isSetChildIds())
-        hashCode = hashCode * 8191 + childIds.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetGroupId()) ? 131071 : 524287);
-      if (isSetGroupId())
-        hashCode = hashCode * 8191 + groupId.hashCode();
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(addChildGroupsToParentGroup_args other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetDomainId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.domainId, other.domainId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetChildIds()).compareTo(other.isSetChildIds());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetChildIds()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.childIds, other.childIds);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetGroupId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.groupId, other.groupId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      scheme(iprot).read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      scheme(oprot).write(oprot, this);
-    }
-
-    @Override
-    public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("addChildGroupsToParentGroup_args(");
-      boolean first = true;
-
-      sb.append("domainId:");
-      if (this.domainId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.domainId);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("childIds:");
-      if (this.childIds == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.childIds);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("groupId:");
-      if (this.groupId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.groupId);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      if (domainId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'domainId' was not present! Struct: " + toString());
-      }
-      if (childIds == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'childIds' was not present! Struct: " + toString());
-      }
-      if (groupId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupId' was not present! Struct: " + toString());
-      }
-      // check for sub-struct validity
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-      try {
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class addChildGroupsToParentGroup_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public addChildGroupsToParentGroup_argsStandardScheme getScheme() {
-        return new addChildGroupsToParentGroup_argsStandardScheme();
-      }
-    }
-
-    private static class addChildGroupsToParentGroup_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addChildGroupsToParentGroup_args> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, addChildGroupsToParentGroup_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 1: // DOMAIN_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.domainId = iprot.readString();
-                struct.setDomainIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 2: // CHILD_IDS
-              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-                {
-                  org.apache.thrift.protocol.TList _list72 = iprot.readListBegin();
-                  struct.childIds = new java.util.ArrayList<java.lang.String>(_list72.size);
-                  java.lang.String _elem73;
-                  for (int _i74 = 0; _i74 < _list72.size; ++_i74)
-                  {
-                    _elem73 = iprot.readString();
-                    struct.childIds.add(_elem73);
-                  }
-                  iprot.readListEnd();
-                }
-                struct.setChildIdsIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 3: // GROUP_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.groupId = iprot.readString();
-                struct.setGroupIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, addChildGroupsToParentGroup_args struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.domainId != null) {
-          oprot.writeFieldBegin(DOMAIN_ID_FIELD_DESC);
-          oprot.writeString(struct.domainId);
-          oprot.writeFieldEnd();
-        }
-        if (struct.childIds != null) {
-          oprot.writeFieldBegin(CHILD_IDS_FIELD_DESC);
-          {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.childIds.size()));
-            for (java.lang.String _iter75 : struct.childIds)
-            {
-              oprot.writeString(_iter75);
-            }
-            oprot.writeListEnd();
-          }
-          oprot.writeFieldEnd();
-        }
-        if (struct.groupId != null) {
-          oprot.writeFieldBegin(GROUP_ID_FIELD_DESC);
-          oprot.writeString(struct.groupId);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class addChildGroupsToParentGroup_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public addChildGroupsToParentGroup_argsTupleScheme getScheme() {
-        return new addChildGroupsToParentGroup_argsTupleScheme();
-      }
-    }
-
-    private static class addChildGroupsToParentGroup_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<addChildGroupsToParentGroup_args> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, addChildGroupsToParentGroup_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        oprot.writeString(struct.domainId);
-        {
-          oprot.writeI32(struct.childIds.size());
-          for (java.lang.String _iter76 : struct.childIds)
-          {
-            oprot.writeString(_iter76);
-          }
-        }
-        oprot.writeString(struct.groupId);
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, addChildGroupsToParentGroup_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.domainId = iprot.readString();
-        struct.setDomainIdIsSet(true);
-        {
-          org.apache.thrift.protocol.TList _list77 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.childIds = new java.util.ArrayList<java.lang.String>(_list77.size);
-          java.lang.String _elem78;
-          for (int _i79 = 0; _i79 < _list77.size; ++_i79)
-          {
-            _elem78 = iprot.readString();
-            struct.childIds.add(_elem78);
-          }
-        }
-        struct.setChildIdsIsSet(true);
-        struct.groupId = iprot.readString();
-        struct.setGroupIdIsSet(true);
-      }
-    }
-
-    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-    }
-  }
-
-  public static class addChildGroupsToParentGroup_result implements org.apache.thrift.TBase<addChildGroupsToParentGroup_result, addChildGroupsToParentGroup_result._Fields>, java.io.Serializable, Cloneable, Comparable<addChildGroupsToParentGroup_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addChildGroupsToParentGroup_result");
-
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
-    private static final org.apache.thrift.protocol.TField SRE_FIELD_DESC = new org.apache.thrift.protocol.TField("sre", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addChildGroupsToParentGroup_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addChildGroupsToParentGroup_resultTupleSchemeFactory();
-
-    public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
-
-    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      SUCCESS((short)0, "success"),
-      SRE((short)1, "sre");
-
-      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-      static {
-        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 0: // SUCCESS
-            return SUCCESS;
-          case 1: // SRE
-            return SRE;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(java.lang.String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final java.lang.String _fieldName;
-
-      _Fields(short thriftId, java.lang.String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public java.lang.String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    private static final int __SUCCESS_ISSET_ID = 0;
-    private byte __isset_bitfield = 0;
-    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
-      tmpMap.put(_Fields.SRE, new org.apache.thrift.meta_data.FieldMetaData("sre", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.sharing.registry.models.SharingRegistryException.class)));
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addChildGroupsToParentGroup_result.class, metaDataMap);
-    }
-
-    public addChildGroupsToParentGroup_result() {
-    }
-
-    public addChildGroupsToParentGroup_result(
-      boolean success,
-      org.apache.airavata.sharing.registry.models.SharingRegistryException sre)
-    {
-      this();
-      this.success = success;
-      setSuccessIsSet(true);
-      this.sre = sre;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public addChildGroupsToParentGroup_result(addChildGroupsToParentGroup_result other) {
-      __isset_bitfield = other.__isset_bitfield;
-      this.success = other.success;
-      if (other.isSetSre()) {
-        this.sre = new org.apache.airavata.sharing.registry.models.SharingRegistryException(other.sre);
-      }
-    }
-
-    public addChildGroupsToParentGroup_result deepCopy() {
-      return new addChildGroupsToParentGroup_result(this);
-    }
-
-    @Override
-    public void clear() {
-      setSuccessIsSet(false);
-      this.success = false;
-      this.sre = null;
-    }
-
-    public boolean isSuccess() {
-      return this.success;
-    }
-
-    public addChildGroupsToParentGroup_result setSuccess(boolean success) {
-      this.success = success;
-      setSuccessIsSet(true);
-      return this;
-    }
-
-    public void unsetSuccess() {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
-    }
-
-    /** Returns true if field success is set (has been assigned a value) and false otherwise */
-    public boolean isSetSuccess() {
-      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
-    }
-
-    public void setSuccessIsSet(boolean value) {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
-    }
-
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
-      return this.sre;
-    }
-
-    public addChildGroupsToParentGroup_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
-      this.sre = sre;
-      return this;
-    }
-
-    public void unsetSre() {
-      this.sre = null;
-    }
-
-    /** Returns true if field sre is set (has been assigned a value) and false otherwise */
-    public boolean isSetSre() {
-      return this.sre != null;
-    }
-
-    public void setSreIsSet(boolean value) {
-      if (!value) {
-        this.sre = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      case SUCCESS:
-        if (value == null) {
-          unsetSuccess();
-        } else {
-          setSuccess((java.lang.Boolean)value);
-        }
-        break;
-
-      case SRE:
-        if (value == null) {
-          unsetSre();
-        } else {
-          setSre((org.apache.airavata.sharing.registry.models.SharingRegistryException)value);
-        }
-        break;
-
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      case SUCCESS:
-        return isSuccess();
-
-      case SRE:
-        return getSre();
-
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new java.lang.IllegalArgumentException();
-      }
-
-      switch (field) {
-      case SUCCESS:
-        return isSetSuccess();
-      case SRE:
-        return isSetSre();
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof addChildGroupsToParentGroup_result)
-        return this.equals((addChildGroupsToParentGroup_result)that);
-      return false;
-    }
-
-    public boolean equals(addChildGroupsToParentGroup_result that) {
-      if (that == null)
-        return false;
-      if (this == that)
-        return true;
-
-      boolean this_present_success = true;
-      boolean that_present_success = true;
-      if (this_present_success || that_present_success) {
-        if (!(this_present_success && that_present_success))
-          return false;
-        if (this.success != that.success)
-          return false;
-      }
-
-      boolean this_present_sre = true && this.isSetSre();
-      boolean that_present_sre = true && that.isSetSre();
-      if (this_present_sre || that_present_sre) {
-        if (!(this_present_sre && that_present_sre))
-          return false;
-        if (!this.sre.equals(that.sre))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      hashCode = hashCode * 8191 + ((success) ? 131071 : 524287);
-
-      hashCode = hashCode * 8191 + ((isSetSre()) ? 131071 : 524287);
-      if (isSetSre())
-        hashCode = hashCode * 8191 + sre.hashCode();
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(addChildGroupsToParentGroup_result other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetSuccess()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetSre()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sre, other.sre);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      scheme(iprot).read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      scheme(oprot).write(oprot, this);
-      }
-
-    @Override
-    public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("addChildGroupsToParentGroup_result(");
-      boolean first = true;
-
-      sb.append("success:");
-      sb.append(this.success);
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("sre:");
-      if (this.sre == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.sre);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      // check for sub-struct validity
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-      try {
-        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
-        __isset_bitfield = 0;
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class addChildGroupsToParentGroup_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public addChildGroupsToParentGroup_resultStandardScheme getScheme() {
-        return new addChildGroupsToParentGroup_resultStandardScheme();
-      }
-    }
-
-    private static class addChildGroupsToParentGroup_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addChildGroupsToParentGroup_result> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, addChildGroupsToParentGroup_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
-                struct.success = iprot.readBool();
-                struct.setSuccessIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 1: // SRE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.sre = new org.apache.airavata.sharing.registry.models.SharingRegistryException();
-                struct.sre.read(iprot);
-                struct.setSreIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, addChildGroupsToParentGroup_result struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.isSetSuccess()) {
-          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          oprot.writeBool(struct.success);
-          oprot.writeFieldEnd();
-        }
-        if (struct.sre != null) {
-          oprot.writeFieldBegin(SRE_FIELD_DESC);
-          struct.sre.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class addChildGroupsToParentGroup_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public addChildGroupsToParentGroup_resultTupleScheme getScheme() {
-        return new addChildGroupsToParentGroup_resultTupleScheme();
-      }
-    }
-
-    private static class addChildGroupsToParentGroup_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<addChildGroupsToParentGroup_result> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, addChildGroupsToParentGroup_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet optionals = new java.util.BitSet();
-        if (struct.isSetSuccess()) {
-          optionals.set(0);
-        }
-        if (struct.isSetSre()) {
-          optionals.set(1);
-        }
-        oprot.writeBitSet(optionals, 2);
-        if (struct.isSetSuccess()) {
-          oprot.writeBool(struct.success);
-        }
-        if (struct.isSetSre()) {
-          struct.sre.write(oprot);
-        }
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, addChildGroupsToParentGroup_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet incoming = iprot.readBitSet(2);
-        if (incoming.get(0)) {
-          struct.success = iprot.readBool();
-          struct.setSuccessIsSet(true);
-        }
-        if (incoming.get(1)) {
-          struct.sre = new org.apache.airavata.sharing.registry.models.SharingRegistryException();
-          struct.sre.read(iprot);
-          struct.setSreIsSet(true);
-        }
-      }
-    }
-
-    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-    }
-  }
-
-  public static class removeChildGroupFromParentGroup_args implements org.apache.thrift.TBase<removeChildGroupFromParentGroup_args, removeChildGroupFromParentGroup_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeChildGroupFromParentGroup_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeChildGroupFromParentGroup_args");
-
-    private static final org.apache.thrift.protocol.TField DOMAIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("domainId", org.apache.thrift.protocol.TType.STRING, (short)1);
-    private static final org.apache.thrift.protocol.TField CHILD_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("childId", org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)3);
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeChildGroupFromParentGroup_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeChildGroupFromParentGroup_argsTupleSchemeFactory();
-
-    public java.lang.String domainId; // required
-    public java.lang.String childId; // required
-    public java.lang.String groupId; // required
-
-    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      DOMAIN_ID((short)1, "domainId"),
-      CHILD_ID((short)2, "childId"),
-      GROUP_ID((short)3, "groupId");
-
-      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-      static {
-        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 1: // DOMAIN_ID
-            return DOMAIN_ID;
-          case 2: // CHILD_ID
-            return CHILD_ID;
-          case 3: // GROUP_ID
-            return GROUP_ID;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(java.lang.String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final java.lang.String _fieldName;
-
-      _Fields(short thriftId, java.lang.String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public java.lang.String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.DOMAIN_ID, new org.apache.thrift.meta_data.FieldMetaData("domainId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.CHILD_ID, new org.apache.thrift.meta_data.FieldMetaData("childId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.GROUP_ID, new org.apache.thrift.meta_data.FieldMetaData("groupId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(removeChildGroupFromParentGroup_args.class, metaDataMap);
-    }
-
-    public removeChildGroupFromParentGroup_args() {
-    }
-
-    public removeChildGroupFromParentGroup_args(
-      java.lang.String domainId,
-      java.lang.String childId,
-      java.lang.String groupId)
-    {
-      this();
-      this.domainId = domainId;
-      this.childId = childId;
-      this.groupId = groupId;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public removeChildGroupFromParentGroup_args(removeChildGroupFromParentGroup_args other) {
-      if (other.isSetDomainId()) {
-        this.domainId = other.domainId;
-      }
-      if (other.isSetChildId()) {
-        this.childId = other.childId;
-      }
-      if (other.isSetGroupId()) {
-        this.groupId = other.groupId;
-      }
-    }
-
-    public removeChildGroupFromParentGroup_args deepCopy() {
-      return new removeChildGroupFromParentGroup_args(this);
-    }
-
-    @Override
-    public void clear() {
-      this.domainId = null;
-      this.childId = null;
-      this.groupId = null;
-    }
-
-    public java.lang.String getDomainId() {
-      return this.domainId;
-    }
-
-    public removeChildGroupFromParentGroup_args setDomainId(java.lang.String domainId) {
-      this.domainId = domainId;
-      return this;
-    }
-
-    public void unsetDomainId() {
-      this.domainId = null;
-    }
-
-    /** Returns true if field domainId is set (has been assigned a value) and false otherwise */
-    public boolean isSetDomainId() {
-      return this.domainId != null;
-    }
-
-    public void setDomainIdIsSet(boolean value) {
-      if (!value) {
-        this.domainId = null;
-      }
-    }
-
-    public java.lang.String getChildId() {
-      return this.childId;
-    }
-
-    public removeChildGroupFromParentGroup_args setChildId(java.lang.String childId) {
-      this.childId = childId;
-      return this;
-    }
-
-    public void unsetChildId() {
-      this.childId = null;
-    }
-
-    /** Returns true if field childId is set (has been assigned a value) and false otherwise */
-    public boolean isSetChildId() {
-      return this.childId != null;
-    }
-
-    public void setChildIdIsSet(boolean value) {
-      if (!value) {
-        this.childId = null;
-      }
-    }
-
-    public java.lang.String getGroupId() {
-      return this.groupId;
-    }
-
-    public removeChildGroupFromParentGroup_args setGroupId(java.lang.String groupId) {
-      this.groupId = groupId;
-      return this;
-    }
-
-    public void unsetGroupId() {
-      this.groupId = null;
-    }
-
-    /** Returns true if field groupId is set (has been assigned a value) and false otherwise */
-    public boolean isSetGroupId() {
-      return this.groupId != null;
-    }
-
-    public void setGroupIdIsSet(boolean value) {
-      if (!value) {
-        this.groupId = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      case DOMAIN_ID:
-        if (value == null) {
-          unsetDomainId();
-        } else {
-          setDomainId((java.lang.String)value);
-        }
-        break;
-
-      case CHILD_ID:
-        if (value == null) {
-          unsetChildId();
-        } else {
-          setChildId((java.lang.String)value);
-        }
-        break;
-
-      case GROUP_ID:
-        if (value == null) {
-          unsetGroupId();
-        } else {
-          setGroupId((java.lang.String)value);
-        }
-        break;
-
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      case DOMAIN_ID:
-        return getDomainId();
-
-      case CHILD_ID:
-        return getChildId();
-
-      case GROUP_ID:
-        return getGroupId();
-
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new java.lang.IllegalArgumentException();
-      }
-
-      switch (field) {
-      case DOMAIN_ID:
-        return isSetDomainId();
-      case CHILD_ID:
-        return isSetChildId();
-      case GROUP_ID:
-        return isSetGroupId();
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof removeChildGroupFromParentGroup_args)
-        return this.equals((removeChildGroupFromParentGroup_args)that);
-      return false;
-    }
-
-    public boolean equals(removeChildGroupFromParentGroup_args that) {
-      if (that == null)
-        return false;
-      if (this == that)
-        return true;
-
-      boolean this_present_domainId = true && this.isSetDomainId();
-      boolean that_present_domainId = true && that.isSetDomainId();
-      if (this_present_domainId || that_present_domainId) {
-        if (!(this_present_domainId && that_present_domainId))
-          return false;
-        if (!this.domainId.equals(that.domainId))
-          return false;
-      }
-
-      boolean this_present_childId = true && this.isSetChildId();
-      boolean that_present_childId = true && that.isSetChildId();
-      if (this_present_childId || that_present_childId) {
-        if (!(this_present_childId && that_present_childId))
-          return false;
-        if (!this.childId.equals(that.childId))
-          return false;
-      }
-
-      boolean this_present_groupId = true && this.isSetGroupId();
-      boolean that_present_groupId = true && that.isSetGroupId();
-      if (this_present_groupId || that_present_groupId) {
-        if (!(this_present_groupId && that_present_groupId))
-          return false;
-        if (!this.groupId.equals(that.groupId))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      hashCode = hashCode * 8191 + ((isSetDomainId()) ? 131071 : 524287);
-      if (isSetDomainId())
-        hashCode = hashCode * 8191 + domainId.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetChildId()) ? 131071 : 524287);
-      if (isSetChildId())
-        hashCode = hashCode * 8191 + childId.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetGroupId()) ? 131071 : 524287);
-      if (isSetGroupId())
-        hashCode = hashCode * 8191 + groupId.hashCode();
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(removeChildGroupFromParentGroup_args other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetDomainId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.domainId, other.domainId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetChildId()).compareTo(other.isSetChildId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetChildId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.childId, other.childId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetGroupId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.groupId, other.groupId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      scheme(iprot).read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      scheme(oprot).write(oprot, this);
-    }
-
-    @Override
-    public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("removeChildGroupFromParentGroup_args(");
-      boolean first = true;
-
-      sb.append("domainId:");
-      if (this.domainId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.domainId);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("childId:");
-      if (this.childId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.childId);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("groupId:");
-      if (this.groupId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.groupId);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      if (domainId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'domainId' was not present! Struct: " + toString());
-      }
-      if (childId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'childId' was not present! Struct: " + toString());
-      }
-      if (groupId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupId' was not present! Struct: " + toString());
-      }
-      // check for sub-struct validity
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-      try {
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class removeChildGroupFromParentGroup_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public removeChildGroupFromParentGroup_argsStandardScheme getScheme() {
-        return new removeChildGroupFromParentGroup_argsStandardScheme();
-      }
-    }
-
-    private static class removeChildGroupFromParentGroup_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeChildGroupFromParentGroup_args> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, removeChildGroupFromParentGroup_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 1: // DOMAIN_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.domainId = iprot.readString();
-                struct.setDomainIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 2: // CHILD_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.childId = iprot.readString();
-                struct.setChildIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 3: // GROUP_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.groupId = iprot.readString();
-                struct.setGroupIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, removeChildGroupFromParentGroup_args struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.domainId != null) {
-          oprot.writeFieldBegin(DOMAIN_ID_FIELD_DESC);
-          oprot.writeString(struct.domainId);
-          oprot.writeFieldEnd();
-        }
-        if (struct.childId != null) {
-          oprot.writeFieldBegin(CHILD_ID_FIELD_DESC);
-          oprot.writeString(struct.childId);
-          oprot.writeFieldEnd();
-        }
-        if (struct.groupId != null) {
-          oprot.writeFieldBegin(GROUP_ID_FIELD_DESC);
-          oprot.writeString(struct.groupId);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class removeChildGroupFromParentGroup_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public removeChildGroupFromParentGroup_argsTupleScheme getScheme() {
-        return new removeChildGroupFromParentGroup_argsTupleScheme();
-      }
-    }
-
-    private static class removeChildGroupFromParentGroup_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<removeChildGroupFromParentGroup_args> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, removeChildGroupFromParentGroup_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        oprot.writeString(struct.domainId);
-        oprot.writeString(struct.childId);
-        oprot.writeString(struct.groupId);
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, removeChildGroupFromParentGroup_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.domainId = iprot.readString();
-        struct.setDomainIdIsSet(true);
-        struct.childId = iprot.readString();
-        struct.setChildIdIsSet(true);
-        struct.groupId = iprot.readString();
-        struct.setGroupIdIsSet(true);
-      }
-    }
-
-    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-    }
-  }
-
-  public static class removeChildGroupFromParentGroup_result implements org.apache.thrift.TBase<removeChildGroupFromParentGroup_result, removeChildGroupFromParentGroup_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeChildGroupFromParentGroup_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeChildGroupFromParentGroup_result");
-
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
-    private static final org.apache.thrift.protocol.TField SRE_FIELD_DESC = new org.apache.thrift.protocol.TField("sre", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeChildGroupFromParentGroup_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeChildGroupFromParentGroup_resultTupleSchemeFactory();
-
-    public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
-
-    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      SUCCESS((short)0, "success"),
-      SRE((short)1, "sre");
-
-      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-      static {
-        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 0: // SUCCESS
-            return SUCCESS;
-          case 1: // SRE
-            return SRE;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(java.lang.String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final java.lang.String _fieldName;
-
-      _Fields(short thriftId, java.lang.String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public java.lang.String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    private static final int __SUCCESS_ISSET_ID = 0;
-    private byte __isset_bitfield = 0;
-    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
-      tmpMap.put(_Fields.SRE, new org.apache.thrift.meta_data.FieldMetaData("sre", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.sharing.registry.models.SharingRegistryException.class)));
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(removeChildGroupFromParentGroup_result.class, metaDataMap);
-    }
-
-    public removeChildGroupFromParentGroup_result() {
-    }
-
-    public removeChildGroupFromParentGroup_result(
-      boolean success,
-      org.apache.airavata.sharing.registry.models.SharingRegistryException sre)
-    {
-      this();
-      this.success = success;
-      setSuccessIsSet(true);
-      this.sre = sre;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public removeChildGroupFromParentGroup_result(removeChildGroupFromParentGroup_result other) {
-      __isset_bitfield = other.__isset_bitfield;
-      this.success = other.success;
-      if (other.isSetSre()) {
-        this.sre = new org.apache.airavata.sharing.registry.models.SharingRegistryException(other.sre);
-      }
-    }
-
-    public removeChildGroupFromParentGroup_result deepCopy() {
-      return new removeChildGroupFromParentGroup_result(this);
-    }
-
-    @Override
-    public void clear() {
-      setSuccessIsSet(false);
-      this.success = false;
-      this.sre = null;
-    }
-
-    public boolean isSuccess() {
-      return this.success;
-    }
-
-    public removeChildGroupFromParentGroup_result setSuccess(boolean success) {
-      this.success = success;
-      setSuccessIsSet(true);
-      return this;
-    }
-
-    public void unsetSuccess() {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
-    }
-
-    /** Returns true if field success is set (has been assigned a value) and false otherwise */
-    public boolean isSetSuccess() {
-      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
-    }
-
-    public void setSuccessIsSet(boolean value) {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
-    }
-
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
-      return this.sre;
-    }
-
-    public removeChildGroupFromParentGroup_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
-      this.sre = sre;
-      return this;
-    }
-
-    public void unsetSre() {
-      this.sre = null;
-    }
-
-    /** Returns true if field sre is set (has been assigned a value) and false otherwise */
-    public boolean isSetSre() {
-      return this.sre != null;
-    }
-
-    public void setSreIsSet(boolean value) {
-      if (!value) {
-        this.sre = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      case SUCCESS:
-        if (value == null) {
-          unsetSuccess();
-        } else {
-          setSuccess((java.lang.Boolean)value);
-        }
-        break;
-
-      case SRE:
-        if (value == null) {
-          unsetSre();
-        } else {
-          setSre((org.apache.airavata.sharing.registry.models.SharingRegistryException)value);
-        }
-        break;
-
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      case SUCCESS:
-        return isSuccess();
-
-      case SRE:
-        return getSre();
-
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new java.lang.IllegalArgumentException();
-      }
-
-      switch (field) {
-      case SUCCESS:
-        return isSetSuccess();
-      case SRE:
-        return isSetSre();
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof removeChildGroupFromParentGroup_result)
-        return this.equals((removeChildGroupFromParentGroup_result)that);
-      return false;
-    }
-
-    public boolean equals(removeChildGroupFromParentGroup_result that) {
-      if (that == null)
-        return false;
-      if (this == that)
-        return true;
-
-      boolean this_present_success = true;
-      boolean that_present_success = true;
-      if (this_present_success || that_present_success) {
-        if (!(this_present_success && that_present_success))
-          return false;
-        if (this.success != that.success)
-          return false;
-      }
-
-      boolean this_present_sre = true && this.isSetSre();
-      boolean that_present_sre = true && that.isSetSre();
-      if (this_present_sre || that_present_sre) {
-        if (!(this_present_sre && that_present_sre))
-          return false;
-        if (!this.sre.equals(that.sre))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      hashCode = hashCode * 8191 + ((success) ? 131071 : 524287);
-
-      hashCode = hashCode * 8191 + ((isSetSre()) ? 131071 : 524287);
-      if (isSetSre())
-        hashCode = hashCode * 8191 + sre.hashCode();
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(removeChildGroupFromParentGroup_result other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetSuccess()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetSre()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sre, other.sre);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      scheme(iprot).read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      scheme(oprot).write(oprot, this);
-      }
-
-    @Override
-    public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("removeChildGroupFromParentGroup_result(");
-      boolean first = true;
-
-      sb.append("success:");
-      sb.append(this.success);
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("sre:");
-      if (this.sre == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.sre);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      // check for sub-struct validity
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-      try {
-        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
-        __isset_bitfield = 0;
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class removeChildGroupFromParentGroup_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public removeChildGroupFromParentGroup_resultStandardScheme getScheme() {
-        return new removeChildGroupFromParentGroup_resultStandardScheme();
-      }
-    }
-
-    private static class removeChildGroupFromParentGroup_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeChildGroupFromParentGroup_result> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, removeChildGroupFromParentGroup_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
-                struct.success = iprot.readBool();
-                struct.setSuccessIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 1: // SRE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.sre = new org.apache.airavata.sharing.registry.models.SharingRegistryException();
-                struct.sre.read(iprot);
-                struct.setSreIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, removeChildGroupFromParentGroup_result struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.isSetSuccess()) {
-          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          oprot.writeBool(struct.success);
-          oprot.writeFieldEnd();
-        }
-        if (struct.sre != null) {
-          oprot.writeFieldBegin(SRE_FIELD_DESC);
-          struct.sre.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class removeChildGroupFromParentGroup_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public removeChildGroupFromParentGroup_resultTupleScheme getScheme() {
-        return new removeChildGroupFromParentGroup_resultTupleScheme();
-      }
-    }
-
-    private static class removeChildGroupFromParentGroup_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<removeChildGroupFromParentGroup_result> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, removeChildGroupFromParentGroup_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet optionals = new java.util.BitSet();
-        if (struct.isSetSuccess()) {
-          optionals.set(0);
-        }
-        if (struct.isSetSre()) {
-          optionals.set(1);
-        }
-        oprot.writeBitSet(optionals, 2);
-        if (struct.isSetSuccess()) {
-          oprot.writeBool(struct.success);
-        }
-        if (struct.isSetSre()) {
-          struct.sre.write(oprot);
-        }
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, removeChildGroupFromParentGroup_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet incoming = iprot.readBitSet(2);
-        if (incoming.get(0)) {
-          struct.success = iprot.readBool();
-          struct.setSuccessIsSet(true);
-        }
-        if (incoming.get(1)) {
-          struct.sre = new org.apache.airavata.sharing.registry.models.SharingRegistryException();
-          struct.sre.read(iprot);
-          struct.setSreIsSet(true);
-        }
-      }
-    }
-
-    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-    }
-  }
-
-  public static class getAllMemberGroupsForUser_args implements org.apache.thrift.TBase<getAllMemberGroupsForUser_args, getAllMemberGroupsForUser_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllMemberGroupsForUser_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllMemberGroupsForUser_args");
-
-    private static final org.apache.thrift.protocol.TField DOMAIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("domainId", org.apache.thrift.protocol.TType.STRING, (short)1);
-    private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.STRING, (short)2);
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllMemberGroupsForUser_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllMemberGroupsForUser_argsTupleSchemeFactory();
-
-    public java.lang.String domainId; // required
-    public java.lang.String userId; // required
-
-    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      DOMAIN_ID((short)1, "domainId"),
-      USER_ID((short)2, "userId");
-
-      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-      static {
-        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 1: // DOMAIN_ID
-            return DOMAIN_ID;
-          case 2: // USER_ID
-            return USER_ID;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(java.lang.String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final java.lang.String _fieldName;
-
-      _Fields(short thriftId, java.lang.String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public java.lang.String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.DOMAIN_ID, new org.apache.thrift.meta_data.FieldMetaData("domainId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllMemberGroupsForUser_args.class, metaDataMap);
-    }
-
-    public getAllMemberGroupsForUser_args() {
-    }
-
-    public getAllMemberGroupsForUser_args(
-      java.lang.String domainId,
-      java.lang.String userId)
-    {
-      this();
-      this.domainId = domainId;
-      this.userId = userId;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public getAllMemberGroupsForUser_args(getAllMemberGroupsForUser_args other) {
-      if (other.isSetDomainId()) {
-        this.domainId = other.domainId;
-      }
-      if (other.isSetUserId()) {
-        this.userId = other.userId;
-      }
-    }
-
-    public getAllMemberGroupsForUser_args deepCopy() {
-      return new getAllMemberGroupsForUser_args(this);
-    }
-
-    @Override
-    public void clear() {
-      this.domainId = null;
-      this.userId = null;
-    }
-
-    public java.lang.String getDomainId() {
-      return this.domainId;
-    }
-
-    public getAllMemberGroupsForUser_args setDomainId(java.lang.String domainId) {
-      this.domainId = domainId;
-      return this;
-    }
-
-    public void unsetDomainId() {
-      this.domainId = null;
-    }
-
-    /** Returns true if field domainId is set (has been assigned a value) and false otherwise */
-    public boolean isSetDomainId() {
-      return this.domainId != null;
-    }
-
-    public void setDomainIdIsSet(boolean value) {
-      if (!value) {
-        this.domainId = null;
-      }
-    }
-
-    public java.lang.String getUserId() {
-      return this.userId;
-    }
-
-    public getAllMemberGroupsForUser_args setUserId(java.lang.String userId) {
-      this.userId = userId;
-      return this;
-    }
-
-    public void unsetUserId() {
-      this.userId = null;
-    }
-
-    /** Returns true if field userId is set (has been assigned a value) and false otherwise */
-    public boolean isSetUserId() {
-      return this.userId != null;
-    }
-
-    public void setUserIdIsSet(boolean value) {
-      if (!value) {
-        this.userId = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      case DOMAIN_ID:
-        if (value == null) {
-          unsetDomainId();
-        } else {
-          setDomainId((java.lang.String)value);
-        }
-        break;
-
-      case USER_ID:
-        if (value == null) {
-          unsetUserId();
-        } else {
-          setUserId((java.lang.String)value);
-        }
-        break;
-
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      case DOMAIN_ID:
-        return getDomainId();
-
-      case USER_ID:
-        return getUserId();
-
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new java.lang.IllegalArgumentException();
-      }
-
-      switch (field) {
-      case DOMAIN_ID:
-        return isSetDomainId();
-      case USER_ID:
-        return isSetUserId();
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof getAllMemberGroupsForUser_args)
-        return this.equals((getAllMemberGroupsForUser_args)that);
-      return false;
-    }
-
-    public boolean equals(getAllMemberGroupsForUser_args that) {
-      if (that == null)
-        return false;
-      if (this == that)
-        return true;
-
-      boolean this_present_domainId = true && this.isSetDomainId();
-      boolean that_present_domainId = true && that.isSetDomainId();
-      if (this_present_domainId || that_present_domainId) {
-        if (!(this_present_domainId && that_present_domainId))
-          return false;
-        if (!this.domainId.equals(that.domainId))
-          return false;
-      }
-
-      boolean this_present_userId = true && this.isSetUserId();
-      boolean that_present_userId = true && that.isSetUserId();
-      if (this_present_userId || that_present_userId) {
-        if (!(this_present_userId && that_present_userId))
-          return false;
-        if (!this.userId.equals(that.userId))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      hashCode = hashCode * 8191 + ((isSetDomainId()) ? 131071 : 524287);
-      if (isSetDomainId())
-        hashCode = hashCode * 8191 + domainId.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetUserId()) ? 131071 : 524287);
-      if (isSetUserId())
-        hashCode = hashCode * 8191 + userId.hashCode();
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(getAllMemberGroupsForUser_args other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetDomainId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.domainId, other.domainId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetUserId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userId, other.userId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      scheme(iprot).read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      scheme(oprot).write(oprot, this);
-    }
-
-    @Override
-    public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getAllMemberGroupsForUser_args(");
-      boolean first = true;
-
-      sb.append("domainId:");
-      if (this.domainId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.domainId);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("userId:");
-      if (this.userId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.userId);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      if (domainId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'domainId' was not present! Struct: " + toString());
-      }
-      if (userId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'userId' was not present! Struct: " + toString());
-      }
-      // check for sub-struct validity
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-      try {
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class getAllMemberGroupsForUser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getAllMemberGroupsForUser_argsStandardScheme getScheme() {
-        return new getAllMemberGroupsForUser_argsStandardScheme();
-      }
-    }
-
-    private static class getAllMemberGroupsForUser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllMemberGroupsForUser_args> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getAllMemberGroupsForUser_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 1: // DOMAIN_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.domainId = iprot.readString();
-                struct.setDomainIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 2: // USER_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.userId = iprot.readString();
-                struct.setUserIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getAllMemberGroupsForUser_args struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.domainId != null) {
-          oprot.writeFieldBegin(DOMAIN_ID_FIELD_DESC);
-          oprot.writeString(struct.domainId);
-          oprot.writeFieldEnd();
-        }
-        if (struct.userId != null) {
-          oprot.writeFieldBegin(USER_ID_FIELD_DESC);
-          oprot.writeString(struct.userId);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class getAllMemberGroupsForUser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getAllMemberGroupsForUser_argsTupleScheme getScheme() {
-        return new getAllMemberGroupsForUser_argsTupleScheme();
-      }
-    }
-
-    private static class getAllMemberGroupsForUser_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAllMemberGroupsForUser_args> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getAllMemberGroupsForUser_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        oprot.writeString(struct.domainId);
-        oprot.writeString(struct.userId);
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getAllMemberGroupsForUser_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.domainId = iprot.readString();
-        struct.setDomainIdIsSet(true);
-        struct.userId = iprot.readString();
-        struct.setUserIdIsSet(true);
-      }
-    }
-
-    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-    }
-  }
-
-  public static class getAllMemberGroupsForUser_result implements org.apache.thrift.TBase<getAllMemberGroupsForUser_result, getAllMemberGroupsForUser_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllMemberGroupsForUser_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllMemberGroupsForUser_result");
-
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
-    private static final org.apache.thrift.protocol.TField SRE_FIELD_DESC = new org.apache.thrift.protocol.TField("sre", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllMemberGroupsForUser_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllMemberGroupsForUser_resultTupleSchemeFactory();
-
-    public java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success; // required
+    public java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success; // required
     public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -38040,14 +31987,14 @@ public class SharingRegistryService {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list80 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.UserGroup>(_list80.size);
-                  org.apache.airavata.sharing.registry.models.UserGroup _elem81;
-                  for (int _i82 = 0; _i82 < _list80.size; ++_i82)
+                  org.apache.thrift.protocol.TList _list64 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.UserGroup>(_list64.size);
+                  org.apache.airavata.sharing.registry.models.UserGroup _elem65;
+                  for (int _i66 = 0; _i66 < _list64.size; ++_i66)
                   {
-                    _elem81 = new org.apache.airavata.sharing.registry.models.UserGroup();
-                    _elem81.read(iprot);
-                    struct.success.add(_elem81);
+                    _elem65 = new org.apache.airavata.sharing.registry.models.UserGroup();
+                    _elem65.read(iprot);
+                    struct.success.add(_elem65);
                   }
                   iprot.readListEnd();
                 }
@@ -38084,9 +32031,9 @@ public class SharingRegistryService {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.sharing.registry.models.UserGroup _iter83 : struct.success)
+            for (org.apache.airavata.sharing.registry.models.UserGroup _iter67 : struct.success)
             {
-              _iter83.write(oprot);
+              _iter67.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -38125,9 +32072,9 @@ public class SharingRegistryService {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.sharing.registry.models.UserGroup _iter84 : struct.success)
+            for (org.apache.airavata.sharing.registry.models.UserGroup _iter68 : struct.success)
             {
-              _iter84.write(oprot);
+              _iter68.write(oprot);
             }
           }
         }
@@ -38142,14 +32089,14 @@ public class SharingRegistryService {
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list85 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.UserGroup>(_list85.size);
-            org.apache.airavata.sharing.registry.models.UserGroup _elem86;
-            for (int _i87 = 0; _i87 < _list85.size; ++_i87)
+            org.apache.thrift.protocol.TList _list69 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.UserGroup>(_list69.size);
+            org.apache.airavata.sharing.registry.models.UserGroup _elem70;
+            for (int _i71 = 0; _i71 < _list69.size; ++_i71)
             {
-              _elem86 = new org.apache.airavata.sharing.registry.models.UserGroup();
-              _elem86.read(iprot);
-              struct.success.add(_elem86);
+              _elem70 = new org.apache.airavata.sharing.registry.models.UserGroup();
+              _elem70.read(iprot);
+              struct.success.add(_elem70);
             }
           }
           struct.setSuccessIsSet(true);
@@ -43637,14 +37584,14 @@ public class SharingRegistryService {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list88 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.EntityType>(_list88.size);
-                  org.apache.airavata.sharing.registry.models.EntityType _elem89;
-                  for (int _i90 = 0; _i90 < _list88.size; ++_i90)
+                  org.apache.thrift.protocol.TList _list72 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.EntityType>(_list72.size);
+                  org.apache.airavata.sharing.registry.models.EntityType _elem73;
+                  for (int _i74 = 0; _i74 < _list72.size; ++_i74)
                   {
-                    _elem89 = new org.apache.airavata.sharing.registry.models.EntityType();
-                    _elem89.read(iprot);
-                    struct.success.add(_elem89);
+                    _elem73 = new org.apache.airavata.sharing.registry.models.EntityType();
+                    _elem73.read(iprot);
+                    struct.success.add(_elem73);
                   }
                   iprot.readListEnd();
                 }
@@ -43681,9 +37628,9 @@ public class SharingRegistryService {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.sharing.registry.models.EntityType _iter91 : struct.success)
+            for (org.apache.airavata.sharing.registry.models.EntityType _iter75 : struct.success)
             {
-              _iter91.write(oprot);
+              _iter75.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -43722,9 +37669,9 @@ public class SharingRegistryService {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.sharing.registry.models.EntityType _iter92 : struct.success)
+            for (org.apache.airavata.sharing.registry.models.EntityType _iter76 : struct.success)
             {
-              _iter92.write(oprot);
+              _iter76.write(oprot);
             }
           }
         }
@@ -43739,14 +37686,14 @@ public class SharingRegistryService {
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list93 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.EntityType>(_list93.size);
-            org.apache.airavata.sharing.registry.models.EntityType _elem94;
-            for (int _i95 = 0; _i95 < _list93.size; ++_i95)
+            org.apache.thrift.protocol.TList _list77 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.EntityType>(_list77.size);
+            org.apache.airavata.sharing.registry.models.EntityType _elem78;
+            for (int _i79 = 0; _i79 < _list77.size; ++_i79)
             {
-              _elem94 = new org.apache.airavata.sharing.registry.models.EntityType();
-              _elem94.read(iprot);
-              struct.success.add(_elem94);
+              _elem78 = new org.apache.airavata.sharing.registry.models.EntityType();
+              _elem78.read(iprot);
+              struct.success.add(_elem78);
             }
           }
           struct.setSuccessIsSet(true);
@@ -48845,14 +42792,14 @@ public class SharingRegistryService {
             case 3: // FILTERS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list96 = iprot.readListBegin();
-                  struct.filters = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.SearchCriteria>(_list96.size);
-                  org.apache.airavata.sharing.registry.models.SearchCriteria _elem97;
-                  for (int _i98 = 0; _i98 < _list96.size; ++_i98)
+                  org.apache.thrift.protocol.TList _list80 = iprot.readListBegin();
+                  struct.filters = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.SearchCriteria>(_list80.size);
+                  org.apache.airavata.sharing.registry.models.SearchCriteria _elem81;
+                  for (int _i82 = 0; _i82 < _list80.size; ++_i82)
                   {
-                    _elem97 = new org.apache.airavata.sharing.registry.models.SearchCriteria();
-                    _elem97.read(iprot);
-                    struct.filters.add(_elem97);
+                    _elem81 = new org.apache.airavata.sharing.registry.models.SearchCriteria();
+                    _elem81.read(iprot);
+                    struct.filters.add(_elem81);
                   }
                   iprot.readListEnd();
                 }
@@ -48912,9 +42859,9 @@ public class SharingRegistryService {
           oprot.writeFieldBegin(FILTERS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.filters.size()));
-            for (org.apache.airavata.sharing.registry.models.SearchCriteria _iter99 : struct.filters)
+            for (org.apache.airavata.sharing.registry.models.SearchCriteria _iter83 : struct.filters)
             {
-              _iter99.write(oprot);
+              _iter83.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -48947,9 +42894,9 @@ public class SharingRegistryService {
         oprot.writeString(struct.userId);
         {
           oprot.writeI32(struct.filters.size());
-          for (org.apache.airavata.sharing.registry.models.SearchCriteria _iter100 : struct.filters)
+          for (org.apache.airavata.sharing.registry.models.SearchCriteria _iter84 : struct.filters)
           {
-            _iter100.write(oprot);
+            _iter84.write(oprot);
           }
         }
         oprot.writeI32(struct.offset);
@@ -48964,14 +42911,14 @@ public class SharingRegistryService {
         struct.userId = iprot.readString();
         struct.setUserIdIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list101 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.filters = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.SearchCriteria>(_list101.size);
-          org.apache.airavata.sharing.registry.models.SearchCriteria _elem102;
-          for (int _i103 = 0; _i103 < _list101.size; ++_i103)
+          org.apache.thrift.protocol.TList _list85 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.filters = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.SearchCriteria>(_list85.size);
+          org.apache.airavata.sharing.registry.models.SearchCriteria _elem86;
+          for (int _i87 = 0; _i87 < _list85.size; ++_i87)
           {
-            _elem102 = new org.apache.airavata.sharing.registry.models.SearchCriteria();
-            _elem102.read(iprot);
-            struct.filters.add(_elem102);
+            _elem86 = new org.apache.airavata.sharing.registry.models.SearchCriteria();
+            _elem86.read(iprot);
+            struct.filters.add(_elem86);
           }
         }
         struct.setFiltersIsSet(true);
@@ -49382,14 +43329,14 @@ public class SharingRegistryService {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list104 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.Entity>(_list104.size);
-                  org.apache.airavata.sharing.registry.models.Entity _elem105;
-                  for (int _i106 = 0; _i106 < _list104.size; ++_i106)
+                  org.apache.thrift.protocol.TList _list88 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.Entity>(_list88.size);
+                  org.apache.airavata.sharing.registry.models.Entity _elem89;
+                  for (int _i90 = 0; _i90 < _list88.size; ++_i90)
                   {
-                    _elem105 = new org.apache.airavata.sharing.registry.models.Entity();
-                    _elem105.read(iprot);
-                    struct.success.add(_elem105);
+                    _elem89 = new org.apache.airavata.sharing.registry.models.Entity();
+                    _elem89.read(iprot);
+                    struct.success.add(_elem89);
                   }
                   iprot.readListEnd();
                 }
@@ -49426,9 +43373,9 @@ public class SharingRegistryService {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.sharing.registry.models.Entity _iter107 : struct.success)
+            for (org.apache.airavata.sharing.registry.models.Entity _iter91 : struct.success)
             {
-              _iter107.write(oprot);
+              _iter91.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -49467,9 +43414,9 @@ public class SharingRegistryService {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.sharing.registry.models.Entity _iter108 : struct.success)
+            for (org.apache.airavata.sharing.registry.models.Entity _iter92 : struct.success)
             {
-              _iter108.write(oprot);
+              _iter92.write(oprot);
             }
           }
         }
@@ -49484,14 +43431,14 @@ public class SharingRegistryService {
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list109 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.Entity>(_list109.size);
-            org.apache.airavata.sharing.registry.models.Entity _elem110;
-            for (int _i111 = 0; _i111 < _list109.size; ++_i111)
+            org.apache.thrift.protocol.TList _list93 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.Entity>(_list93.size);
+            org.apache.airavata.sharing.registry.models.Entity _elem94;
+            for (int _i95 = 0; _i95 < _list93.size; ++_i95)
             {
-              _elem110 = new org.apache.airavata.sharing.registry.models.Entity();
-              _elem110.read(iprot);
-              struct.success.add(_elem110);
+              _elem94 = new org.apache.airavata.sharing.registry.models.Entity();
+              _elem94.read(iprot);
+              struct.success.add(_elem94);
             }
           }
           struct.setSuccessIsSet(true);
@@ -50459,14 +44406,14 @@ public class SharingRegistryService {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list112 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.User>(_list112.size);
-                  org.apache.airavata.sharing.registry.models.User _elem113;
-                  for (int _i114 = 0; _i114 < _list112.size; ++_i114)
+                  org.apache.thrift.protocol.TList _list96 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.User>(_list96.size);
+                  org.apache.airavata.sharing.registry.models.User _elem97;
+                  for (int _i98 = 0; _i98 < _list96.size; ++_i98)
                   {
-                    _elem113 = new org.apache.airavata.sharing.registry.models.User();
-                    _elem113.read(iprot);
-                    struct.success.add(_elem113);
+                    _elem97 = new org.apache.airavata.sharing.registry.models.User();
+                    _elem97.read(iprot);
+                    struct.success.add(_elem97);
                   }
                   iprot.readListEnd();
                 }
@@ -50503,9 +44450,9 @@ public class SharingRegistryService {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.sharing.registry.models.User _iter115 : struct.success)
+            for (org.apache.airavata.sharing.registry.models.User _iter99 : struct.success)
             {
-              _iter115.write(oprot);
+              _iter99.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -50544,9 +44491,9 @@ public class SharingRegistryService {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.sharing.registry.models.User _iter116 : struct.success)
+            for (org.apache.airavata.sharing.registry.models.User _iter100 : struct.success)
             {
-              _iter116.write(oprot);
+              _iter100.write(oprot);
             }
           }
         }
@@ -50561,14 +44508,14 @@ public class SharingRegistryService {
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list117 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.User>(_list117.size);
-            org.apache.airavata.sharing.registry.models.User _elem118;
-            for (int _i119 = 0; _i119 < _list117.size; ++_i119)
+            org.apache.thrift.protocol.TList _list101 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.User>(_list101.size);
+            org.apache.airavata.sharing.registry.models.User _elem102;
+            for (int _i103 = 0; _i103 < _list101.size; ++_i103)
             {
-              _elem118 = new org.apache.airavata.sharing.registry.models.User();
-              _elem118.read(iprot);
-              struct.success.add(_elem118);
+              _elem102 = new org.apache.airavata.sharing.registry.models.User();
+              _elem102.read(iprot);
+              struct.success.add(_elem102);
             }
           }
           struct.setSuccessIsSet(true);
@@ -51536,14 +45483,14 @@ public class SharingRegistryService {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list120 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.UserGroup>(_list120.size);
-                  org.apache.airavata.sharing.registry.models.UserGroup _elem121;
-                  for (int _i122 = 0; _i122 < _list120.size; ++_i122)
+                  org.apache.thrift.protocol.TList _list104 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.UserGroup>(_list104.size);
+                  org.apache.airavata.sharing.registry.models.UserGroup _elem105;
+                  for (int _i106 = 0; _i106 < _list104.size; ++_i106)
                   {
-                    _elem121 = new org.apache.airavata.sharing.registry.models.UserGroup();
-                    _elem121.read(iprot);
-                    struct.success.add(_elem121);
+                    _elem105 = new org.apache.airavata.sharing.registry.models.UserGroup();
+                    _elem105.read(iprot);
+                    struct.success.add(_elem105);
                   }
                   iprot.readListEnd();
                 }
@@ -51580,9 +45527,9 @@ public class SharingRegistryService {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.sharing.registry.models.UserGroup _iter123 : struct.success)
+            for (org.apache.airavata.sharing.registry.models.UserGroup _iter107 : struct.success)
             {
-              _iter123.write(oprot);
+              _iter107.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -51621,9 +45568,9 @@ public class SharingRegistryService {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.sharing.registry.models.UserGroup _iter124 : struct.success)
+            for (org.apache.airavata.sharing.registry.models.UserGroup _iter108 : struct.success)
             {
-              _iter124.write(oprot);
+              _iter108.write(oprot);
             }
           }
         }
@@ -51638,14 +45585,14 @@ public class SharingRegistryService {
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list125 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.UserGroup>(_list125.size);
-            org.apache.airavata.sharing.registry.models.UserGroup _elem126;
-            for (int _i127 = 0; _i127 < _list125.size; ++_i127)
+            org.apache.thrift.protocol.TList _list109 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.UserGroup>(_list109.size);
+            org.apache.airavata.sharing.registry.models.UserGroup _elem110;
+            for (int _i111 = 0; _i111 < _list109.size; ++_i111)
             {
-              _elem126 = new org.apache.airavata.sharing.registry.models.UserGroup();
-              _elem126.read(iprot);
-              struct.success.add(_elem126);
+              _elem110 = new org.apache.airavata.sharing.registry.models.UserGroup();
+              _elem110.read(iprot);
+              struct.success.add(_elem110);
             }
           }
           struct.setSuccessIsSet(true);
@@ -57133,14 +51080,14 @@ public class SharingRegistryService {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list128 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.PermissionType>(_list128.size);
-                  org.apache.airavata.sharing.registry.models.PermissionType _elem129;
-                  for (int _i130 = 0; _i130 < _list128.size; ++_i130)
+                  org.apache.thrift.protocol.TList _list112 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.PermissionType>(_list112.size);
+                  org.apache.airavata.sharing.registry.models.PermissionType _elem113;
+                  for (int _i114 = 0; _i114 < _list112.size; ++_i114)
                   {
-                    _elem129 = new org.apache.airavata.sharing.registry.models.PermissionType();
-                    _elem129.read(iprot);
-                    struct.success.add(_elem129);
+                    _elem113 = new org.apache.airavata.sharing.registry.models.PermissionType();
+                    _elem113.read(iprot);
+                    struct.success.add(_elem113);
                   }
                   iprot.readListEnd();
                 }
@@ -57177,9 +51124,9 @@ public class SharingRegistryService {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.sharing.registry.models.PermissionType _iter131 : struct.success)
+            for (org.apache.airavata.sharing.registry.models.PermissionType _iter115 : struct.success)
             {
-              _iter131.write(oprot);
+              _iter115.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -57218,9 +51165,9 @@ public class SharingRegistryService {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.sharing.registry.models.PermissionType _iter132 : struct.success)
+            for (org.apache.airavata.sharing.registry.models.PermissionType _iter116 : struct.success)
             {
-              _iter132.write(oprot);
+              _iter116.write(oprot);
             }
           }
         }
@@ -57235,14 +51182,14 @@ public class SharingRegistryService {
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list133 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.PermissionType>(_list133.size);
-            org.apache.airavata.sharing.registry.models.PermissionType _elem134;
-            for (int _i135 = 0; _i135 < _list133.size; ++_i135)
+            org.apache.thrift.protocol.TList _list117 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.PermissionType>(_list117.size);
+            org.apache.airavata.sharing.registry.models.PermissionType _elem118;
+            for (int _i119 = 0; _i119 < _list117.size; ++_i119)
             {
-              _elem134 = new org.apache.airavata.sharing.registry.models.PermissionType();
-              _elem134.read(iprot);
-              struct.success.add(_elem134);
+              _elem118 = new org.apache.airavata.sharing.registry.models.PermissionType();
+              _elem118.read(iprot);
+              struct.success.add(_elem118);
             }
           }
           struct.setSuccessIsSet(true);
@@ -57922,13 +51869,13 @@ public class SharingRegistryService {
             case 3: // USER_LIST
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list136 = iprot.readListBegin();
-                  struct.userList = new java.util.ArrayList<java.lang.String>(_list136.size);
-                  java.lang.String _elem137;
-                  for (int _i138 = 0; _i138 < _list136.size; ++_i138)
+                  org.apache.thrift.protocol.TList _list120 = iprot.readListBegin();
+                  struct.userList = new java.util.ArrayList<java.lang.String>(_list120.size);
+                  java.lang.String _elem121;
+                  for (int _i122 = 0; _i122 < _list120.size; ++_i122)
                   {
-                    _elem137 = iprot.readString();
-                    struct.userList.add(_elem137);
+                    _elem121 = iprot.readString();
+                    struct.userList.add(_elem121);
                   }
                   iprot.readListEnd();
                 }
@@ -57985,9 +51932,9 @@ public class SharingRegistryService {
           oprot.writeFieldBegin(USER_LIST_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.userList.size()));
-            for (java.lang.String _iter139 : struct.userList)
+            for (java.lang.String _iter123 : struct.userList)
             {
-              oprot.writeString(_iter139);
+              oprot.writeString(_iter123);
             }
             oprot.writeListEnd();
           }
@@ -58022,9 +51969,9 @@ public class SharingRegistryService {
         oprot.writeString(struct.entityId);
         {
           oprot.writeI32(struct.userList.size());
-          for (java.lang.String _iter140 : struct.userList)
+          for (java.lang.String _iter124 : struct.userList)
           {
-            oprot.writeString(_iter140);
+            oprot.writeString(_iter124);
           }
         }
         oprot.writeString(struct.perssionTypeId);
@@ -58039,13 +51986,13 @@ public class SharingRegistryService {
         struct.entityId = iprot.readString();
         struct.setEntityIdIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list141 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.userList = new java.util.ArrayList<java.lang.String>(_list141.size);
-          java.lang.String _elem142;
-          for (int _i143 = 0; _i143 < _list141.size; ++_i143)
+          org.apache.thrift.protocol.TList _list125 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.userList = new java.util.ArrayList<java.lang.String>(_list125.size);
+          java.lang.String _elem126;
+          for (int _i127 = 0; _i127 < _list125.size; ++_i127)
           {
-            _elem142 = iprot.readString();
-            struct.userList.add(_elem142);
+            _elem126 = iprot.readString();
+            struct.userList.add(_elem126);
           }
         }
         struct.setUserListIsSet(true);
@@ -59109,13 +53056,13 @@ public class SharingRegistryService {
             case 3: // USER_LIST
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list144 = iprot.readListBegin();
-                  struct.userList = new java.util.ArrayList<java.lang.String>(_list144.size);
-                  java.lang.String _elem145;
-                  for (int _i146 = 0; _i146 < _list144.size; ++_i146)
+                  org.apache.thrift.protocol.TList _list128 = iprot.readListBegin();
+                  struct.userList = new java.util.ArrayList<java.lang.String>(_list128.size);
+                  java.lang.String _elem129;
+                  for (int _i130 = 0; _i130 < _list128.size; ++_i130)
                   {
-                    _elem145 = iprot.readString();
-                    struct.userList.add(_elem145);
+                    _elem129 = iprot.readString();
+                    struct.userList.add(_elem129);
                   }
                   iprot.readListEnd();
                 }
@@ -59161,9 +53108,9 @@ public class SharingRegistryService {
           oprot.writeFieldBegin(USER_LIST_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.userList.size()));
-            for (java.lang.String _iter147 : struct.userList)
+            for (java.lang.String _iter131 : struct.userList)
             {
-              oprot.writeString(_iter147);
+              oprot.writeString(_iter131);
             }
             oprot.writeListEnd();
           }
@@ -59195,9 +53142,9 @@ public class SharingRegistryService {
         oprot.writeString(struct.entityId);
         {
           oprot.writeI32(struct.userList.size());
-          for (java.lang.String _iter148 : struct.userList)
+          for (java.lang.String _iter132 : struct.userList)
           {
-            oprot.writeString(_iter148);
+            oprot.writeString(_iter132);
           }
         }
         oprot.writeString(struct.perssionTypeId);
@@ -59211,13 +53158,13 @@ public class SharingRegistryService {
         struct.entityId = iprot.readString();
         struct.setEntityIdIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list149 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.userList = new java.util.ArrayList<java.lang.String>(_list149.size);
-          java.lang.String _elem150;
-          for (int _i151 = 0; _i151 < _list149.size; ++_i151)
+          org.apache.thrift.protocol.TList _list133 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.userList = new java.util.ArrayList<java.lang.String>(_list133.size);
+          java.lang.String _elem134;
+          for (int _i135 = 0; _i135 < _list133.size; ++_i135)
           {
-            _elem150 = iprot.readString();
-            struct.userList.add(_elem150);
+            _elem134 = iprot.readString();
+            struct.userList.add(_elem134);
           }
         }
         struct.setUserListIsSet(true);
@@ -60359,13 +54306,13 @@ public class SharingRegistryService {
             case 3: // GROUP_LIST
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list152 = iprot.readListBegin();
-                  struct.groupList = new java.util.ArrayList<java.lang.String>(_list152.size);
-                  java.lang.String _elem153;
-                  for (int _i154 = 0; _i154 < _list152.size; ++_i154)
+                  org.apache.thrift.protocol.TList _list136 = iprot.readListBegin();
+                  struct.groupList = new java.util.ArrayList<java.lang.String>(_list136.size);
+                  java.lang.String _elem137;
+                  for (int _i138 = 0; _i138 < _list136.size; ++_i138)
                   {
-                    _elem153 = iprot.readString();
-                    struct.groupList.add(_elem153);
+                    _elem137 = iprot.readString();
+                    struct.groupList.add(_elem137);
                   }
                   iprot.readListEnd();
                 }
@@ -60422,9 +54369,9 @@ public class SharingRegistryService {
           oprot.writeFieldBegin(GROUP_LIST_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.groupList.size()));
-            for (java.lang.String _iter155 : struct.groupList)
+            for (java.lang.String _iter139 : struct.groupList)
             {
-              oprot.writeString(_iter155);
+              oprot.writeString(_iter139);
             }
             oprot.writeListEnd();
           }
@@ -60459,9 +54406,9 @@ public class SharingRegistryService {
         oprot.writeString(struct.entityId);
         {
           oprot.writeI32(struct.groupList.size());
-          for (java.lang.String _iter156 : struct.groupList)
+          for (java.lang.String _iter140 : struct.groupList)
           {
-            oprot.writeString(_iter156);
+            oprot.writeString(_iter140);
           }
         }
         oprot.writeString(struct.perssionTypeId);
@@ -60476,13 +54423,13 @@ public class SharingRegistryService {
         struct.entityId = iprot.readString();
         struct.setEntityIdIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list157 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.groupList = new java.util.ArrayList<java.lang.String>(_list157.size);
-          java.lang.String _elem158;
-          for (int _i159 = 0; _i159 < _list157.size; ++_i159)
+          org.apache.thrift.protocol.TList _list141 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.groupList = new java.util.ArrayList<java.lang.String>(_list141.size);
+          java.lang.String _elem142;
+          for (int _i143 = 0; _i143 < _list141.size; ++_i143)
           {
-            _elem158 = iprot.readString();
-            struct.groupList.add(_elem158);
+            _elem142 = iprot.readString();
+            struct.groupList.add(_elem142);
           }
         }
         struct.setGroupListIsSet(true);
@@ -61546,13 +55493,13 @@ public class SharingRegistryService {
             case 3: // GROUP_LIST
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list160 = iprot.readListBegin();
-                  struct.groupList = new java.util.ArrayList<java.lang.String>(_list160.size);
-                  java.lang.String _elem161;
-                  for (int _i162 = 0; _i162 < _list160.size; ++_i162)
+                  org.apache.thrift.protocol.TList _list144 = iprot.readListBegin();
+                  struct.groupList = new java.util.ArrayList<java.lang.String>(_list144.size);
+                  java.lang.String _elem145;
+                  for (int _i146 = 0; _i146 < _list144.size; ++_i146)
                   {
-                    _elem161 = iprot.readString();
-                    struct.groupList.add(_elem161);
+                    _elem145 = iprot.readString();
+                    struct.groupList.add(_elem145);
                   }
                   iprot.readListEnd();
                 }
@@ -61598,9 +55545,9 @@ public class SharingRegistryService {
           oprot.writeFieldBegin(GROUP_LIST_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.groupList.size()));
-            for (java.lang.String _iter163 : struct.groupList)
+            for (java.lang.String _iter147 : struct.groupList)
             {
-              oprot.writeString(_iter163);
+              oprot.writeString(_iter147);
             }
             oprot.writeListEnd();
           }
@@ -61632,9 +55579,9 @@ public class SharingRegistryService {
         oprot.writeString(struct.entityId);
         {
           oprot.writeI32(struct.groupList.size());
-          for (java.lang.String _iter164 : struct.groupList)
+          for (java.lang.String _iter148 : struct.groupList)
           {
-            oprot.writeString(_iter164);
+            oprot.writeString(_iter148);
           }
         }
         oprot.writeString(struct.perssionTypeId);
@@ -61648,13 +55595,13 @@ public class SharingRegistryService {
         struct.entityId = iprot.readString();
         struct.setEntityIdIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list165 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.groupList = new java.util.ArrayList<java.lang.String>(_list165.size);
-          java.lang.String _elem166;
-          for (int _i167 = 0; _i167 < _list165.size; ++_i167)
+          org.apache.thrift.protocol.TList _list149 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.groupList = new java.util.ArrayList<java.lang.String>(_list149.size);
+          java.lang.String _elem150;
+          for (int _i151 = 0; _i151 < _list149.size; ++_i151)
           {
-            _elem166 = iprot.readString();
-            struct.groupList.add(_elem166);
+            _elem150 = iprot.readString();
+            struct.groupList.add(_elem150);
           }
         }
         struct.setGroupListIsSet(true);
diff --git a/modules/sharing-registry/sharing-service-docs/api-docs/index.html b/modules/sharing-registry/sharing-service-docs/api-docs/index.html
index 97b8af4..740be59 100644
--- a/modules/sharing-registry/sharing-service-docs/api-docs/index.html
+++ b/modules/sharing-registry/sharing-service-docs/api-docs/index.html
@@ -8,7 +8,6 @@
 <td>sharing_cpi</td><td><a href="sharing_cpi.html#Svc_SharingRegistryService">SharingRegistryService</a><br/>
 <ul>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_addChildGroupsToParentGroup">addChildGroupsToParentGroup</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_addGroupAdmins">addGroupAdmins</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_addUsersToGroup">addUsersToGroup</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_createDomain">createDomain</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_createEntity">createEntity</a></li>
@@ -38,8 +37,6 @@
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_getPermissionTypes">getPermissionTypes</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_getUser">getUser</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_getUsers">getUsers</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_hasAdminAccess">hasAdminAccess</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_hasOwnerAccess">hasOwnerAccess</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_isDomainExists">isDomainExists</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_isEntityExists">isEntityExists</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_isEntityTypeExists">isEntityTypeExists</a></li>
@@ -47,14 +44,12 @@
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_isPermissionExists">isPermissionExists</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_isUserExists">isUserExists</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_removeChildGroupFromParentGroup">removeChildGroupFromParentGroup</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_removeGroupAdmins">removeGroupAdmins</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_removeUsersFromGroup">removeUsersFromGroup</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_revokeEntitySharingFromGroups">revokeEntitySharingFromGroups</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_revokeEntitySharingFromUsers">revokeEntitySharingFromUsers</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_searchEntities">searchEntities</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_shareEntityWithGroups">shareEntityWithGroups</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_shareEntityWithUsers">shareEntityWithUsers</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_transferGroupOwnership">transferGroupOwnership</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_updateDomain">updateDomain</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_updateEntity">updateEntity</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_updateEntityType">updateEntityType</a></li>
@@ -73,11 +68,9 @@
 <a href="sharing_models.html#Struct_Entity">Entity</a><br/>
 <a href="sharing_models.html#Enum_EntitySearchField">EntitySearchField</a><br/>
 <a href="sharing_models.html#Struct_EntityType">EntityType</a><br/>
-<a href="sharing_models.html#Struct_GroupAdmin">GroupAdmin</a><br/>
 <a href="sharing_models.html#Enum_GroupCardinality">GroupCardinality</a><br/>
 <a href="sharing_models.html#Enum_GroupChildType">GroupChildType</a><br/>
 <a href="sharing_models.html#Struct_GroupMembership">GroupMembership</a><br/>
-<a href="sharing_models.html#Struct_GroupOwner">GroupOwner</a><br/>
 <a href="sharing_models.html#Enum_GroupType">GroupType</a><br/>
 <a href="sharing_models.html#Struct_PermissionType">PermissionType</a><br/>
 <a href="sharing_models.html#Enum_SearchCondition">SearchCondition</a><br/>
diff --git a/modules/sharing-registry/sharing-service-docs/api-docs/sharing_cpi.html b/modules/sharing-registry/sharing-service-docs/api-docs/sharing_cpi.html
index deade65..4be429a 100644
--- a/modules/sharing-registry/sharing-service-docs/api-docs/sharing_cpi.html
+++ b/modules/sharing-registry/sharing-service-docs/api-docs/sharing_cpi.html
@@ -12,7 +12,6 @@
 <td>sharing_cpi</td><td><a href="#Svc_SharingRegistryService">SharingRegistryService</a><br/>
 <ul>
 <li><a href="#Fn_SharingRegistryService_addChildGroupsToParentGroup">addChildGroupsToParentGroup</a></li>
-<li><a href="#Fn_SharingRegistryService_addGroupAdmins">addGroupAdmins</a></li>
 <li><a href="#Fn_SharingRegistryService_addUsersToGroup">addUsersToGroup</a></li>
 <li><a href="#Fn_SharingRegistryService_createDomain">createDomain</a></li>
 <li><a href="#Fn_SharingRegistryService_createEntity">createEntity</a></li>
@@ -42,8 +41,6 @@
 <li><a href="#Fn_SharingRegistryService_getPermissionTypes">getPermissionTypes</a></li>
 <li><a href="#Fn_SharingRegistryService_getUser">getUser</a></li>
 <li><a href="#Fn_SharingRegistryService_getUsers">getUsers</a></li>
-<li><a href="#Fn_SharingRegistryService_hasAdminAccess">hasAdminAccess</a></li>
-<li><a href="#Fn_SharingRegistryService_hasOwnerAccess">hasOwnerAccess</a></li>
 <li><a href="#Fn_SharingRegistryService_isDomainExists">isDomainExists</a></li>
 <li><a href="#Fn_SharingRegistryService_isEntityExists">isEntityExists</a></li>
 <li><a href="#Fn_SharingRegistryService_isEntityTypeExists">isEntityTypeExists</a></li>
@@ -51,14 +48,12 @@
 <li><a href="#Fn_SharingRegistryService_isPermissionExists">isPermissionExists</a></li>
 <li><a href="#Fn_SharingRegistryService_isUserExists">isUserExists</a></li>
 <li><a href="#Fn_SharingRegistryService_removeChildGroupFromParentGroup">removeChildGroupFromParentGroup</a></li>
-<li><a href="#Fn_SharingRegistryService_removeGroupAdmins">removeGroupAdmins</a></li>
 <li><a href="#Fn_SharingRegistryService_removeUsersFromGroup">removeUsersFromGroup</a></li>
 <li><a href="#Fn_SharingRegistryService_revokeEntitySharingFromGroups">revokeEntitySharingFromGroups</a></li>
 <li><a href="#Fn_SharingRegistryService_revokeEntitySharingFromUsers">revokeEntitySharingFromUsers</a></li>
 <li><a href="#Fn_SharingRegistryService_searchEntities">searchEntities</a></li>
 <li><a href="#Fn_SharingRegistryService_shareEntityWithGroups">shareEntityWithGroups</a></li>
 <li><a href="#Fn_SharingRegistryService_shareEntityWithUsers">shareEntityWithUsers</a></li>
-<li><a href="#Fn_SharingRegistryService_transferGroupOwnership">transferGroupOwnership</a></li>
 <li><a href="#Fn_SharingRegistryService_updateDomain">updateDomain</a></li>
 <li><a href="#Fn_SharingRegistryService_updateEntity">updateEntity</a></li>
 <li><a href="#Fn_SharingRegistryService_updateEntityType">updateEntityType</a></li>
@@ -76,296 +71,266 @@
 <div class="definition"><h4 id="Fn_SharingRegistryService_createDomain">Function: SharingRegistryService.createDomain</h4>
 <pre><code>string</code> createDomain(<code><a href="sharing_models.html#Struct_Domain">sharing_models.Domain</a></code> domain)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>, <code><a href="sharing_models.html#Struct_DuplicateEntryException">sharing_models.DuplicateEntryException</a></code>
-</pre><pre><p>API method to create a new domain</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updateDomain">Function: SharingRegistryService.updateDomain</h4>
+</pre><p>API method to create a new domain</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updateDomain">Function: SharingRegistryService.updateDomain</h4>
 <pre><code>bool</code> updateDomain(<code><a href="sharing_models.html#Struct_Domain">sharing_models.Domain</a></code> domain)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to update a domain</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_isDomainExists">Function: SharingRegistryService.isDomainExists</h4>
+</pre><p>API method to update a domain</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_isDomainExists">Function: SharingRegistryService.isDomainExists</h4>
 <pre><code>bool</code> isDomainExists(<code>string</code> domainId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to check Domain Exists</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteDomain">Function: SharingRegistryService.deleteDomain</h4>
+</pre><p>API method to check Domain Exists</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteDomain">Function: SharingRegistryService.deleteDomain</h4>
 <pre><code>bool</code> deleteDomain(<code>string</code> domainId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to delete domain</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getDomain">Function: SharingRegistryService.getDomain</h4>
+</pre><p>API method to delete domain</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getDomain">Function: SharingRegistryService.getDomain</h4>
 <pre><code><a href="sharing_models.html#Struct_Domain">sharing_models.Domain</a></code> getDomain(<code>string</code> domainId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to retrieve a domain</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getDomains">Function: SharingRegistryService.getDomains</h4>
+</pre><p>API method to retrieve a domain</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getDomains">Function: SharingRegistryService.getDomains</h4>
 <pre><code>list&lt;<code><a href="sharing_models.html#Struct_Domain">sharing_models.Domain</a></code>&gt;</code> getDomains(<code>i32</code> offset,
                                        <code>i32</code> limit)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to get all domain.</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createUser">Function: SharingRegistryService.createUser</h4>
+</pre><p>API method to get all domain.</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createUser">Function: SharingRegistryService.createUser</h4>
 <pre><code>string</code> createUser(<code><a href="sharing_models.html#Struct_User">sharing_models.User</a></code> user)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>, <code><a href="sharing_models.html#Struct_DuplicateEntryException">sharing_models.DuplicateEntryException</a></code>
-</pre><pre><p>API method to register a user in the system</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updatedUser">Function: SharingRegistryService.updatedUser</h4>
+</pre><p>API method to register a user in the system</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updatedUser">Function: SharingRegistryService.updatedUser</h4>
 <pre><code>bool</code> updatedUser(<code><a href="sharing_models.html#Struct_User">sharing_models.User</a></code> user)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to update existing user</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_isUserExists">Function: SharingRegistryService.isUserExists</h4>
+</pre><p>API method to update existing user</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_isUserExists">Function: SharingRegistryService.isUserExists</h4>
 <pre><code>bool</code> isUserExists(<code>string</code> domainId,
                   <code>string</code> userId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to check User Exists</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteUser">Function: SharingRegistryService.deleteUser</h4>
+</pre><p>API method to check User Exists</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteUser">Function: SharingRegistryService.deleteUser</h4>
 <pre><code>bool</code> deleteUser(<code>string</code> domainId,
                 <code>string</code> userId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to delete user</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getUser">Function: SharingRegistryService.getUser</h4>
+</pre><p>API method to delete user</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getUser">Function: SharingRegistryService.getUser</h4>
 <pre><code><a href="sharing_models.html#Struct_User">sharing_models.User</a></code> getUser(<code>string</code> domainId,
                             <code>string</code> userId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to get a user</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getUsers">Function: SharingRegistryService.getUsers</h4>
+</pre><p>API method to get a user</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getUsers">Function: SharingRegistryService.getUsers</h4>
 <pre><code>list&lt;<code><a href="sharing_models.html#Struct_User">sharing_models.User</a></code>&gt;</code> getUsers(<code>string</code> domainId,
                                    <code>i32</code> offset,
                                    <code>i32</code> limit)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to get a list of users in a specific domain.</p>
+</pre><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>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createGroup">Function: SharingRegistryService.createGroup</h4>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createGroup">Function: SharingRegistryService.createGroup</h4>
 <pre><code>string</code> createGroup(<code><a href="sharing_models.html#Struct_UserGroup">sharing_models.UserGroup</a></code> group)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to create a new group</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updateGroup">Function: SharingRegistryService.updateGroup</h4>
+</pre><p>API method to create a new group</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updateGroup">Function: SharingRegistryService.updateGroup</h4>
 <pre><code>bool</code> updateGroup(<code><a href="sharing_models.html#Struct_UserGroup">sharing_models.UserGroup</a></code> group)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to update a group</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_isGroupExists">Function: SharingRegistryService.isGroupExists</h4>
+</pre><p>API method to update a group</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_isGroupExists">Function: SharingRegistryService.isGroupExists</h4>
 <pre><code>bool</code> isGroupExists(<code>string</code> domainId,
                    <code>string</code> groupId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to check Group Exists</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteGroup">Function: SharingRegistryService.deleteGroup</h4>
+</pre><p>API method to check Group Exists</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteGroup">Function: SharingRegistryService.deleteGroup</h4>
 <pre><code>bool</code> deleteGroup(<code>string</code> domainId,
                  <code>string</code> groupId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to delete a group</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getGroup">Function: SharingRegistryService.getGroup</h4>
+</pre><p>API method to delete a group</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getGroup">Function: SharingRegistryService.getGroup</h4>
 <pre><code><a href="sharing_models.html#Struct_UserGroup">sharing_models.UserGroup</a></code> getGroup(<code>string</code> domainId,
                                   <code>string</code> groupId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to get a group</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getGroups">Function: SharingRegistryService.getGroups</h4>
+</pre><p>API method to get a group</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getGroups">Function: SharingRegistryService.getGroups</h4>
 <pre><code>list&lt;<code><a href="sharing_models.html#Struct_UserGroup">sharing_models.UserGroup</a></code>&gt;</code> getGroups(<code>string</code> domainId,
                                          <code>i32</code> offset,
                                          <code>i32</code> limit)
-</pre><pre><p>API method to get groups in a domainId.</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_addUsersToGroup">Function: SharingRegistryService.addUsersToGroup</h4>
+</pre><p>API method to get groups in a domainId.</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_addUsersToGroup">Function: SharingRegistryService.addUsersToGroup</h4>
 <pre><code>bool</code> addUsersToGroup(<code>string</code> domainId,
                      <code>list&lt;<code>string</code>&gt;</code> userIds,
                      <code>string</code> groupId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to add list of users to a group</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_removeUsersFromGroup">Function: SharingRegistryService.removeUsersFromGroup</h4>
+</pre><p>API method to add list of users to a group</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_removeUsersFromGroup">Function: SharingRegistryService.removeUsersFromGroup</h4>
 <pre><code>bool</code> removeUsersFromGroup(<code>string</code> domainId,
                           <code>list&lt;<code>string</code>&gt;</code> userIds,
                           <code>string</code> groupId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to remove users from a group</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_transferGroupOwnership">Function: SharingRegistryService.transferGroupOwnership</h4>
-<pre><code>bool</code> transferGroupOwnership(<code>string</code> domainId,
-                            <code>string</code> groupId,
-                            <code>string</code> newOwnerId)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to transfer group ownership</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_addGroupAdmins">Function: SharingRegistryService.addGroupAdmins</h4>
-<pre><code>bool</code> addGroupAdmins(<code>string</code> domainId,
-                    <code>string</code> groupId,
-                    <code>list&lt;<code>string</code>&gt;</code> adminIds)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to add Admin for a group</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_removeGroupAdmins">Function: SharingRegistryService.removeGroupAdmins</h4>
-<pre><code>bool</code> removeGroupAdmins(<code>string</code> domainId,
-                       <code>string</code> groupId,
-                       <code>list&lt;<code>string</code>&gt;</code> adminIds)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to remove Admin for a group</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_hasAdminAccess">Function: SharingRegistryService.hasAdminAccess</h4>
-<pre><code>bool</code> hasAdminAccess(<code>string</code> domainId,
-                    <code>string</code> groupId,
-                    <code>string</code> adminId)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to check whether the user has Admin access for the group</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_hasOwnerAccess">Function: SharingRegistryService.hasOwnerAccess</h4>
-<pre><code>bool</code> hasOwnerAccess(<code>string</code> domainId,
-                    <code>string</code> groupId,
-                    <code>string</code> ownerId)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to check whether the user has Admin access for the group</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getGroupMembersOfTypeUser">Function: SharingRegistryService.getGroupMembersOfTypeUser</h4>
+</pre><p>API method to remove users from a group</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getGroupMembersOfTypeUser">Function: SharingRegistryService.getGroupMembersOfTypeUser</h4>
 <pre><code>list&lt;<code><a href="sharing_models.html#Struct_User">sharing_models.User</a></code>&gt;</code> getGroupMembersOfTypeUser(<code>string</code> domainId,
                                                     <code>string</code> groupId,
                                                     <code>i32</code> offset,
                                                     <code>i32</code> limit)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to get list of child users in a group. Only the direct members will be returned.</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getGroupMembersOfTypeGroup">Function: SharingRegistryService.getGroupMembersOfTypeGroup</h4>
+</pre><p>API method to get list of child users in a group. Only the direct members will be returned.</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getGroupMembersOfTypeGroup">Function: SharingRegistryService.getGroupMembersOfTypeGroup</h4>
 <pre><code>list&lt;<code><a href="sharing_models.html#Struct_UserGroup">sharing_models.UserGroup</a></code>&gt;</code> getGroupMembersOfTypeGroup(<code>string</code> domainId,
                                                           <code>string</code> groupId,
                                                           <code>i32</code> offset,
                                                           <code>i32</code> limit)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to get list of child groups in a group. Only the direct members will be returned.</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_addChildGroupsToParentGroup">Function: SharingRegistryService.addChildGroupsToParentGroup</h4>
+</pre><p>API method to get list of child groups in a group. Only the direct members will be returned.</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_addChildGroupsToParentGroup">Function: SharingRegistryService.addChildGroupsToParentGroup</h4>
 <pre><code>bool</code> addChildGroupsToParentGroup(<code>string</code> domainId,
                                  <code>list&lt;<code>string</code>&gt;</code> childIds,
                                  <code>string</code> groupId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to add a child group to a parent group.</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_removeChildGroupFromParentGroup">Function: SharingRegistryService.removeChildGroupFromParentGroup</h4>
+</pre><p>API method to add a child group to a parent group.</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_removeChildGroupFromParentGroup">Function: SharingRegistryService.removeChildGroupFromParentGroup</h4>
 <pre><code>bool</code> removeChildGroupFromParentGroup(<code>string</code> domainId,
                                      <code>string</code> childId,
                                      <code>string</code> groupId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to remove a child group from parent group.</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getAllMemberGroupsForUser">Function: SharingRegistryService.getAllMemberGroupsForUser</h4>
+</pre><p>API method to remove a child group from parent group.</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getAllMemberGroupsForUser">Function: SharingRegistryService.getAllMemberGroupsForUser</h4>
 <pre><code>list&lt;<code><a href="sharing_models.html#Struct_UserGroup">sharing_models.UserGroup</a></code>&gt;</code> getAllMemberGroupsForUser(<code>string</code> domainId,
                                                          <code>string</code> userId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
 </pre></div><div class="definition"><h4 id="Fn_SharingRegistryService_createEntityType">Function: SharingRegistryService.createEntityType</h4>
 <pre><code>string</code> createEntityType(<code><a href="sharing_models.html#Struct_EntityType">sharing_models.EntityType</a></code> entityType)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>, <code><a href="sharing_models.html#Struct_DuplicateEntryException">sharing_models.DuplicateEntryException</a></code>
-</pre><pre><p>API method to create a new entity type</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updateEntityType">Function: SharingRegistryService.updateEntityType</h4>
+</pre><p>API method to create a new entity type</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updateEntityType">Function: SharingRegistryService.updateEntityType</h4>
 <pre><code>bool</code> updateEntityType(<code><a href="sharing_models.html#Struct_EntityType">sharing_models.EntityType</a></code> entityType)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to update entity type</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_isEntityTypeExists">Function: SharingRegistryService.isEntityTypeExists</h4>
+</pre><p>API method to update entity type</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_isEntityTypeExists">Function: SharingRegistryService.isEntityTypeExists</h4>
 <pre><code>bool</code> isEntityTypeExists(<code>string</code> domainId,
                         <code>string</code> entityTypeId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to check EntityType Exists</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteEntityType">Function: SharingRegistryService.deleteEntityType</h4>
+</pre><p>API method to check EntityType Exists</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteEntityType">Function: SharingRegistryService.deleteEntityType</h4>
 <pre><code>bool</code> deleteEntityType(<code>string</code> domainId,
                       <code>string</code> entityTypeId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to delete entity type</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getEntityType">Function: SharingRegistryService.getEntityType</h4>
+</pre><p>API method to delete entity type</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getEntityType">Function: SharingRegistryService.getEntityType</h4>
 <pre><code><a href="sharing_models.html#Struct_EntityType">sharing_models.EntityType</a></code> getEntityType(<code>string</code> domainId,
                                         <code>string</code> entityTypeId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to get an entity type</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getEntityTypes">Function: SharingRegistryService.getEntityTypes</h4>
+</pre><p>API method to get an entity type</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getEntityTypes">Function: SharingRegistryService.getEntityTypes</h4>
 <pre><code>list&lt;<code><a href="sharing_models.html#Struct_EntityType">sharing_models.EntityType</a></code>&gt;</code> getEntityTypes(<code>string</code> domainId,
                                                <code>i32</code> offset,
                                                <code>i32</code> limit)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to get entity types in a domainId.</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createEntity">Function: SharingRegistryService.createEntity</h4>
+</pre><p>API method to get entity types in a domainId.</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createEntity">Function: SharingRegistryService.createEntity</h4>
 <pre><code>string</code> createEntity(<code><a href="sharing_models.html#Struct_Entity">sharing_models.Entity</a></code> entity)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to register new entity</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updateEntity">Function: SharingRegistryService.updateEntity</h4>
+</pre><p>API method to register new entity</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updateEntity">Function: SharingRegistryService.updateEntity</h4>
 <pre><code>bool</code> updateEntity(<code><a href="sharing_models.html#Struct_Entity">sharing_models.Entity</a></code> entity)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to update entity</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_isEntityExists">Function: SharingRegistryService.isEntityExists</h4>
+</pre><p>API method to update entity</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_isEntityExists">Function: SharingRegistryService.isEntityExists</h4>
 <pre><code>bool</code> isEntityExists(<code>string</code> domainId,
                     <code>string</code> entityId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to check Entity Exists</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteEntity">Function: SharingRegistryService.deleteEntity</h4>
+</pre><p>API method to check Entity Exists</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteEntity">Function: SharingRegistryService.deleteEntity</h4>
 <pre><code>bool</code> deleteEntity(<code>string</code> domainId,
                   <code>string</code> entityId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to delete entity</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getEntity">Function: SharingRegistryService.getEntity</h4>
+</pre><p>API method to delete entity</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getEntity">Function: SharingRegistryService.getEntity</h4>
 <pre><code><a href="sharing_models.html#Struct_Entity">sharing_models.Entity</a></code> getEntity(<code>string</code> domainId,
                                 <code>string</code> entityId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to get entity</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_searchEntities">Function: SharingRegistryService.searchEntities</h4>
+</pre><p>API method to get entity</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_searchEntities">Function: SharingRegistryService.searchEntities</h4>
 <pre><code>list&lt;<code><a href="sharing_models.html#Struct_Entity">sharing_models.Entity</a></code>&gt;</code> searchEntities(<code>string</code> domainId,
                                            <code>string</code> userId,
                                            <code>list&lt;<code><a href="sharing_models.html#Struct_SearchCriteria">sharing_models.SearchCriteria</a></code>&gt;</code> filters,
                                            <code>i32</code> offset,
                                            <code>i32</code> limit)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to search entities</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getListOfSharedUsers">Function: SharingRegistryService.getListOfSharedUsers</h4>
+</pre><p>API method to search entities</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getListOfSharedUsers">Function: SharingRegistryService.getListOfSharedUsers</h4>
 <pre><code>list&lt;<code><a href="sharing_models.html#Struct_User">sharing_models.User</a></code>&gt;</code> getListOfSharedUsers(<code>string</code> domainId,
                                                <code>string</code> entityId,
                                                <code>string</code> permissionTypeId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to get a list of shared users given the entity id</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getListOfSharedGroups">Function: SharingRegistryService.getListOfSharedGroups</h4>
+</pre><p>API method to get a list of shared users given the entity id</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getListOfSharedGroups">Function: SharingRegistryService.getListOfSharedGroups</h4>
 <pre><code>list&lt;<code><a href="sharing_models.html#Struct_UserGroup">sharing_models.UserGroup</a></code>&gt;</code> getListOfSharedGroups(<code>string</code> domainId,
                                                      <code>string</code> entityId,
                                                      <code>string</code> permissionTypeId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to get a list of shared groups given the entity id</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createPermissionType">Function: SharingRegistryService.createPermissionType</h4>
+</pre><p>API method to get a list of shared groups given the entity id</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createPermissionType">Function: SharingRegistryService.createPermissionType</h4>
 <pre><code>string</code> createPermissionType(<code><a href="sharing_models.html#Struct_PermissionType">sharing_models.PermissionType</a></code> permissionType)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>, <code><a href="sharing_models.html#Struct_DuplicateEntryException">sharing_models.DuplicateEntryException</a></code>
-</pre><pre><p>API method to create permission type</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updatePermissionType">Function: SharingRegistryService.updatePermissionType</h4>
+</pre><p>API method to create permission type</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updatePermissionType">Function: SharingRegistryService.updatePermissionType</h4>
 <pre><code>bool</code> updatePermissionType(<code><a href="sharing_models.html#Struct_PermissionType">sharing_models.PermissionType</a></code> permissionType)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to update permission type</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_isPermissionExists">Function: SharingRegistryService.isPermissionExists</h4>
+</pre><p>API method to update permission type</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_isPermissionExists">Function: SharingRegistryService.isPermissionExists</h4>
 <pre><code>bool</code> isPermissionExists(<code>string</code> dimainId,
                         <code>string</code> permissionId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to check Permission Exists</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deletePermissionType">Function: SharingRegistryService.deletePermissionType</h4>
+</pre><p>API method to check Permission Exists</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deletePermissionType">Function: SharingRegistryService.deletePermissionType</h4>
 <pre><code>bool</code> deletePermissionType(<code>string</code> domainId,
                           <code>string</code> permissionTypeId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to delete permission type</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getPermissionType">Function: SharingRegistryService.getPermissionType</h4>
+</pre><p>API method to delete permission type</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getPermissionType">Function: SharingRegistryService.getPermissionType</h4>
 <pre><code><a href="sharing_models.html#Struct_PermissionType">sharing_models.PermissionType</a></code> getPermissionType(<code>string</code> domainId,
                                                 <code>string</code> permissionTypeId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to get permission type</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getPermissionTypes">Function: SharingRegistryService.getPermissionTypes</h4>
+</pre><p>API method to get permission type</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getPermissionTypes">Function: SharingRegistryService.getPermissionTypes</h4>
 <pre><code>list&lt;<code><a href="sharing_models.html#Struct_PermissionType">sharing_models.PermissionType</a></code>&gt;</code> getPermissionTypes(<code>string</code> domainId,
                                                        <code>i32</code> offset,
                                                        <code>i32</code> limit)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to get list of permission types in a given domainId.</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_shareEntityWithUsers">Function: SharingRegistryService.shareEntityWithUsers</h4>
+</pre><p>API method to get list of permission types in a given domainId.</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_shareEntityWithUsers">Function: SharingRegistryService.shareEntityWithUsers</h4>
 <pre><code>bool</code> shareEntityWithUsers(<code>string</code> domainId,
                           <code>string</code> entityId,
                           <code>list&lt;<code>string</code>&gt;</code> userList,
                           <code>string</code> perssionTypeId,
                           <code>bool</code> cascadePermission)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to share an entity with users</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_revokeEntitySharingFromUsers">Function: SharingRegistryService.revokeEntitySharingFromUsers</h4>
+</pre><p>API method to share an entity with users</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_revokeEntitySharingFromUsers">Function: SharingRegistryService.revokeEntitySharingFromUsers</h4>
 <pre><code>bool</code> revokeEntitySharingFromUsers(<code>string</code> domainId,
                                   <code>string</code> entityId,
                                   <code>list&lt;<code>string</code>&gt;</code> userList,
                                   <code>string</code> perssionTypeId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to revoke sharing from a list of users</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_shareEntityWithGroups">Function: SharingRegistryService.shareEntityWithGroups</h4>
+</pre><p>API method to revoke sharing from a list of users</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_shareEntityWithGroups">Function: SharingRegistryService.shareEntityWithGroups</h4>
 <pre><code>bool</code> shareEntityWithGroups(<code>string</code> domainId,
                            <code>string</code> entityId,
                            <code>list&lt;<code>string</code>&gt;</code> groupList,
                            <code>string</code> perssionTypeId,
                            <code>bool</code> cascadePermission)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to share an entity with list of groups</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_revokeEntitySharingFromGroups">Function: SharingRegistryService.revokeEntitySharingFromGroups</h4>
+</pre><p>API method to share an entity with list of groups</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_revokeEntitySharingFromGroups">Function: SharingRegistryService.revokeEntitySharingFromGroups</h4>
 <pre><code>bool</code> revokeEntitySharingFromGroups(<code>string</code> domainId,
                                    <code>string</code> entityId,
                                    <code>list&lt;<code>string</code>&gt;</code> groupList,
                                    <code>string</code> perssionTypeId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to revoke sharing from list of users</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_userHasAccess">Function: SharingRegistryService.userHasAccess</h4>
+</pre><p>API method to revoke sharing from list of users</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_userHasAccess">Function: SharingRegistryService.userHasAccess</h4>
 <pre><code>bool</code> userHasAccess(<code>string</code> domainId,
                    <code>string</code> userId,
                    <code>string</code> entityId,
                    <code>string</code> permissionTypeId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to check whether a user has access to a specific entity</p>
-</pre><br/></div></div></body></html>
+</pre><p>API method to check whether a user has access to a specific entity</p>
+<br/></div></div></body></html>
diff --git a/modules/sharing-registry/sharing-service-docs/api-docs/sharing_models.html b/modules/sharing-registry/sharing-service-docs/api-docs/sharing_models.html
index c1e8058..f6bf941 100644
--- a/modules/sharing-registry/sharing-service-docs/api-docs/sharing_models.html
+++ b/modules/sharing-registry/sharing-service-docs/api-docs/sharing_models.html
@@ -15,11 +15,9 @@
 <a href="#Struct_Entity">Entity</a><br/>
 <a href="#Enum_EntitySearchField">EntitySearchField</a><br/>
 <a href="#Struct_EntityType">EntityType</a><br/>
-<a href="#Struct_GroupAdmin">GroupAdmin</a><br/>
 <a href="#Enum_GroupCardinality">GroupCardinality</a><br/>
 <a href="#Enum_GroupChildType">GroupChildType</a><br/>
 <a href="#Struct_GroupMembership">GroupMembership</a><br/>
-<a href="#Struct_GroupOwner">GroupOwner</a><br/>
 <a href="#Enum_GroupType">GroupType</a><br/>
 <a href="#Struct_PermissionType">PermissionType</a><br/>
 <a href="#Enum_SearchCondition">SearchCondition</a><br/>
@@ -37,35 +35,35 @@
 <table class="table-bordered table-striped table-condensed"><thead><th>Constant</th><th>Type</th><th>Value</th></thead>
 <tr id="Const_DO_NOT_SET_AT_CLIENTS_ID"><td><code>DO_NOT_SET_AT_CLIENTS_ID</code></td><td><code>string</code></td><td><code>"DO_NOT_SET_AT_CLIENTS_ID"</code></td></tr></table><hr/><h2 id="Enumerations">Enumerations</h2>
 <div class="definition"><h3 id="Enum_GroupCardinality">Enumeration: GroupCardinality</h3>
-<pre><p>This is an system internal enum used to define single user groups and multi users groups. Every user is also
+<p>This is an system internal enum used to define single user groups and multi users groups. Every user is also
 considered as a group in it's own right for implementation ease</p>
 
-</pre><br/><br/><table class="table-bordered table-striped table-condensed">
+<br/><br/><table class="table-bordered table-striped table-condensed">
 <tr><td><code>SINGLE_USER</code></td><td><code>0</code></td><td>
 </td></tr>
 <tr><td><code>MULTI_USER</code></td><td><code>1</code></td><td>
 </td></tr>
 </table></div>
 <div class="definition"><h3 id="Enum_GroupType">Enumeration: GroupType</h3>
-<pre><p>Group types can be either user level or domain level groups.</p>
+<p>Group types can be either user level or domain level groups.</p>
 
-</pre><br/><br/><table class="table-bordered table-striped table-condensed">
+<br/><br/><table class="table-bordered table-striped table-condensed">
 <tr><td><code>DOMAIN_LEVEL_GROUP</code></td><td><code>0</code></td><td>
 </td></tr>
 <tr><td><code>USER_LEVEL_GROUP</code></td><td><code>1</code></td><td>
 </td></tr>
 </table></div>
 <div class="definition"><h3 id="Enum_GroupChildType">Enumeration: GroupChildType</h3>
-<pre><p>System internal data type to match group child types</p>
+<p>System internal data type to match group child types</p>
 
-</pre><br/><br/><table class="table-bordered table-striped table-condensed">
+<br/><br/><table class="table-bordered table-striped table-condensed">
 <tr><td><code>USER</code></td><td><code>0</code></td><td>
 </td></tr>
 <tr><td><code>GROUP</code></td><td><code>1</code></td><td>
 </td></tr>
 </table></div>
 <div class="definition"><h3 id="Enum_EntitySearchField">Enumeration: EntitySearchField</h3>
-<pre><p>This list of fields that can be used to search entities</p>
+<p>This list of fields that can be used to search entities</p>
 <li>NAME : Name of the entity</li>
 <li>DESCRIPTION : Description of the entity</li>
 <li>FULL_TEXT : Full text field of the entity</li>
@@ -75,7 +73,7 @@ considered as a group in it's own right for implementation ease</p>
 <li>UPDATED_TIME : Updated time of the entity</li>
 <li>SHARED_COUNT : Number of directly shared users and groups</li>
 
-</pre><br/><br/><table class="table-bordered table-striped table-condensed">
+<br/><br/><table class="table-bordered table-striped table-condensed">
 <tr><td><code>NAME</code></td><td><code>0</code></td><td>
 </td></tr>
 <tr><td><code>DESCRIPTION</code></td><td><code>1</code></td><td>
@@ -98,14 +96,14 @@ considered as a group in it's own right for implementation ease</p>
 </td></tr>
 </table></div>
 <div class="definition"><h3 id="Enum_SearchCondition">Enumeration: SearchCondition</h3>
-<pre><p>Different search operators that can be used with the entity search fields</p>
+<p>Different search operators that can be used with the entity search fields</p>
 <li>EQUAL : Simply matches for equality. Applicable for name, and parent entity id</li>
 <li>LIKE : Check for the condition %$FIELD% condition. Applicable for name, and description</li>
 <li>FULL_TEXT : Does a full text search. Only applicable for the FULL_TEXT field.</li>
 <li>GTE : Greater than or equal. Only applicable for created time, updated time and shared count.</li>
 <li>LTE : Less than or equal. Only applicable for created time, updated time and shared count.</li>
 
-</pre><br/><br/><table class="table-bordered table-striped table-condensed">
+<br/><br/><table class="table-bordered table-striped table-condensed">
 <tr><td><code>EQUAL</code></td><td><code>0</code></td><td>
 </td></tr>
 <tr><td><code>LIKE</code></td><td><code>1</code></td><td>
@@ -120,9 +118,9 @@ considered as a group in it's own right for implementation ease</p>
 </td></tr>
 </table></div>
 <div class="definition"><h3 id="Enum_SharingType">Enumeration: SharingType</h3>
-<pre><p>This is an internal enum type for managing sharings</p>
+<p>This is an internal enum type for managing sharings</p>
 
-</pre><br/><br/><table class="table-bordered table-striped table-condensed">
+<br/><br/><table class="table-bordered table-striped table-condensed">
 <tr><td><code>DIRECT_NON_CASCADING</code></td><td><code>0</code></td><td>
 </td></tr>
 <tr><td><code>DIRECT_CASCADING</code></td><td><code>1</code></td><td>
@@ -138,7 +136,7 @@ considered as a group in it's own right for implementation ease</p>
 <tr><td>3</td><td>description</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>4</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>5</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
-</table><br/><pre><p>Domain is the entity that enables multi-tenency in this componenet. Every tenant will be
+</table><br/><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>
@@ -147,7 +145,7 @@ will be same as the domain name</p>
 <li>createdTime : Will be set by the system</li>
 <li>updatedTime : Will be set by the system</li>
 
-</pre><br/></div><div class="definition"><h3 id="Struct_User">Struct: User</h3>
+<br/></div><div class="definition"><h3 id="Struct_User">Struct: User</h3>
 <table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
 <tr><td>1</td><td>userId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
@@ -158,7 +156,7 @@ will be same as the domain name</p>
 <tr><td>7</td><td>icon</td><td><code>binary</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>8</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>9</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
-</table><br/><pre><p>User is the model used to register a user in the system. Minimal user information will be required to provide
+</table><br/><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>
@@ -170,17 +168,7 @@ regarding the user.</p>
 <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>
 
-</pre><br/></div><div class="definition"><h3 id="Struct_GroupAdmin">Struct: GroupAdmin</h3>
-<table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
-<tr><td>1</td><td>groupId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>3</td><td>adminId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-</table><br/></div><div class="definition"><h3 id="Struct_GroupOwner">Struct: GroupOwner</h3>
-<table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
-<tr><td>1</td><td>groupId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>3</td><td>ownerId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-</table><br/></div><div class="definition"><h3 id="Struct_UserGroup">Struct: UserGroup</h3>
+<br/></div><div class="definition"><h3 id="Struct_UserGroup">Struct: UserGroup</h3>
 <table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
 <tr><td>1</td><td>groupId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
@@ -191,7 +179,7 @@ regarding the user.</p>
 <tr><td>7</td><td>groupCardinality</td><td><code><a href="#Enum_GroupCardinality">GroupCardinality</a></code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>8</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>9</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
-</table><br/><pre><p>User group is a collection of users.</p>
+</table><br/><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>
@@ -202,7 +190,7 @@ regarding the user.</p>
  <li>createdTime : Will be set by the system</li>
  <li>updatedTime : Will be set by the system</li>
  
-</pre><br/></div><div class="definition"><h3 id="Struct_GroupMembership">Struct: GroupMembership</h3>
+<br/></div><div class="definition"><h3 id="Struct_GroupMembership">Struct: GroupMembership</h3>
 <table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
 <tr><td>1</td><td>parentId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>2</td><td>childId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
@@ -210,9 +198,9 @@ regarding the user.</p>
 <tr><td>4</td><td>childType</td><td><code><a href="#Enum_GroupChildType">GroupChildType</a></code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>5</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>6</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
-</table><br/><pre><p>System internal data type to map group memberships</p>
+</table><br/><p>System internal data type to map group memberships</p>
 
-</pre><br/></div><div class="definition"><h3 id="Struct_EntityType">Struct: EntityType</h3>
+<br/></div><div class="definition"><h3 id="Struct_EntityType">Struct: EntityType</h3>
 <table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
 <tr><td>1</td><td>entityTypeId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
@@ -220,7 +208,7 @@ regarding the user.</p>
 <tr><td>4</td><td>description</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>5</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>6</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
-</table><br/><pre><p>client defined entity types</p>
+</table><br/><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>
@@ -228,17 +216,17 @@ regarding the user.</p>
 <li>createdTime : Will be set by the system</li>
 <li>updatedTime : Will be set by the system</li>
 
-</pre><br/></div><div class="definition"><h3 id="Struct_SearchCriteria">Struct: SearchCriteria</h3>
+<br/></div><div class="definition"><h3 id="Struct_SearchCriteria">Struct: SearchCriteria</h3>
 <table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
 <tr><td>1</td><td>searchField</td><td><code><a href="#Enum_EntitySearchField">EntitySearchField</a></code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>2</td><td>value</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>3</td><td>searchCondition</td><td><code><a href="#Enum_SearchCondition">SearchCondition</a></code></td><td></td><td>optional</td><td></td></tr>
-</table><br/><pre><p>Container object for search criteria</p>
+</table><br/><p>Container object for search criteria</p>
 <li><b>searchField</b> : Entity search field</li>
 <li><b>value</b> : Search value</li>
 <li><b>searchCondition</b> : EQUAL, LIKE etc..</li>
 
-</pre><br/></div><div class="definition"><h3 id="Struct_Entity">Struct: Entity</h3>
+<br/></div><div class="definition"><h3 id="Struct_Entity">Struct: Entity</h3>
 <table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
 <tr><td>1</td><td>entityId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
@@ -253,7 +241,7 @@ regarding the user.</p>
 <tr><td>11</td><td>originalEntityCreationTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>12</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>13</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
-</table><br/><pre><p>Entity object which is used to register an entity in the system.</p>
+</table><br/><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>
@@ -268,7 +256,7 @@ 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>
 
-</pre><br/></div><div class="definition"><h3 id="Struct_PermissionType">Struct: PermissionType</h3>
+<br/></div><div class="definition"><h3 id="Struct_PermissionType">Struct: PermissionType</h3>
 <table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
 <tr><td>1</td><td>permissionTypeId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
@@ -276,7 +264,7 @@ set will be default to current time</li>
 <tr><td>4</td><td>description</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>5</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>6</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
-</table><br/><pre><p>Object for creating client defined permission type</p>
+</table><br/><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>
@@ -284,7 +272,7 @@ 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>
 
-</pre><br/></div><div class="definition"><h3 id="Struct_Sharing">Struct: Sharing</h3>
+<br/></div><div class="definition"><h3 id="Struct_Sharing">Struct: Sharing</h3>
 <table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
 <tr><td>1</td><td>permissionTypeId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>2</td><td>entityId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
@@ -294,19 +282,19 @@ set will be default to current time</li>
 <tr><td>6</td><td>inheritedParentId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>7</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>8</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
-</table><br/><pre><p>This is an internal enum type for managing sharings</p>
+</table><br/><p>This is an internal enum type for managing sharings</p>
 
-</pre><br/></div><div class="definition"><h3 id="Struct_SharingRegistryException">Exception: SharingRegistryException</h3>
+<br/></div><div class="definition"><h3 id="Struct_SharingRegistryException">Exception: SharingRegistryException</h3>
 <table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
 <tr><td>1</td><td>message</td><td><code>string</code></td><td></td><td>required</td><td></td></tr>
-</table><br/><pre><p>Exception model used in the sharing registry service</p>
+</table><br/><p>Exception model used in the sharing registry service</p>
 
-</pre><br/></div><div class="definition"><h3 id="Struct_DuplicateEntryException">Exception: DuplicateEntryException</h3>
+<br/></div><div class="definition"><h3 id="Struct_DuplicateEntryException">Exception: DuplicateEntryException</h3>
 <table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
 <tr><td>1</td><td>message</td><td><code>string</code></td><td></td><td>required</td><td></td></tr>
-</table><br/><pre>This exception is thrown when you try to save a duplicate entity that already exists
+</table><br/>This exception is thrown when you try to save a duplicate entity that already exists
   in the database.
 
   message: contains the associated error message
 
-</pre><br/></div></div></body></html>
+<br/></div></div></body></html>
diff --git a/modules/sharing-registry/thrift_models/sharing_cpi.thrift b/modules/sharing-registry/thrift_models/sharing_cpi.thrift
index 7f3087f..4e3129a 100644
--- a/modules/sharing-registry/thrift_models/sharing_cpi.thrift
+++ b/modules/sharing-registry/thrift_models/sharing_cpi.thrift
@@ -113,26 +113,6 @@ service SharingRegistryService {
     */
     bool removeUsersFromGroup(1: required string domainId, 2: required list<string> userIds, 3: required string groupId) throws (1: sharing_models.SharingRegistryException sre);
     /**
-     <p>API method to transfer group ownership</p>
-    */
-    bool transferGroupOwnership(1: required string domainId, 2: required string groupId, 3: required string newOwnerId) throws (1: sharing_models.SharingRegistryException sre);
-    /**
-    <p>API method to add Admin for a group</p>
-    */
-    bool addGroupAdmins(1: required string domainId, 2: required string groupId, 3: required list<string> adminIds) throws (1: sharing_models.SharingRegistryException sre);
-    /**
-    <p>API method to remove Admin for a group</p>
-    */
-    bool removeGroupAdmins(1: required string domainId, 2: required string groupId, 3: required list<string> adminIds) throws (1: sharing_models.SharingRegistryException sre);
-    /**
-    <p>API method to check whether the user has Admin access for the group</p>
-    */
-    bool hasAdminAccess(1: required string domainId, 2: required string groupId, 3: required string adminId) throws (1: sharing_models.SharingRegistryException sre);
-    /**
-    <p>API method to check whether the user has Admin access for the group</p>
-    */
-    bool hasOwnerAccess(1: required string domainId, 2: required string groupId, 3: required string ownerId) throws (1: sharing_models.SharingRegistryException sre);
-    /**
      <p>API method to get list of child users in a group. Only the direct members will be returned.</p>
     */
     list<sharing_models.User> getGroupMembersOfTypeUser(1: string domainId, 2: required string groupId, 3: required i32 offset, 4: required i32 limit) throws (1: sharing_models.SharingRegistryException sre);
diff --git a/modules/sharing-registry/thrift_models/sharing_models.thrift b/modules/sharing-registry/thrift_models/sharing_models.thrift
index 35c2db6..474e14b 100644
--- a/modules/sharing-registry/thrift_models/sharing_models.thrift
+++ b/modules/sharing-registry/thrift_models/sharing_models.thrift
@@ -67,27 +67,6 @@ struct User {
  9: optional i64 updatedTime
 }
 
-/*
-* Admin user for a group. Admin will have access to add more users or remove users from the group
-*
-**/
-struct GroupAdmin {
- 1: optional string groupId,
- 2: optional string domainId,
- 3: optional string adminId
-}
-
-/*
-* The Owner who creates the group initially. Ownership can be transferable to a different user.
-* Only owners are allowed to delete the groups.
-*
-**/
-struct GroupOwner {
- 1: optional string groupId,
- 2: optional string domainId,
- 3: optional string ownerId
-}
-
 /**
 * <p>This is an system internal enum used to define single user groups and multi users groups. Every user is also
 * considered as a group in it's own right for implementation ease</p>

-- 
To stop receiving notification emails like this one, please contact
"commits@airavata.apache.org" <co...@airavata.apache.org>.