http://git-wip-us.apache.org/repos/asf/airavata/blob/87564d2b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java
----------------------------------------------------------------------
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 fc4f384..70459c3 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
@@ -34,124 +34,305 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = 
"2016-10-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
 public class SharingRegistryService {
 
   public interface Iface {
 
     /**
-     *  * Domain Operations
-     * *
+     * <p>API method to create a new domainId.</p>
      * 
-     * @param domain
+     * @param domainId
      */
-    public String 
createDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+    public String 
createDomain(org.apache.airavata.sharing.registry.models.Domain domainId) 
throws org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
-    public boolean 
updateDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+    /**
+     * <p>API method to update a domainId.</p>
+     * 
+     * @param domainId
+     */
+    public boolean 
updateDomain(org.apache.airavata.sharing.registry.models.Domain domainId) 
throws org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to delete domainId.</p>
+     * 
+     * @param domainId
+     */
     public boolean deleteDomain(String domainId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to retrieve a domainId.</p>
+     * 
+     * @param domainId
+     */
     public org.apache.airavata.sharing.registry.models.Domain getDomain(String 
domainId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to get all domainIds.</p>
+     * 
+     * @param offset
+     * @param limit
+     */
     public List<org.apache.airavata.sharing.registry.models.Domain> 
getDomains(int offset, int limit) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
     /**
-     *  * User Operations
-     * *
+     * <p>API method to register a user in the system</p>
      * 
      * @param user
      */
-    public String createUser(org.apache.airavata.sharing.registry.models.User 
user) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+    public String 
registerUser(org.apache.airavata.sharing.registry.models.User user) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to update existing user</p>
+     * 
+     * @param user
+     */
     public boolean 
updatedUser(org.apache.airavata.sharing.registry.models.User user) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to delete user</p>
+     * 
+     * @param userId
+     */
     public boolean deleteUser(String userId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to get a user</p>
+     * 
+     * @param userId
+     */
     public org.apache.airavata.sharing.registry.models.User getUser(String 
userId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
-    public List<org.apache.airavata.sharing.registry.models.User> 
getUsers(String domain, int offset, int limit) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+    /**
+     * <p>API method to get a list of users in a specific domainId. Users will 
be reverse sorted based on the created time.</p>
+     * <li>domainId : Domain id</li>
+     * <li>offset : Starting result number</li>
+     * <li>limit : Number of max results to be sent</li>
+     * 
+     * @param domainId
+     * @param offset
+     * @param limit
+     */
+    public List<org.apache.airavata.sharing.registry.models.User> 
getUsers(String domainId, int offset, int limit) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
     /**
-     *  * Group Operations
-     * *
+     * <p>API method to create a new group</p>
      * 
      * @param group
      */
     public String 
createGroup(org.apache.airavata.sharing.registry.models.UserGroup group) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to update a group</p>
+     * 
+     * @param group
+     */
     public boolean 
updateGroup(org.apache.airavata.sharing.registry.models.UserGroup group) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to delete a group</p>
+     * 
+     * @param groupId
+     */
     public boolean deleteGroup(String groupId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to get a group</p>
+     * 
+     * @param groupId
+     */
     public org.apache.airavata.sharing.registry.models.UserGroup 
getGroup(String groupId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
-    public List<org.apache.airavata.sharing.registry.models.UserGroup> 
getGroups(String domain, int offset, int limit) throws 
org.apache.thrift.TException;
+    /**
+     * <p>API method to get groups in a domainId. Results are reverse sorted 
based on created time.</p>
+     * 
+     * @param domainId
+     * @param offset
+     * @param limit
+     */
+    public List<org.apache.airavata.sharing.registry.models.UserGroup> 
getGroups(String domainId, int offset, int limit) throws 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to add list of users to a group</p>
+     * 
+     * @param userIds
+     * @param groupId
+     */
     public boolean addUsersToGroup(List<String> userIds, String groupId) 
throws org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to remove users from a group</p>
+     * 
+     * @param userIds
+     * @param groupId
+     */
     public boolean removeUsersFromGroup(List<String> userIds, String groupId) 
throws org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
-    public 
Map<String,org.apache.airavata.sharing.registry.models.GroupChildType> 
getGroupMembers(String groupId, int offset, int limit) 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. Results are reverse time sorted based on creation 
time</p>
+     * 
+     * @param groupId
+     * @param offset
+     * @param limit
+     */
+    public List<org.apache.airavata.sharing.registry.models.User> 
getGroupMembersOfTypeUser(String groupId, int offset, int limit) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+
+    /**
+     * <p>API method to get list of child groups in a group. Only the direct 
members will be returned. Results are reverse time sorted based on creation 
time</p>
+     * 
+     * @param groupId
+     * @param offset
+     * @param limit
+     */
+    public List<org.apache.airavata.sharing.registry.models.UserGroup> 
getGroupMembersOfTypeGroup(String groupId, int offset, int limit) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
-    public boolean addChildGroupToParentGroup(String childId, String groupId) 
throws org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+    /**
+     * <p>API method to add a child group to a parent group.</p>
+     * 
+     * @param childIds
+     * @param groupId
+     */
+    public boolean addChildGroupsToParentGroup(List<String> childIds, String 
groupId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to remove a child group from parent group.</p>
+     * 
+     * @param childId
+     * @param groupId
+     */
     public boolean removeChildGroupFromParentGroup(String childId, String 
groupId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
     /**
-     *  * EntityType Operations
-     * *
+     * <p>API method to create a new entity type</p>
      * 
      * @param entityType
      */
     public String 
createEntityType(org.apache.airavata.sharing.registry.models.EntityType 
entityType) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to update entity type</p>
+     * 
+     * @param entityType
+     */
     public boolean 
updateEntityType(org.apache.airavata.sharing.registry.models.EntityType 
entityType) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to delete entity type</p>
+     * 
+     * @param entityTypeId
+     */
     public boolean deleteEntityType(String entityTypeId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to get an entity type</p>
+     * 
+     * @param entityTypeId
+     */
     public org.apache.airavata.sharing.registry.models.EntityType 
getEntityType(String entityTypeId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
-    public List<org.apache.airavata.sharing.registry.models.EntityType> 
getEntityTypes(String domain, int offset, int limit) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+    /**
+     * <p>API method to get entity types in a domainId. Results are reverse 
time sorted based on creation time</p>
+     * 
+     * @param domainId
+     * @param offset
+     * @param limit
+     */
+    public List<org.apache.airavata.sharing.registry.models.EntityType> 
getEntityTypes(String domainId, int offset, int limit) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
     /**
-     *  * Entity Operations
-     * *
+     * <p>API method to register new entity</p>
      * 
      * @param entity
      */
-    public String 
createEntity(org.apache.airavata.sharing.registry.models.Entity entity) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+    public String 
registerEntity(org.apache.airavata.sharing.registry.models.Entity entity) 
throws org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to update entity</p>
+     * 
+     * @param entity
+     */
     public boolean 
updateEntity(org.apache.airavata.sharing.registry.models.Entity entity) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to delete entity</p>
+     * 
+     * @param entityId
+     */
     public boolean deleteEntity(String entityId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to get entity</p>
+     * 
+     * @param entityId
+     */
     public org.apache.airavata.sharing.registry.models.Entity getEntity(String 
entityId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to search entities</p>
+     * 
+     * @param userId
+     * @param entityTypeId
+     * @param filters
+     * @param offset
+     * @param limit
+     */
     public List<org.apache.airavata.sharing.registry.models.Entity> 
searchEntities(String userId, String entityTypeId, 
List<org.apache.airavata.sharing.registry.models.SearchCriteria> filters, int 
offset, int limit) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to get a list of shared users given the entity id</p>
+     * 
+     * @param entityId
+     * @param permissionTypeId
+     */
     public List<org.apache.airavata.sharing.registry.models.User> 
getListOfSharedUsers(String entityId, String permissionTypeId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to get a list of shared groups given the entity id</p>
+     * 
+     * @param entityId
+     * @param permissionTypeId
+     */
     public List<org.apache.airavata.sharing.registry.models.UserGroup> 
getListOfSharedGroups(String entityId, String permissionTypeId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
     /**
-     *  * Permission Operations
-     * *
+     * <p>API method to create permission type</p>
      * 
      * @param permissionType
      */
     public String 
createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType 
permissionType) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to update permission type</p>
+     * 
+     * @param permissionType
+     */
     public boolean 
updatePermissionType(org.apache.airavata.sharing.registry.models.PermissionType 
permissionType) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to delete permission type</p>
+     * 
+     * @param entityTypeId
+     */
     public boolean deletePermissionType(String entityTypeId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to get permission type</p>
+     * 
+     * @param permissionTypeId
+     */
     public org.apache.airavata.sharing.registry.models.PermissionType 
getPermissionType(String permissionTypeId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
-    public List<org.apache.airavata.sharing.registry.models.PermissionType> 
getPermissionTypes(String domain, int offset, int limit) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+    /**
+     * <p>API method to get list of permission types in a given domainId. 
Results are reverse time sorted based on creation time</p>
+     * 
+     * @param domainId
+     * @param offset
+     * @param limit
+     */
+    public List<org.apache.airavata.sharing.registry.models.PermissionType> 
getPermissionTypes(String domainId, int offset, int limit) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
     /**
-     *  * Sharing Entity with Users and Groups
-     * *
+     * <p>API method to share an entity with users</p>
      * 
      * @param domainId
      * @param entityId
@@ -161,21 +342,54 @@ public class SharingRegistryService {
      */
     public boolean shareEntityWithUsers(String domainId, String entityId, 
List<String> userList, String perssionTypeId, boolean cascadePermission) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to revoke sharing from a list of users</p>
+     * 
+     * @param domainId
+     * @param entityId
+     * @param userList
+     * @param perssionTypeId
+     */
     public boolean revokeEntitySharingFromUsers(String domainId, String 
entityId, List<String> userList, String perssionTypeId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to share an entity with list of groups</p>
+     * 
+     * @param domainId
+     * @param entityId
+     * @param groupList
+     * @param perssionTypeId
+     * @param cascadePermission
+     */
     public boolean shareEntityWithGroups(String domainId, String entityId, 
List<String> groupList, String perssionTypeId, boolean cascadePermission) 
throws org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to revoke sharing from list of users</p>
+     * 
+     * @param domainId
+     * @param entityId
+     * @param groupList
+     * @param perssionTypeId
+     */
     public boolean revokeEntitySharingFromGroups(String domainId, String 
entityId, List<String> groupList, String perssionTypeId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
+    /**
+     * <p>API method to check whether a user has access to a specific 
entity</p>
+     * 
+     * @param domainId
+     * @param userId
+     * @param entityId
+     * @param permissionTypeId
+     */
     public boolean userHasAccess(String domainId, String userId, String 
entityId, String permissionTypeId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
 
   }
 
   public interface AsyncIface {
 
-    public void 
createDomain(org.apache.airavata.sharing.registry.models.Domain domain, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+    public void 
createDomain(org.apache.airavata.sharing.registry.models.Domain domainId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
-    public void 
updateDomain(org.apache.airavata.sharing.registry.models.Domain domain, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+    public void 
updateDomain(org.apache.airavata.sharing.registry.models.Domain domainId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
     public void deleteDomain(String domainId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
@@ -183,7 +397,7 @@ public class SharingRegistryService {
 
     public void getDomains(int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
-    public void createUser(org.apache.airavata.sharing.registry.models.User 
user, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+    public void registerUser(org.apache.airavata.sharing.registry.models.User 
user, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
     public void updatedUser(org.apache.airavata.sharing.registry.models.User 
user, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
@@ -191,7 +405,7 @@ public class SharingRegistryService {
 
     public void getUser(String userId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
-    public void getUsers(String domain, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+    public void getUsers(String domainId, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
     public void 
createGroup(org.apache.airavata.sharing.registry.models.UserGroup group, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
@@ -201,15 +415,17 @@ public class SharingRegistryService {
 
     public void getGroup(String groupId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
-    public void getGroups(String domain, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+    public void getGroups(String domainId, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
     public void addUsersToGroup(List<String> userIds, String groupId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
     public void removeUsersFromGroup(List<String> userIds, String groupId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
-    public void getGroupMembers(String groupId, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+    public void getGroupMembersOfTypeUser(String groupId, int offset, int 
limit, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
-    public void addChildGroupToParentGroup(String childId, String groupId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+    public void getGroupMembersOfTypeGroup(String groupId, int offset, int 
limit, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
+    public void addChildGroupsToParentGroup(List<String> childIds, String 
groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
     public void removeChildGroupFromParentGroup(String childId, String 
groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
@@ -221,9 +437,9 @@ public class SharingRegistryService {
 
     public void getEntityType(String entityTypeId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
-    public void getEntityTypes(String domain, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+    public void getEntityTypes(String domainId, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
-    public void 
createEntity(org.apache.airavata.sharing.registry.models.Entity entity, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+    public void 
registerEntity(org.apache.airavata.sharing.registry.models.Entity entity, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
     public void 
updateEntity(org.apache.airavata.sharing.registry.models.Entity entity, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
@@ -245,7 +461,7 @@ public class SharingRegistryService {
 
     public void getPermissionType(String permissionTypeId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
-    public void getPermissionTypes(String domain, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+    public void getPermissionTypes(String domainId, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
     public void shareEntityWithUsers(String domainId, String entityId, 
List<String> userList, String perssionTypeId, boolean cascadePermission, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
@@ -279,16 +495,16 @@ public class SharingRegistryService {
       super(iprot, oprot);
     }
 
-    public String 
createDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    public String 
createDomain(org.apache.airavata.sharing.registry.models.Domain domainId) 
throws org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
     {
-      send_createDomain(domain);
+      send_createDomain(domainId);
       return recv_createDomain();
     }
 
-    public void 
send_createDomain(org.apache.airavata.sharing.registry.models.Domain domain) 
throws org.apache.thrift.TException
+    public void 
send_createDomain(org.apache.airavata.sharing.registry.models.Domain domainId) 
throws org.apache.thrift.TException
     {
       createDomain_args args = new createDomain_args();
-      args.setDomain(domain);
+      args.setDomainId(domainId);
       sendBase("createDomain", args);
     }
 
@@ -299,22 +515,22 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "createDomain failed: unknown result");
     }
 
-    public boolean 
updateDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    public boolean 
updateDomain(org.apache.airavata.sharing.registry.models.Domain domainId) 
throws org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
     {
-      send_updateDomain(domain);
+      send_updateDomain(domainId);
       return recv_updateDomain();
     }
 
-    public void 
send_updateDomain(org.apache.airavata.sharing.registry.models.Domain domain) 
throws org.apache.thrift.TException
+    public void 
send_updateDomain(org.apache.airavata.sharing.registry.models.Domain domainId) 
throws org.apache.thrift.TException
     {
       updateDomain_args args = new updateDomain_args();
-      args.setDomain(domain);
+      args.setDomainId(domainId);
       sendBase("updateDomain", args);
     }
 
@@ -325,8 +541,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "updateDomain failed: unknown result");
     }
@@ -351,8 +567,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "deleteDomain failed: unknown result");
     }
@@ -377,8 +593,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "getDomain failed: unknown result");
     }
@@ -404,36 +620,36 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "getDomains failed: unknown result");
     }
 
-    public String createUser(org.apache.airavata.sharing.registry.models.User 
user) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    public String 
registerUser(org.apache.airavata.sharing.registry.models.User user) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
     {
-      send_createUser(user);
-      return recv_createUser();
+      send_registerUser(user);
+      return recv_registerUser();
     }
 
-    public void 
send_createUser(org.apache.airavata.sharing.registry.models.User user) throws 
org.apache.thrift.TException
+    public void 
send_registerUser(org.apache.airavata.sharing.registry.models.User user) throws 
org.apache.thrift.TException
     {
-      createUser_args args = new createUser_args();
+      registerUser_args args = new registerUser_args();
       args.setUser(user);
-      sendBase("createUser", args);
+      sendBase("registerUser", args);
     }
 
-    public String recv_createUser() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    public String recv_registerUser() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
     {
-      createUser_result result = new createUser_result();
-      receiveBase(result, "createUser");
+      registerUser_result result = new registerUser_result();
+      receiveBase(result, "registerUser");
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
-      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "createUser failed: unknown result");
+      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "registerUser failed: unknown result");
     }
 
     public boolean 
updatedUser(org.apache.airavata.sharing.registry.models.User user) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
@@ -456,8 +672,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "updatedUser failed: unknown result");
     }
@@ -482,8 +698,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "deleteUser failed: unknown result");
     }
@@ -508,22 +724,22 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "getUser failed: unknown result");
     }
 
-    public List<org.apache.airavata.sharing.registry.models.User> 
getUsers(String domain, int offset, int limit) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    public List<org.apache.airavata.sharing.registry.models.User> 
getUsers(String domainId, int offset, int limit) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
     {
-      send_getUsers(domain, offset, limit);
+      send_getUsers(domainId, offset, limit);
       return recv_getUsers();
     }
 
-    public void send_getUsers(String domain, int offset, int limit) throws 
org.apache.thrift.TException
+    public void send_getUsers(String domainId, int offset, int limit) throws 
org.apache.thrift.TException
     {
       getUsers_args args = new getUsers_args();
-      args.setDomain(domain);
+      args.setDomainId(domainId);
       args.setOffset(offset);
       args.setLimit(limit);
       sendBase("getUsers", args);
@@ -536,8 +752,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "getUsers failed: unknown result");
     }
@@ -562,8 +778,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "createGroup failed: unknown result");
     }
@@ -588,8 +804,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "updateGroup failed: unknown result");
     }
@@ -614,8 +830,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "deleteGroup failed: unknown result");
     }
@@ -640,22 +856,22 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "getGroup failed: unknown result");
     }
 
-    public List<org.apache.airavata.sharing.registry.models.UserGroup> 
getGroups(String domain, int offset, int limit) throws 
org.apache.thrift.TException
+    public List<org.apache.airavata.sharing.registry.models.UserGroup> 
getGroups(String domainId, int offset, int limit) throws 
org.apache.thrift.TException
     {
-      send_getGroups(domain, offset, limit);
+      send_getGroups(domainId, offset, limit);
       return recv_getGroups();
     }
 
-    public void send_getGroups(String domain, int offset, int limit) throws 
org.apache.thrift.TException
+    public void send_getGroups(String domainId, int offset, int limit) throws 
org.apache.thrift.TException
     {
       getGroups_args args = new getGroups_args();
-      args.setDomain(domain);
+      args.setDomainId(domainId);
       args.setOffset(offset);
       args.setLimit(limit);
       sendBase("getGroups", args);
@@ -692,8 +908,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "addUsersToGroup failed: unknown result");
     }
@@ -719,65 +935,93 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "removeUsersFromGroup failed: unknown result");
     }
 
-    public 
Map<String,org.apache.airavata.sharing.registry.models.GroupChildType> 
getGroupMembers(String groupId, int offset, int limit) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    public List<org.apache.airavata.sharing.registry.models.User> 
getGroupMembersOfTypeUser(String groupId, int offset, int limit) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
     {
-      send_getGroupMembers(groupId, offset, limit);
-      return recv_getGroupMembers();
+      send_getGroupMembersOfTypeUser(groupId, offset, limit);
+      return recv_getGroupMembersOfTypeUser();
     }
 
-    public void send_getGroupMembers(String groupId, int offset, int limit) 
throws org.apache.thrift.TException
+    public void send_getGroupMembersOfTypeUser(String groupId, int offset, int 
limit) throws org.apache.thrift.TException
     {
-      getGroupMembers_args args = new getGroupMembers_args();
+      getGroupMembersOfTypeUser_args args = new 
getGroupMembersOfTypeUser_args();
       args.setGroupId(groupId);
       args.setOffset(offset);
       args.setLimit(limit);
-      sendBase("getGroupMembers", args);
+      sendBase("getGroupMembersOfTypeUser", args);
     }
 
-    public 
Map<String,org.apache.airavata.sharing.registry.models.GroupChildType> 
recv_getGroupMembers() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    public List<org.apache.airavata.sharing.registry.models.User> 
recv_getGroupMembersOfTypeUser() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
     {
-      getGroupMembers_result result = new getGroupMembers_result();
-      receiveBase(result, "getGroupMembers");
+      getGroupMembersOfTypeUser_result result = new 
getGroupMembersOfTypeUser_result();
+      receiveBase(result, "getGroupMembersOfTypeUser");
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
-      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "getGroupMembers failed: unknown result");
+      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "getGroupMembersOfTypeUser failed: unknown result");
     }
 
-    public boolean addChildGroupToParentGroup(String childId, String groupId) 
throws org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    public List<org.apache.airavata.sharing.registry.models.UserGroup> 
getGroupMembersOfTypeGroup(String groupId, int offset, int limit) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
     {
-      send_addChildGroupToParentGroup(childId, groupId);
-      return recv_addChildGroupToParentGroup();
+      send_getGroupMembersOfTypeGroup(groupId, offset, limit);
+      return recv_getGroupMembersOfTypeGroup();
     }
 
-    public void send_addChildGroupToParentGroup(String childId, String 
groupId) throws org.apache.thrift.TException
+    public void send_getGroupMembersOfTypeGroup(String groupId, int offset, 
int limit) throws org.apache.thrift.TException
     {
-      addChildGroupToParentGroup_args args = new 
addChildGroupToParentGroup_args();
-      args.setChildId(childId);
+      getGroupMembersOfTypeGroup_args args = new 
getGroupMembersOfTypeGroup_args();
+      args.setGroupId(groupId);
+      args.setOffset(offset);
+      args.setLimit(limit);
+      sendBase("getGroupMembersOfTypeGroup", args);
+    }
+
+    public List<org.apache.airavata.sharing.registry.models.UserGroup> 
recv_getGroupMembersOfTypeGroup() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      getGroupMembersOfTypeGroup_result result = new 
getGroupMembersOfTypeGroup_result();
+      receiveBase(result, "getGroupMembersOfTypeGroup");
+      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,
 "getGroupMembersOfTypeGroup failed: unknown result");
+    }
+
+    public boolean addChildGroupsToParentGroup(List<String> childIds, String 
groupId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      send_addChildGroupsToParentGroup(childIds, groupId);
+      return recv_addChildGroupsToParentGroup();
+    }
+
+    public void send_addChildGroupsToParentGroup(List<String> childIds, String 
groupId) throws org.apache.thrift.TException
+    {
+      addChildGroupsToParentGroup_args args = new 
addChildGroupsToParentGroup_args();
+      args.setChildIds(childIds);
       args.setGroupId(groupId);
-      sendBase("addChildGroupToParentGroup", args);
+      sendBase("addChildGroupsToParentGroup", args);
     }
 
-    public boolean recv_addChildGroupToParentGroup() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    public boolean recv_addChildGroupsToParentGroup() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
     {
-      addChildGroupToParentGroup_result result = new 
addChildGroupToParentGroup_result();
-      receiveBase(result, "addChildGroupToParentGroup");
+      addChildGroupsToParentGroup_result result = new 
addChildGroupsToParentGroup_result();
+      receiveBase(result, "addChildGroupsToParentGroup");
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
-      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "addChildGroupToParentGroup failed: unknown result");
+      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "addChildGroupsToParentGroup failed: unknown result");
     }
 
     public boolean removeChildGroupFromParentGroup(String childId, String 
groupId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
@@ -801,8 +1045,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "removeChildGroupFromParentGroup failed: unknown result");
     }
@@ -827,8 +1071,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "createEntityType failed: unknown result");
     }
@@ -853,8 +1097,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "updateEntityType failed: unknown result");
     }
@@ -879,8 +1123,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "deleteEntityType failed: unknown result");
     }
@@ -905,22 +1149,22 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "getEntityType failed: unknown result");
     }
 
-    public List<org.apache.airavata.sharing.registry.models.EntityType> 
getEntityTypes(String domain, int offset, int limit) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    public List<org.apache.airavata.sharing.registry.models.EntityType> 
getEntityTypes(String domainId, int offset, int limit) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
     {
-      send_getEntityTypes(domain, offset, limit);
+      send_getEntityTypes(domainId, offset, limit);
       return recv_getEntityTypes();
     }
 
-    public void send_getEntityTypes(String domain, int offset, int limit) 
throws org.apache.thrift.TException
+    public void send_getEntityTypes(String domainId, int offset, int limit) 
throws org.apache.thrift.TException
     {
       getEntityTypes_args args = new getEntityTypes_args();
-      args.setDomain(domain);
+      args.setDomainId(domainId);
       args.setOffset(offset);
       args.setLimit(limit);
       sendBase("getEntityTypes", args);
@@ -933,36 +1177,36 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "getEntityTypes failed: unknown result");
     }
 
-    public String 
createEntity(org.apache.airavata.sharing.registry.models.Entity entity) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    public String 
registerEntity(org.apache.airavata.sharing.registry.models.Entity entity) 
throws org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
     {
-      send_createEntity(entity);
-      return recv_createEntity();
+      send_registerEntity(entity);
+      return recv_registerEntity();
     }
 
-    public void 
send_createEntity(org.apache.airavata.sharing.registry.models.Entity entity) 
throws org.apache.thrift.TException
+    public void 
send_registerEntity(org.apache.airavata.sharing.registry.models.Entity entity) 
throws org.apache.thrift.TException
     {
-      createEntity_args args = new createEntity_args();
+      registerEntity_args args = new registerEntity_args();
       args.setEntity(entity);
-      sendBase("createEntity", args);
+      sendBase("registerEntity", args);
     }
 
-    public String recv_createEntity() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    public String recv_registerEntity() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
     {
-      createEntity_result result = new createEntity_result();
-      receiveBase(result, "createEntity");
+      registerEntity_result result = new registerEntity_result();
+      receiveBase(result, "registerEntity");
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
-      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "createEntity failed: unknown result");
+      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "registerEntity failed: unknown result");
     }
 
     public boolean 
updateEntity(org.apache.airavata.sharing.registry.models.Entity entity) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
@@ -985,8 +1229,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "updateEntity failed: unknown result");
     }
@@ -1011,8 +1255,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "deleteEntity failed: unknown result");
     }
@@ -1037,8 +1281,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "getEntity failed: unknown result");
     }
@@ -1067,8 +1311,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "searchEntities failed: unknown result");
     }
@@ -1094,8 +1338,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "getListOfSharedUsers failed: unknown result");
     }
@@ -1121,8 +1365,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "getListOfSharedGroups failed: unknown result");
     }
@@ -1147,8 +1391,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "createPermissionType failed: unknown result");
     }
@@ -1173,8 +1417,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "updatePermissionType failed: unknown result");
     }
@@ -1199,8 +1443,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "deletePermissionType failed: unknown result");
     }
@@ -1225,22 +1469,22 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "getPermissionType failed: unknown result");
     }
 
-    public List<org.apache.airavata.sharing.registry.models.PermissionType> 
getPermissionTypes(String domain, int offset, int limit) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    public List<org.apache.airavata.sharing.registry.models.PermissionType> 
getPermissionTypes(String domainId, int offset, int limit) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
     {
-      send_getPermissionTypes(domain, offset, limit);
+      send_getPermissionTypes(domainId, offset, limit);
       return recv_getPermissionTypes();
     }
 
-    public void send_getPermissionTypes(String domain, int offset, int limit) 
throws org.apache.thrift.TException
+    public void send_getPermissionTypes(String domainId, int offset, int 
limit) throws org.apache.thrift.TException
     {
       getPermissionTypes_args args = new getPermissionTypes_args();
-      args.setDomain(domain);
+      args.setDomainId(domainId);
       args.setOffset(offset);
       args.setLimit(limit);
       sendBase("getPermissionTypes", args);
@@ -1253,8 +1497,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "getPermissionTypes failed: unknown result");
     }
@@ -1283,8 +1527,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "shareEntityWithUsers failed: unknown result");
     }
@@ -1312,8 +1556,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "revokeEntitySharingFromUsers failed: unknown result");
     }
@@ -1342,8 +1586,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "shareEntityWithGroups failed: unknown result");
     }
@@ -1371,8 +1615,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "revokeEntitySharingFromGroups failed: unknown result");
     }
@@ -1400,8 +1644,8 @@ public class SharingRegistryService {
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.gre != null) {
-        throw result.gre;
+      if (result.sre != null) {
+        throw result.sre;
       }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "userHasAccess failed: unknown result");
     }
@@ -1424,24 +1668,24 @@ public class SharingRegistryService {
       super(protocolFactory, clientManager, transport);
     }
 
-    public void 
createDomain(org.apache.airavata.sharing.registry.models.Domain domain, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+    public void 
createDomain(org.apache.airavata.sharing.registry.models.Domain domainId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
       checkReady();
-      createDomain_call method_call = new createDomain_call(domain, 
resultHandler, this, ___protocolFactory, ___transport);
+      createDomain_call method_call = new createDomain_call(domainId, 
resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class createDomain_call extends 
org.apache.thrift.async.TAsyncMethodCall {
-      private org.apache.airavata.sharing.registry.models.Domain domain;
-      public 
createDomain_call(org.apache.airavata.sharing.registry.models.Domain domain, 
org.apache.thrift.async.AsyncMethodCallback resultHandler, 
org.apache.thrift.async.TAsyncClient client, 
org.apache.thrift.protocol.TProtocolFactory protocolFactory, 
org.apache.thrift.transport.TNonblockingTransport transport) throws 
org.apache.thrift.TException {
+      private org.apache.airavata.sharing.registry.models.Domain domainId;
+      public 
createDomain_call(org.apache.airavata.sharing.registry.models.Domain domainId, 
org.apache.thrift.async.AsyncMethodCallback 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.domain = domain;
+        this.domainId = domainId;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
         prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("createDomain", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
         createDomain_args args = new createDomain_args();
-        args.setDomain(domain);
+        args.setDomainId(domainId);
         args.write(prot);
         prot.writeMessageEnd();
       }
@@ -1456,24 +1700,24 @@ public class SharingRegistryService {
       }
     }
 
-    public void 
updateDomain(org.apache.airavata.sharing.registry.models.Domain domain, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+    public void 
updateDomain(org.apache.airavata.sharing.registry.models.Domain domainId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
       checkReady();
-      updateDomain_call method_call = new updateDomain_call(domain, 
resultHandler, this, ___protocolFactory, ___transport);
+      updateDomain_call method_call = new updateDomain_call(domainId, 
resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class updateDomain_call extends 
org.apache.thrift.async.TAsyncMethodCall {
-      private org.apache.airavata.sharing.registry.models.Domain domain;
-      public 
updateDomain_call(org.apache.airavata.sharing.registry.models.Domain domain, 
org.apache.thrift.async.AsyncMethodCallback resultHandler, 
org.apache.thrift.async.TAsyncClient client, 
org.apache.thrift.protocol.TProtocolFactory protocolFactory, 
org.apache.thrift.transport.TNonblockingTransport transport) throws 
org.apache.thrift.TException {
+      private org.apache.airavata.sharing.registry.models.Domain domainId;
+      public 
updateDomain_call(org.apache.airavata.sharing.registry.models.Domain domainId, 
org.apache.thrift.async.AsyncMethodCallback 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.domain = domain;
+        this.domainId = domainId;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
         prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("updateDomain", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateDomain_args args = new updateDomain_args();
-        args.setDomain(domain);
+        args.setDomainId(domainId);
         args.write(prot);
         prot.writeMessageEnd();
       }
@@ -1587,23 +1831,23 @@ public class SharingRegistryService {
       }
     }
 
-    public void createUser(org.apache.airavata.sharing.registry.models.User 
user, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+    public void registerUser(org.apache.airavata.sharing.registry.models.User 
user, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
       checkReady();
-      createUser_call method_call = new createUser_call(user, resultHandler, 
this, ___protocolFactory, ___transport);
+      registerUser_call method_call = new registerUser_call(user, 
resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class createUser_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+    public static class registerUser_call extends 
org.apache.thrift.async.TAsyncMethodCall {
       private org.apache.airavata.sharing.registry.models.User user;
-      public createUser_call(org.apache.airavata.sharing.registry.models.User 
user, org.apache.thrift.async.AsyncMethodCallback resultHandler, 
org.apache.thrift.async.TAsyncClient client, 
org.apache.thrift.protocol.TProtocolFactory protocolFactory, 
org.apache.thrift.transport.TNonblockingTransport transport) throws 
org.apache.thrift.TException {
+      public 
registerUser_call(org.apache.airavata.sharing.registry.models.User user, 
org.apache.thrift.async.AsyncMethodCallback 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.user = user;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
-        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("createUser", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
-        createUser_args args = new createUser_args();
+        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("registerUser", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        registerUser_args args = new registerUser_args();
         args.setUser(user);
         args.write(prot);
         prot.writeMessageEnd();
@@ -1615,7 +1859,7 @@ public class SharingRegistryService {
         }
         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_createUser();
+        return (new Client(prot)).recv_registerUser();
       }
     }
 
@@ -1715,20 +1959,20 @@ public class SharingRegistryService {
       }
     }
 
-    public void getUsers(String domain, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+    public void getUsers(String domainId, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
       checkReady();
-      getUsers_call method_call = new getUsers_call(domain, offset, limit, 
resultHandler, this, ___protocolFactory, ___transport);
+      getUsers_call method_call = new getUsers_call(domainId, offset, limit, 
resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class getUsers_call extends 
org.apache.thrift.async.TAsyncMethodCall {
-      private String domain;
+      private String domainId;
       private int offset;
       private int limit;
-      public getUsers_call(String domain, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback resultHandler, 
org.apache.thrift.async.TAsyncClient client, 
org.apache.thrift.protocol.TProtocolFactory protocolFactory, 
org.apache.thrift.transport.TNonblockingTransport transport) throws 
org.apache.thrift.TException {
+      public getUsers_call(String domainId, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback 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.domain = domain;
+        this.domainId = domainId;
         this.offset = offset;
         this.limit = limit;
       }
@@ -1736,7 +1980,7 @@ public class SharingRegistryService {
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
         prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("getUsers", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
         getUsers_args args = new getUsers_args();
-        args.setDomain(domain);
+        args.setDomainId(domainId);
         args.setOffset(offset);
         args.setLimit(limit);
         args.write(prot);
@@ -1881,20 +2125,20 @@ public class SharingRegistryService {
       }
     }
 
-    public void getGroups(String domain, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+    public void getGroups(String domainId, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
       checkReady();
-      getGroups_call method_call = new getGroups_call(domain, offset, limit, 
resultHandler, this, ___protocolFactory, ___transport);
+      getGroups_call method_call = new getGroups_call(domainId, offset, limit, 
resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class getGroups_call extends 
org.apache.thrift.async.TAsyncMethodCall {
-      private String domain;
+      private String domainId;
       private int offset;
       private int limit;
-      public getGroups_call(String domain, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback resultHandler, 
org.apache.thrift.async.TAsyncClient client, 
org.apache.thrift.protocol.TProtocolFactory protocolFactory, 
org.apache.thrift.transport.TNonblockingTransport transport) throws 
org.apache.thrift.TException {
+      public getGroups_call(String domainId, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback 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.domain = domain;
+        this.domainId = domainId;
         this.offset = offset;
         this.limit = limit;
       }
@@ -1902,7 +2146,7 @@ public class SharingRegistryService {
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
         prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("getGroups", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGroups_args args = new getGroups_args();
-        args.setDomain(domain);
+        args.setDomainId(domainId);
         args.setOffset(offset);
         args.setLimit(limit);
         args.write(prot);
@@ -1989,18 +2233,18 @@ public class SharingRegistryService {
       }
     }
 
-    public void getGroupMembers(String groupId, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+    public void getGroupMembersOfTypeUser(String groupId, int offset, int 
limit, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
       checkReady();
-      getGroupMembers_call method_call = new getGroupMembers_call(groupId, 
offset, limit, resultHandler, this, ___protocolFactory, ___transport);
+      getGroupMembersOfTypeUser_call method_call = new 
getGroupMembersOfTypeUser_call(groupId, offset, limit, resultHandler, this, 
___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class getGroupMembers_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+    public static class getGroupMembersOfTypeUser_call extends 
org.apache.thrift.async.TAsyncMethodCall {
       private String groupId;
       private int offset;
       private int limit;
-      public getGroupMembers_call(String groupId, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback resultHandler, 
org.apache.thrift.async.TAsyncClient client, 
org.apache.thrift.protocol.TProtocolFactory protocolFactory, 
org.apache.thrift.transport.TNonblockingTransport transport) throws 
org.apache.thrift.TException {
+      public getGroupMembersOfTypeUser_call(String groupId, int offset, int 
limit, org.apache.thrift.async.AsyncMethodCallback 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.groupId = groupId;
         this.offset = offset;
@@ -2008,8 +2252,8 @@ public class SharingRegistryService {
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
-        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("getGroupMembers", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
-        getGroupMembers_args args = new getGroupMembers_args();
+        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("getGroupMembersOfTypeUser", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getGroupMembersOfTypeUser_args args = new 
getGroupMembersOfTypeUser_args();
         args.setGroupId(groupId);
         args.setOffset(offset);
         args.setLimit(limit);
@@ -2017,36 +2261,74 @@ public class SharingRegistryService {
         prot.writeMessageEnd();
       }
 
-      public 
Map<String,org.apache.airavata.sharing.registry.models.GroupChildType> 
getResult() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException {
+      public List<org.apache.airavata.sharing.registry.models.User> 
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 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_getGroupMembers();
+        return (new Client(prot)).recv_getGroupMembersOfTypeUser();
       }
     }
 
-    public void addChildGroupToParentGroup(String childId, String groupId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+    public void getGroupMembersOfTypeGroup(String groupId, int offset, int 
limit, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
       checkReady();
-      addChildGroupToParentGroup_call method_call = new 
addChildGroupToParentGroup_call(childId, groupId, resultHandler, this, 
___protocolFactory, ___transport);
+      getGroupMembersOfTypeGroup_call method_call = new 
getGroupMembersOfTypeGroup_call(groupId, offset, limit, resultHandler, this, 
___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class addChildGroupToParentGroup_call extends 
org.apache.thrift.async.TAsyncMethodCall {
-      private String childId;
+    public static class getGroupMembersOfTypeGroup_call extends 
org.apache.thrift.async.TAsyncMethodCall {
       private String groupId;
-      public addChildGroupToParentGroup_call(String childId, String groupId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler, 
org.apache.thrift.async.TAsyncClient client, 
org.apache.thrift.protocol.TProtocolFactory protocolFactory, 
org.apache.thrift.transport.TNonblockingTransport transport) throws 
org.apache.thrift.TException {
+      private int offset;
+      private int limit;
+      public getGroupMembersOfTypeGroup_call(String groupId, int offset, int 
limit, org.apache.thrift.async.AsyncMethodCallback 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.childId = childId;
         this.groupId = groupId;
+        this.offset = offset;
+        this.limit = limit;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
-        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("addChildGroupToParentGroup", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
-        addChildGroupToParentGroup_args args = new 
addChildGroupToParentGroup_args();
-        args.setChildId(childId);
+        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("getGroupMembersOfTypeGroup", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getGroupMembersOfTypeGroup_args args = new 
getGroupMembersOfTypeGroup_args();
+        args.setGroupId(groupId);
+        args.setOffset(offset);
+        args.setLimit(limit);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public List<org.apache.airavata.sharing.registry.models.UserGroup> 
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 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_getGroupMembersOfTypeGroup();
+      }
+    }
+
+    public void addChildGroupsToParentGroup(List<String> childIds, String 
groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+      checkReady();
+      addChildGroupsToParentGroup_call method_call = new 
addChildGroupsToParentGroup_call(childIds, groupId, resultHandler, this, 
___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class addChildGroupsToParentGroup_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+      private List<String> childIds;
+      private String groupId;
+      public addChildGroupsToParentGroup_call(List<String> childIds, String 
groupId, org.apache.thrift.async.AsyncMethodCallback 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.childIds = childIds;
+        this.groupId = groupId;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
+        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("addChildGroupsToParentGroup", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        addChildGroupsToParentGroup_args args = new 
addChildGroupsToParentGroup_args();
+        args.setChildIds(childIds);
         args.setGroupId(groupId);
         args.write(prot);
         prot.writeMessageEnd();
@@ -2058,7 +2340,7 @@ public class SharingRegistryService {
         }
         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_addChildGroupToParentGroup();
+        return (new Client(prot)).recv_addChildGroupsToParentGroup();
       }
     }
 
@@ -2225,20 +2507,20 @@ public class SharingRegistryService {
       }
     }
 
-    public void getEntityTypes(String domain, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+    public void getEntityTypes(String domainId, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
       checkReady();
-      getEntityTypes_call method_call = new getEntityTypes_call(domain, 
offset, limit, resultHandler, this, ___protocolFactory, ___transport);
+      getEntityTypes_call method_call = new getEntityTypes_call(domainId, 
offset, limit, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class getEntityTypes_call extends 
org.apache.thrift.async.TAsyncMethodCall {
-      private String domain;
+      private String domainId;
       private int offset;
       private int limit;
-      public getEntityTypes_call(String domain, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback resultHandler, 
org.apache.thrift.async.TAsyncClient client, 
org.apache.thrift.protocol.TProtocolFactory protocolFactory, 
org.apache.thrift.transport.TNonblockingTransport transport) throws 
org.apache.thrift.TException {
+      public getEntityTypes_call(String domainId, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback 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.domain = domain;
+        this.domainId = domainId;
         this.offset = offset;
         this.limit = limit;
       }
@@ -2246,7 +2528,7 @@ public class SharingRegistryService {
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
         prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("getEntityTypes", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
         getEntityTypes_args args = new getEntityTypes_args();
-        args.setDomain(domain);
+        args.setDomainId(domainId);
         args.setOffset(offset);
         args.setLimit(limit);
         args.write(prot);
@@ -2263,23 +2545,23 @@ public class SharingRegistryService {
       }
     }
 
-    public void 
createEntity(org.apache.airavata.sharing.registry.models.Entity entity, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+    public void 
registerEntity(org.apache.airavata.sharing.registry.models.Entity entity, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
       checkReady();
-      createEntity_call method_call = new createEntity_call(entity, 
resultHandler, this, ___protocolFactory, ___transport);
+      registerEntity_call method_call = new registerEntity_call(entity, 
resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class createEntity_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+    public static class registerEntity_call extends 
org.apache.thrift.async.TAsyncMethodCall {
       private org.apache.airavata.sharing.registry.models.Entity entity;
-      public 
createEntity_call(org.apache.airavata.sharing.registry.models.Entity entity, 
org.apache.thrift.async.AsyncMethodCallback resultHandler, 
org.apache.thrift.async.TAsyncClient client, 
org.apache.thrift.protocol.TProtocolFactory protocolFactory, 
org.apache.thrift.transport.TNonblockingTransport transport) throws 
org.apache.thrift.TException {
+      public 
registerEntity_call(org.apache.airavata.sharing.registry.models.Entity entity, 
org.apache.thrift.async.AsyncMethodCallback 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.entity = entity;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
-        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("createEntity", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
-        createEntity_args args = new createEntity_args();
+        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("registerEntity", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        registerEntity_args args = new registerEntity_args();
         args.setEntity(entity);
         args.write(prot);
         prot.writeMessageEnd();
@@ -2291,7 +2573,7 @@ public class SharingRegistryService {
         }
         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_createEntity();
+        return (new Client(prot)).recv_registerEntity();
       }
     }
 
@@ -2633,20 +2915,20 @@ public class SharingRegistryService {
       }
     }
 
-    public void getPermissionTypes(String domain, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+    public void getPermissionTypes(String domainId, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
       checkReady();
-      getPermissionTypes_call method_call = new 
getPermissionTypes_call(domain, offset, limit, resultHandler, this, 
___protocolFactory, ___transport);
+      getPermissionTypes_call method_call = new 
getPermissionTypes_call(domainId, offset, limit, resultHandler, this, 
___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class getPermissionTypes_call extends 
org.apache.thrift.async.TAsyncMethodCall {
-      private String domain;
+      private String domainId;
       private int offset;
       private int limit;
-      public getPermissionTypes_call(String domain, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback resultHandler, 
org.apache.thrift.async.TAsyncClient client, 
org.apache.thrift.protocol.TProtocolFactory protocolFactory, 
org.apache.thrift.transport.TNonblockingTransport transport) throws 
org.apache.thrift.TException {
+      public getPermissionTypes_call(String domainId, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback 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.domain = domain;
+        this.domainId = domainId;
         this.offset = offset;
         this.limit = limit;
       }
@@ -2654,7 +2936,7 @@ public class SharingRegistryService {
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
         prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("getPermissionTypes", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
         getPermissionTypes_args args = new getPermissionTypes_args();
-        args.setDomain(domain);
+        args.setDomainId(domainId);
         args.setOffset(offset);
         args.setLimit(limit);
         args.write(prot);
@@ -2900,7 +3182,7 @@ public class SharingRegistryService {
       processMap.put("deleteDomain", new deleteDomain());
       processMap.put("getDomain", new getDomain());
       processMap.put("getDomains", new getDomains());
-      processMap.put("createUser", new createUser());
+      processMap.put("registerUser", new registerUser());
       processMap.put("updatedUser", new updatedUser());
       processMap.put("deleteUser", new deleteUser());
       processMap.put("getUser", new getUser());
@@ -2912,15 +3194,16 @@ public class SharingRegistryService {
       processMap.put("getGroups", new getGroups());
       processMap.put("addUsersToGroup", new addUsersToGroup());
       processMap.put("removeUsersFromGroup", new removeUsersFromGroup());
-      processMap.put("getGroupMembers", new getGroupMembers());
-      processMap.put("addChildGroupToParentGroup", new 
addChildGroupToParentGroup());
+      processMap.put("getGroupMembersOfTypeUser", new 
getGroupMembersOfTypeUser());
+      processMap.put("getGroupMembersOfTypeGroup", new 
getGroupMembersOfTypeGroup());
+      processMap.put("addChildGroupsToParentGroup", new 
addChildGroupsToParentGroup());
       processMap.put("removeChildGroupFromParentGroup", new 
removeChildGroupFromParentGroup());
       processMap.put("createEntityType", new createEntityType());
       processMap.put("updateEntityType", new updateEntityType());
       processMap.put("deleteEntityType", new deleteEntityType());
       processMap.put("getEntityType", new getEntityType());
       processMap.put("getEnt

<TRUNCATED>

Reply via email to