http://git-wip-us.apache.org/repos/asf/airavata/blob/99de5cc4/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/GovRegistryService.java
----------------------------------------------------------------------
diff --git 
a/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/GovRegistryService.java
 
b/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/GovRegistryService.java
index 4ef8a74..e7693ac 100644
--- 
a/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/GovRegistryService.java
+++ 
b/modules/airavata-sharing-registry/airavata-sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/GovRegistryService.java
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = 
"2016-09-23")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = 
"2016-10-03")
 public class GovRegistryService {
 
   public interface Iface {
@@ -45,7 +45,7 @@ public class GovRegistryService {
      * 
      * @param domain
      */
-    public boolean 
createDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
+    public String 
createDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
 
     public boolean 
updateDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
 
@@ -53,7 +53,7 @@ public class GovRegistryService {
 
     public org.apache.airavata.sharing.registry.models.Domain getDomain(String 
domainId) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
 
-    public List<org.apache.airavata.sharing.registry.models.Domain> 
getDomains(int offset, int limit) throws org.apache.thrift.TException;
+    public List<org.apache.airavata.sharing.registry.models.Domain> 
getDomains(int offset, int limit) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
 
     /**
      *  * User Operations
@@ -61,7 +61,7 @@ public class GovRegistryService {
      * 
      * @param user
      */
-    public boolean 
registerUser(org.apache.airavata.sharing.registry.models.User user) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
+    public String createUser(org.apache.airavata.sharing.registry.models.User 
user) throws org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
 
     public boolean 
updatedUser(org.apache.airavata.sharing.registry.models.User user) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
 
@@ -69,7 +69,7 @@ public class GovRegistryService {
 
     public org.apache.airavata.sharing.registry.models.User getUser(String 
userId) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
 
-    public List<org.apache.airavata.sharing.registry.models.User> 
getUsers(String domain, int offset, int limit) throws 
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.GovRegistryException, 
org.apache.thrift.TException;
 
     /**
      *  * Group Operations
@@ -77,7 +77,7 @@ public class GovRegistryService {
      * 
      * @param group
      */
-    public boolean 
createGroup(org.apache.airavata.sharing.registry.models.UserGroup group) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
+    public String 
createGroup(org.apache.airavata.sharing.registry.models.UserGroup group) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
 
     public boolean 
updateGroup(org.apache.airavata.sharing.registry.models.UserGroup group) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
 
@@ -91,7 +91,11 @@ public class GovRegistryService {
 
     public boolean removeUsersFromGroup(List<String> userIds, String groupId) 
throws org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
 
-    public Map<String,org.apache.airavata.sharing.registry.models.GroupType> 
getGroupMembers(String groupId) throws 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.GovRegistryException, 
org.apache.thrift.TException;
+
+    public boolean addChildGroupToParentGroup(String childId, String groupId) 
throws org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
+
+    public boolean removeChildGroupFromParentGroup(String childId, String 
groupId) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
 
     /**
      *  * EntityType Operations
@@ -99,7 +103,7 @@ public class GovRegistryService {
      * 
      * @param entityType
      */
-    public boolean 
createEntityType(org.apache.airavata.sharing.registry.models.EntityType 
entityType) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
+    public String 
createEntityType(org.apache.airavata.sharing.registry.models.EntityType 
entityType) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
 
     public boolean 
updateEntityType(org.apache.airavata.sharing.registry.models.EntityType 
entityType) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
 
@@ -107,7 +111,7 @@ public class GovRegistryService {
 
     public org.apache.airavata.sharing.registry.models.EntityType 
getEntityType(String entityTypeId) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
 
-    public List<org.apache.airavata.sharing.registry.models.EntityType> 
getEntityTypes(String domain, int offset, int limit) throws 
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.GovRegistryException, 
org.apache.thrift.TException;
 
     /**
      *  * Entity Operations
@@ -115,7 +119,7 @@ public class GovRegistryService {
      * 
      * @param entity
      */
-    public boolean 
registerEntity(org.apache.airavata.sharing.registry.models.Entity entity) 
throws org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
+    public String 
createEntity(org.apache.airavata.sharing.registry.models.Entity entity) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
 
     public boolean 
updateEntity(org.apache.airavata.sharing.registry.models.Entity entity) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
 
@@ -126,18 +130,18 @@ public class GovRegistryService {
     public List<org.apache.airavata.sharing.registry.models.Entity> 
searchEntities(String domain, String entityType, Map<String,String> filters, 
int offset, int limit) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
 
     /**
-     *  * EntityType Operations
+     *  * Permission Operations
      * *
      * 
-     * @param permisionType
+     * @param permissionType
      */
-    public boolean 
createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType 
permisionType) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
+    public String 
createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType 
permissionType) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
 
-    public boolean 
updatePermissionType(org.apache.airavata.sharing.registry.models.PermissionType 
permisionType) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
+    public boolean 
updatePermissionType(org.apache.airavata.sharing.registry.models.PermissionType 
permissionType) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
 
     public boolean deletePermissionType(String entityTypeId) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
 
-    public org.apache.airavata.sharing.registry.models.PermissionType 
getPermissionType(String permisionTypeId) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException;
+    public org.apache.airavata.sharing.registry.models.PermissionType 
getPermissionType(String permissionTypeId) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
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.GovRegistryException, 
org.apache.thrift.TException;
 
@@ -155,7 +159,7 @@ public class GovRegistryService {
 
     public void getDomains(int offset, int limit, 
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 createUser(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;
 
@@ -179,7 +183,11 @@ public class GovRegistryService {
 
     public void removeUsersFromGroup(List<String> userIds, String groupId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
-    public void getGroupMembers(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 addChildGroupToParentGroup(String childId, 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;
 
     public void 
createEntityType(org.apache.airavata.sharing.registry.models.EntityType 
entityType, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
@@ -191,7 +199,7 @@ public class GovRegistryService {
 
     public void getEntityTypes(String domain, int offset, int limit, 
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 
createEntity(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;
 
@@ -201,13 +209,13 @@ public class GovRegistryService {
 
     public void searchEntities(String domain, String entityType, 
Map<String,String> filters, int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
-    public void 
createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType 
permisionType, org.apache.thrift.async.AsyncMethodCallback resultHandler) 
throws org.apache.thrift.TException;
+    public void 
createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType 
permissionType, org.apache.thrift.async.AsyncMethodCallback resultHandler) 
throws org.apache.thrift.TException;
 
-    public void 
updatePermissionType(org.apache.airavata.sharing.registry.models.PermissionType 
permisionType, org.apache.thrift.async.AsyncMethodCallback resultHandler) 
throws org.apache.thrift.TException;
+    public void 
updatePermissionType(org.apache.airavata.sharing.registry.models.PermissionType 
permissionType, org.apache.thrift.async.AsyncMethodCallback resultHandler) 
throws org.apache.thrift.TException;
 
     public void deletePermissionType(String entityTypeId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
-    public void getPermissionType(String permisionTypeId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+    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;
 
@@ -233,7 +241,7 @@ public class GovRegistryService {
       super(iprot, oprot);
     }
 
-    public boolean 
createDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
+    public String 
createDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
     {
       send_createDomain(domain);
       return recv_createDomain();
@@ -246,7 +254,7 @@ public class GovRegistryService {
       sendBase("createDomain", args);
     }
 
-    public boolean recv_createDomain() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
+    public String recv_createDomain() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
     {
       createDomain_result result = new createDomain_result();
       receiveBase(result, "createDomain");
@@ -337,7 +345,7 @@ public class GovRegistryService {
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "getDomain failed: unknown result");
     }
 
-    public List<org.apache.airavata.sharing.registry.models.Domain> 
getDomains(int offset, int limit) throws org.apache.thrift.TException
+    public List<org.apache.airavata.sharing.registry.models.Domain> 
getDomains(int offset, int limit) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
     {
       send_getDomains(offset, limit);
       return recv_getDomains();
@@ -351,40 +359,43 @@ public class GovRegistryService {
       sendBase("getDomains", args);
     }
 
-    public List<org.apache.airavata.sharing.registry.models.Domain> 
recv_getDomains() throws org.apache.thrift.TException
+    public List<org.apache.airavata.sharing.registry.models.Domain> 
recv_getDomains() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
     {
       getDomains_result result = new getDomains_result();
       receiveBase(result, "getDomains");
       if (result.isSetSuccess()) {
         return result.success;
       }
+      if (result.gre != null) {
+        throw result.gre;
+      }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "getDomains failed: unknown result");
     }
 
-    public boolean 
registerUser(org.apache.airavata.sharing.registry.models.User user) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
+    public String createUser(org.apache.airavata.sharing.registry.models.User 
user) throws org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
     {
-      send_registerUser(user);
-      return recv_registerUser();
+      send_createUser(user);
+      return recv_createUser();
     }
 
-    public void 
send_registerUser(org.apache.airavata.sharing.registry.models.User user) throws 
org.apache.thrift.TException
+    public void 
send_createUser(org.apache.airavata.sharing.registry.models.User user) throws 
org.apache.thrift.TException
     {
-      registerUser_args args = new registerUser_args();
+      createUser_args args = new createUser_args();
       args.setUser(user);
-      sendBase("registerUser", args);
+      sendBase("createUser", args);
     }
 
-    public boolean recv_registerUser() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
+    public String recv_createUser() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
     {
-      registerUser_result result = new registerUser_result();
-      receiveBase(result, "registerUser");
+      createUser_result result = new createUser_result();
+      receiveBase(result, "createUser");
       if (result.isSetSuccess()) {
         return result.success;
       }
       if (result.gre != null) {
         throw result.gre;
       }
-      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "registerUser failed: unknown result");
+      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "createUser failed: unknown result");
     }
 
     public boolean 
updatedUser(org.apache.airavata.sharing.registry.models.User user) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
@@ -465,7 +476,7 @@ public class GovRegistryService {
       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.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.GovRegistryException, 
org.apache.thrift.TException
     {
       send_getUsers(domain, offset, limit);
       return recv_getUsers();
@@ -480,17 +491,20 @@ public class GovRegistryService {
       sendBase("getUsers", args);
     }
 
-    public List<org.apache.airavata.sharing.registry.models.User> 
recv_getUsers() throws org.apache.thrift.TException
+    public List<org.apache.airavata.sharing.registry.models.User> 
recv_getUsers() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
     {
       getUsers_result result = new getUsers_result();
       receiveBase(result, "getUsers");
       if (result.isSetSuccess()) {
         return result.success;
       }
+      if (result.gre != null) {
+        throw result.gre;
+      }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "getUsers failed: unknown result");
     }
 
-    public boolean 
createGroup(org.apache.airavata.sharing.registry.models.UserGroup group) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
+    public String 
createGroup(org.apache.airavata.sharing.registry.models.UserGroup group) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
     {
       send_createGroup(group);
       return recv_createGroup();
@@ -503,7 +517,7 @@ public class GovRegistryService {
       sendBase("createGroup", args);
     }
 
-    public boolean recv_createGroup() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
+    public String recv_createGroup() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
     {
       createGroup_result result = new createGroup_result();
       receiveBase(result, "createGroup");
@@ -673,30 +687,89 @@ public class GovRegistryService {
       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.GroupType> 
getGroupMembers(String groupId) throws 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.GovRegistryException, 
org.apache.thrift.TException
     {
-      send_getGroupMembers(groupId);
+      send_getGroupMembers(groupId, offset, limit);
       return recv_getGroupMembers();
     }
 
-    public void send_getGroupMembers(String groupId) throws 
org.apache.thrift.TException
+    public void send_getGroupMembers(String groupId, int offset, int limit) 
throws org.apache.thrift.TException
     {
       getGroupMembers_args args = new getGroupMembers_args();
       args.setGroupId(groupId);
+      args.setOffset(offset);
+      args.setLimit(limit);
       sendBase("getGroupMembers", args);
     }
 
-    public Map<String,org.apache.airavata.sharing.registry.models.GroupType> 
recv_getGroupMembers() throws org.apache.thrift.TException
+    public 
Map<String,org.apache.airavata.sharing.registry.models.GroupChildType> 
recv_getGroupMembers() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
     {
       getGroupMembers_result result = new getGroupMembers_result();
       receiveBase(result, "getGroupMembers");
       if (result.isSetSuccess()) {
         return result.success;
       }
+      if (result.gre != null) {
+        throw result.gre;
+      }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "getGroupMembers failed: unknown result");
     }
 
-    public boolean 
createEntityType(org.apache.airavata.sharing.registry.models.EntityType 
entityType) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
+    public boolean addChildGroupToParentGroup(String childId, String groupId) 
throws org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
+    {
+      send_addChildGroupToParentGroup(childId, groupId);
+      return recv_addChildGroupToParentGroup();
+    }
+
+    public void send_addChildGroupToParentGroup(String childId, String 
groupId) throws org.apache.thrift.TException
+    {
+      addChildGroupToParentGroup_args args = new 
addChildGroupToParentGroup_args();
+      args.setChildId(childId);
+      args.setGroupId(groupId);
+      sendBase("addChildGroupToParentGroup", args);
+    }
+
+    public boolean recv_addChildGroupToParentGroup() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
+    {
+      addChildGroupToParentGroup_result result = new 
addChildGroupToParentGroup_result();
+      receiveBase(result, "addChildGroupToParentGroup");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.gre != null) {
+        throw result.gre;
+      }
+      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "addChildGroupToParentGroup failed: unknown result");
+    }
+
+    public boolean removeChildGroupFromParentGroup(String childId, String 
groupId) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
+    {
+      send_removeChildGroupFromParentGroup(childId, groupId);
+      return recv_removeChildGroupFromParentGroup();
+    }
+
+    public void send_removeChildGroupFromParentGroup(String childId, String 
groupId) throws org.apache.thrift.TException
+    {
+      removeChildGroupFromParentGroup_args args = new 
removeChildGroupFromParentGroup_args();
+      args.setChildId(childId);
+      args.setGroupId(groupId);
+      sendBase("removeChildGroupFromParentGroup", args);
+    }
+
+    public boolean recv_removeChildGroupFromParentGroup() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
+    {
+      removeChildGroupFromParentGroup_result result = new 
removeChildGroupFromParentGroup_result();
+      receiveBase(result, "removeChildGroupFromParentGroup");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.gre != null) {
+        throw result.gre;
+      }
+      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "removeChildGroupFromParentGroup failed: unknown result");
+    }
+
+    public String 
createEntityType(org.apache.airavata.sharing.registry.models.EntityType 
entityType) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
     {
       send_createEntityType(entityType);
       return recv_createEntityType();
@@ -709,7 +782,7 @@ public class GovRegistryService {
       sendBase("createEntityType", args);
     }
 
-    public boolean recv_createEntityType() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
+    public String recv_createEntityType() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
     {
       createEntityType_result result = new createEntityType_result();
       receiveBase(result, "createEntityType");
@@ -800,7 +873,7 @@ public class GovRegistryService {
       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.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.GovRegistryException, 
org.apache.thrift.TException
     {
       send_getEntityTypes(domain, offset, limit);
       return recv_getEntityTypes();
@@ -815,40 +888,43 @@ public class GovRegistryService {
       sendBase("getEntityTypes", args);
     }
 
-    public List<org.apache.airavata.sharing.registry.models.EntityType> 
recv_getEntityTypes() throws org.apache.thrift.TException
+    public List<org.apache.airavata.sharing.registry.models.EntityType> 
recv_getEntityTypes() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
     {
       getEntityTypes_result result = new getEntityTypes_result();
       receiveBase(result, "getEntityTypes");
       if (result.isSetSuccess()) {
         return result.success;
       }
+      if (result.gre != null) {
+        throw result.gre;
+      }
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "getEntityTypes failed: unknown result");
     }
 
-    public boolean 
registerEntity(org.apache.airavata.sharing.registry.models.Entity entity) 
throws org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
+    public String 
createEntity(org.apache.airavata.sharing.registry.models.Entity entity) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
     {
-      send_registerEntity(entity);
-      return recv_registerEntity();
+      send_createEntity(entity);
+      return recv_createEntity();
     }
 
-    public void 
send_registerEntity(org.apache.airavata.sharing.registry.models.Entity entity) 
throws org.apache.thrift.TException
+    public void 
send_createEntity(org.apache.airavata.sharing.registry.models.Entity entity) 
throws org.apache.thrift.TException
     {
-      registerEntity_args args = new registerEntity_args();
+      createEntity_args args = new createEntity_args();
       args.setEntity(entity);
-      sendBase("registerEntity", args);
+      sendBase("createEntity", args);
     }
 
-    public boolean recv_registerEntity() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
+    public String recv_createEntity() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
     {
-      registerEntity_result result = new registerEntity_result();
-      receiveBase(result, "registerEntity");
+      createEntity_result result = new createEntity_result();
+      receiveBase(result, "createEntity");
       if (result.isSetSuccess()) {
         return result.success;
       }
       if (result.gre != null) {
         throw result.gre;
       }
-      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "registerEntity failed: unknown result");
+      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "createEntity failed: unknown result");
     }
 
     public boolean 
updateEntity(org.apache.airavata.sharing.registry.models.Entity entity) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
@@ -959,20 +1035,20 @@ public class GovRegistryService {
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "searchEntities failed: unknown result");
     }
 
-    public boolean 
createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType 
permisionType) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
+    public String 
createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType 
permissionType) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
     {
-      send_createPermissionType(permisionType);
+      send_createPermissionType(permissionType);
       return recv_createPermissionType();
     }
 
-    public void 
send_createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType
 permisionType) throws org.apache.thrift.TException
+    public void 
send_createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType
 permissionType) throws org.apache.thrift.TException
     {
       createPermissionType_args args = new createPermissionType_args();
-      args.setPermisionType(permisionType);
+      args.setPermissionType(permissionType);
       sendBase("createPermissionType", args);
     }
 
-    public boolean recv_createPermissionType() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
+    public String recv_createPermissionType() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
     {
       createPermissionType_result result = new createPermissionType_result();
       receiveBase(result, "createPermissionType");
@@ -985,16 +1061,16 @@ public class GovRegistryService {
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "createPermissionType failed: unknown result");
     }
 
-    public boolean 
updatePermissionType(org.apache.airavata.sharing.registry.models.PermissionType 
permisionType) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
+    public boolean 
updatePermissionType(org.apache.airavata.sharing.registry.models.PermissionType 
permissionType) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
     {
-      send_updatePermissionType(permisionType);
+      send_updatePermissionType(permissionType);
       return recv_updatePermissionType();
     }
 
-    public void 
send_updatePermissionType(org.apache.airavata.sharing.registry.models.PermissionType
 permisionType) throws org.apache.thrift.TException
+    public void 
send_updatePermissionType(org.apache.airavata.sharing.registry.models.PermissionType
 permissionType) throws org.apache.thrift.TException
     {
       updatePermissionType_args args = new updatePermissionType_args();
-      args.setPermisionType(permisionType);
+      args.setPermissionType(permissionType);
       sendBase("updatePermissionType", args);
     }
 
@@ -1037,16 +1113,16 @@ public class GovRegistryService {
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "deletePermissionType failed: unknown result");
     }
 
-    public org.apache.airavata.sharing.registry.models.PermissionType 
getPermissionType(String permisionTypeId) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
+    public org.apache.airavata.sharing.registry.models.PermissionType 
getPermissionType(String permissionTypeId) throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException
     {
-      send_getPermissionType(permisionTypeId);
+      send_getPermissionType(permissionTypeId);
       return recv_getPermissionType();
     }
 
-    public void send_getPermissionType(String permisionTypeId) throws 
org.apache.thrift.TException
+    public void send_getPermissionType(String permissionTypeId) throws 
org.apache.thrift.TException
     {
       getPermissionType_args args = new getPermissionType_args();
-      args.setPermisionTypeId(permisionTypeId);
+      args.setPermissionTypeId(permissionTypeId);
       sendBase("getPermissionType", args);
     }
 
@@ -1131,7 +1207,7 @@ public class GovRegistryService {
         prot.writeMessageEnd();
       }
 
-      public boolean getResult() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException {
+      public String getResult() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException {
         if (getState() != 
org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -1262,7 +1338,7 @@ public class GovRegistryService {
         prot.writeMessageEnd();
       }
 
-      public List<org.apache.airavata.sharing.registry.models.Domain> 
getResult() throws org.apache.thrift.TException {
+      public List<org.apache.airavata.sharing.registry.models.Domain> 
getResult() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException {
         if (getState() != 
org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -1272,35 +1348,35 @@ public class GovRegistryService {
       }
     }
 
-    public void registerUser(org.apache.airavata.sharing.registry.models.User 
user, 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 {
       checkReady();
-      registerUser_call method_call = new registerUser_call(user, 
resultHandler, this, ___protocolFactory, ___transport);
+      createUser_call method_call = new createUser_call(user, resultHandler, 
this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class registerUser_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+    public static class createUser_call extends 
org.apache.thrift.async.TAsyncMethodCall {
       private org.apache.airavata.sharing.registry.models.User user;
-      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 {
+      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 {
         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("registerUser", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
-        registerUser_args args = new registerUser_args();
+        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("createUser", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        createUser_args args = new createUser_args();
         args.setUser(user);
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public boolean getResult() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException {
+      public String getResult() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
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_registerUser();
+        return (new Client(prot)).recv_createUser();
       }
     }
 
@@ -1428,7 +1504,7 @@ public class GovRegistryService {
         prot.writeMessageEnd();
       }
 
-      public List<org.apache.airavata.sharing.registry.models.User> 
getResult() throws org.apache.thrift.TException {
+      public List<org.apache.airavata.sharing.registry.models.User> 
getResult() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException {
         if (getState() != 
org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -1460,7 +1536,7 @@ public class GovRegistryService {
         prot.writeMessageEnd();
       }
 
-      public boolean getResult() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException {
+      public String getResult() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException {
         if (getState() != 
org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -1674,29 +1750,35 @@ public class GovRegistryService {
       }
     }
 
-    public void getGroupMembers(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 {
       checkReady();
-      getGroupMembers_call method_call = new getGroupMembers_call(groupId, 
resultHandler, this, ___protocolFactory, ___transport);
+      getGroupMembers_call method_call = new getGroupMembers_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 {
       private String groupId;
-      public getGroupMembers_call(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 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 {
         super(client, protocolFactory, transport, resultHandler, false);
         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("getGroupMembers", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGroupMembers_args args = new getGroupMembers_args();
         args.setGroupId(groupId);
+        args.setOffset(offset);
+        args.setLimit(limit);
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public Map<String,org.apache.airavata.sharing.registry.models.GroupType> 
getResult() throws org.apache.thrift.TException {
+      public 
Map<String,org.apache.airavata.sharing.registry.models.GroupChildType> 
getResult() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException {
         if (getState() != 
org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -1706,6 +1788,76 @@ public class GovRegistryService {
       }
     }
 
+    public void addChildGroupToParentGroup(String childId, String groupId, 
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);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class addChildGroupToParentGroup_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+      private String childId;
+      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 {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.childId = childId;
+        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("addChildGroupToParentGroup", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        addChildGroupToParentGroup_args args = new 
addChildGroupToParentGroup_args();
+        args.setChildId(childId);
+        args.setGroupId(groupId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public boolean getResult() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
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_addChildGroupToParentGroup();
+      }
+    }
+
+    public void removeChildGroupFromParentGroup(String childId, String 
groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+      checkReady();
+      removeChildGroupFromParentGroup_call method_call = new 
removeChildGroupFromParentGroup_call(childId, groupId, resultHandler, this, 
___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class removeChildGroupFromParentGroup_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+      private String childId;
+      private String groupId;
+      public removeChildGroupFromParentGroup_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 {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.childId = childId;
+        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("removeChildGroupFromParentGroup", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        removeChildGroupFromParentGroup_args args = new 
removeChildGroupFromParentGroup_args();
+        args.setChildId(childId);
+        args.setGroupId(groupId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public boolean getResult() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
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_removeChildGroupFromParentGroup();
+      }
+    }
+
     public void 
createEntityType(org.apache.airavata.sharing.registry.models.EntityType 
entityType, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
       checkReady();
       createEntityType_call method_call = new 
createEntityType_call(entityType, resultHandler, this, ___protocolFactory, 
___transport);
@@ -1728,7 +1880,7 @@ public class GovRegistryService {
         prot.writeMessageEnd();
       }
 
-      public boolean getResult() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException {
+      public String getResult() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException {
         if (getState() != 
org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -1862,7 +2014,7 @@ public class GovRegistryService {
         prot.writeMessageEnd();
       }
 
-      public List<org.apache.airavata.sharing.registry.models.EntityType> 
getResult() throws org.apache.thrift.TException {
+      public List<org.apache.airavata.sharing.registry.models.EntityType> 
getResult() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException {
         if (getState() != 
org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -1872,35 +2024,35 @@ public class GovRegistryService {
       }
     }
 
-    public void 
registerEntity(org.apache.airavata.sharing.registry.models.Entity entity, 
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 {
       checkReady();
-      registerEntity_call method_call = new registerEntity_call(entity, 
resultHandler, this, ___protocolFactory, ___transport);
+      createEntity_call method_call = new createEntity_call(entity, 
resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class registerEntity_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+    public static class createEntity_call extends 
org.apache.thrift.async.TAsyncMethodCall {
       private org.apache.airavata.sharing.registry.models.Entity entity;
-      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 {
+      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 {
         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("registerEntity", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
-        registerEntity_args args = new registerEntity_args();
+        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("createEntity", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        createEntity_args args = new createEntity_args();
         args.setEntity(entity);
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public boolean getResult() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException {
+      public String getResult() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
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_registerEntity();
+        return (new Client(prot)).recv_createEntity();
       }
     }
 
@@ -2044,29 +2196,29 @@ public class GovRegistryService {
       }
     }
 
-    public void 
createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType 
permisionType, org.apache.thrift.async.AsyncMethodCallback resultHandler) 
throws org.apache.thrift.TException {
+    public void 
createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType 
permissionType, org.apache.thrift.async.AsyncMethodCallback resultHandler) 
throws org.apache.thrift.TException {
       checkReady();
-      createPermissionType_call method_call = new 
createPermissionType_call(permisionType, resultHandler, this, 
___protocolFactory, ___transport);
+      createPermissionType_call method_call = new 
createPermissionType_call(permissionType, resultHandler, this, 
___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class createPermissionType_call extends 
org.apache.thrift.async.TAsyncMethodCall {
-      private org.apache.airavata.sharing.registry.models.PermissionType 
permisionType;
-      public 
createPermissionType_call(org.apache.airavata.sharing.registry.models.PermissionType
 permisionType, 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.PermissionType 
permissionType;
+      public 
createPermissionType_call(org.apache.airavata.sharing.registry.models.PermissionType
 permissionType, 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.permisionType = permisionType;
+        this.permissionType = permissionType;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
         prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("createPermissionType", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
         createPermissionType_args args = new createPermissionType_args();
-        args.setPermisionType(permisionType);
+        args.setPermissionType(permissionType);
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public boolean getResult() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException {
+      public String getResult() throws 
org.apache.airavata.sharing.registry.models.GovRegistryException, 
org.apache.thrift.TException {
         if (getState() != 
org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -2076,24 +2228,24 @@ public class GovRegistryService {
       }
     }
 
-    public void 
updatePermissionType(org.apache.airavata.sharing.registry.models.PermissionType 
permisionType, org.apache.thrift.async.AsyncMethodCallback resultHandler) 
throws org.apache.thrift.TException {
+    public void 
updatePermissionType(org.apache.airavata.sharing.registry.models.PermissionType 
permissionType, org.apache.thrift.async.AsyncMethodCallback resultHandler) 
throws org.apache.thrift.TException {
       checkReady();
-      updatePermissionType_call method_call = new 
updatePermissionType_call(permisionType, resultHandler, this, 
___protocolFactory, ___transport);
+      updatePermissionType_call method_call = new 
updatePermissionType_call(permissionType, resultHandler, this, 
___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class updatePermissionType_call extends 
org.apache.thrift.async.TAsyncMethodCall {
-      private org.apache.airavata.sharing.registry.models.PermissionType 
permisionType;
-      public 
updatePermissionType_call(org.apache.airavata.sharing.registry.models.PermissionType
 permisionType, 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.PermissionType 
permissionType;
+      public 
updatePermissionType_call(org.apache.airavata.sharing.registry.models.PermissionType
 permissionType, 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.permisionType = permisionType;
+        this.permissionType = permissionType;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
         prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("updatePermissionType", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
         updatePermissionType_args args = new updatePermissionType_args();
-        args.setPermisionType(permisionType);
+        args.setPermissionType(permissionType);
         args.write(prot);
         prot.writeMessageEnd();
       }
@@ -2140,24 +2292,24 @@ public class GovRegistryService {
       }
     }
 
-    public void getPermissionType(String permisionTypeId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+    public void getPermissionType(String permissionTypeId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
       checkReady();
-      getPermissionType_call method_call = new 
getPermissionType_call(permisionTypeId, resultHandler, this, 
___protocolFactory, ___transport);
+      getPermissionType_call method_call = new 
getPermissionType_call(permissionTypeId, resultHandler, this, 
___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class getPermissionType_call extends 
org.apache.thrift.async.TAsyncMethodCall {
-      private String permisionTypeId;
-      public getPermissionType_call(String permisionTypeId, 
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 String permissionTypeId;
+      public getPermissionType_call(String permissionTypeId, 
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.permisionTypeId = permisionTypeId;
+        this.permissionTypeId = permissionTypeId;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
         prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("getPermissionType", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
         getPermissionType_args args = new getPermissionType_args();
-        args.setPermisionTypeId(permisionTypeId);
+        args.setPermissionTypeId(permissionTypeId);
         args.write(prot);
         prot.writeMessageEnd();
       }
@@ -2228,7 +2380,7 @@ public class GovRegistryService {
       processMap.put("deleteDomain", new deleteDomain());
       processMap.put("getDomain", new getDomain());
       processMap.put("getDomains", new getDomains());
-      processMap.put("registerUser", new registerUser());
+      processMap.put("createUser", new createUser());
       processMap.put("updatedUser", new updatedUser());
       processMap.put("deleteUser", new deleteUser());
       processMap.put("getUser", new getUser());
@@ -2241,12 +2393,14 @@ public class GovRegistryService {
       processMap.put("addUsersToGroup", new addUsersToGroup());
       processMap.put("removeUsersFromGroup", new removeUsersFromGroup());
       processMap.put("getGroupMembers", new getGroupMembers());
+      processMap.put("addChildGroupToParentGroup", new 
addChildGroupToParentGroup());
+      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("getEntityTypes", new getEntityTypes());
-      processMap.put("registerEntity", new registerEntity());
+      processMap.put("createEntity", new createEntity());
       processMap.put("updateEntity", new updateEntity());
       processMap.put("deleteEntity", new deleteEntity());
       processMap.put("getEntity", new getEntity());
@@ -2276,7 +2430,6 @@ public class GovRegistryService {
         createDomain_result result = new createDomain_result();
         try {
           result.success = iface.createDomain(args.domain);
-          result.setSuccessIsSet(true);
         } catch 
(org.apache.airavata.sharing.registry.models.GovRegistryException gre) {
           result.gre = gre;
         }
@@ -2373,29 +2526,32 @@ public class GovRegistryService {
 
       public getDomains_result getResult(I iface, getDomains_args args) throws 
org.apache.thrift.TException {
         getDomains_result result = new getDomains_result();
-        result.success = iface.getDomains(args.offset, args.limit);
+        try {
+          result.success = iface.getDomains(args.offset, args.limit);
+        } catch 
(org.apache.airavata.sharing.registry.models.GovRegistryException gre) {
+          result.gre = gre;
+        }
         return result;
       }
     }
 
-    public static class registerUser<I extends Iface> extends 
org.apache.thrift.ProcessFunction<I, registerUser_args> {
-      public registerUser() {
-        super("registerUser");
+    public static class createUser<I extends Iface> extends 
org.apache.thrift.ProcessFunction<I, createUser_args> {
+      public createUser() {
+        super("createUser");
       }
 
-      public registerUser_args getEmptyArgsInstance() {
-        return new registerUser_args();
+      public createUser_args getEmptyArgsInstance() {
+        return new createUser_args();
       }
 
       protected boolean isOneway() {
         return false;
       }
 
-      public registerUser_result getResult(I iface, registerUser_args args) 
throws org.apache.thrift.TException {
-        registerUser_result result = new registerUser_result();
+      public createUser_result getResult(I iface, createUser_args args) throws 
org.apache.thrift.TException {
+        createUser_result result = new createUser_result();
         try {
-          result.success = iface.registerUser(args.user);
-          result.setSuccessIsSet(true);
+          result.success = iface.createUser(args.user);
         } catch 
(org.apache.airavata.sharing.registry.models.GovRegistryException gre) {
           result.gre = gre;
         }
@@ -2492,7 +2648,11 @@ public class GovRegistryService {
 
       public getUsers_result getResult(I iface, getUsers_args args) throws 
org.apache.thrift.TException {
         getUsers_result result = new getUsers_result();
-        result.success = iface.getUsers(args.domain, args.offset, args.limit);
+        try {
+          result.success = iface.getUsers(args.domain, args.offset, 
args.limit);
+        } catch 
(org.apache.airavata.sharing.registry.models.GovRegistryException gre) {
+          result.gre = gre;
+        }
         return result;
       }
     }
@@ -2514,7 +2674,6 @@ public class GovRegistryService {
         createGroup_result result = new createGroup_result();
         try {
           result.success = iface.createGroup(args.group);
-          result.setSuccessIsSet(true);
         } catch 
(org.apache.airavata.sharing.registry.models.GovRegistryException gre) {
           result.gre = gre;
         }
@@ -2681,7 +2840,61 @@ public class GovRegistryService {
 
       public getGroupMembers_result getResult(I iface, getGroupMembers_args 
args) throws org.apache.thrift.TException {
         getGroupMembers_result result = new getGroupMembers_result();
-        result.success = iface.getGroupMembers(args.groupId);
+        try {
+          result.success = iface.getGroupMembers(args.groupId, args.offset, 
args.limit);
+        } catch 
(org.apache.airavata.sharing.registry.models.GovRegistryException gre) {
+          result.gre = gre;
+        }
+        return result;
+      }
+    }
+
+    public static class addChildGroupToParentGroup<I extends Iface> extends 
org.apache.thrift.ProcessFunction<I, addChildGroupToParentGroup_args> {
+      public addChildGroupToParentGroup() {
+        super("addChildGroupToParentGroup");
+      }
+
+      public addChildGroupToParentGroup_args getEmptyArgsInstance() {
+        return new addChildGroupToParentGroup_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public addChildGroupToParentGroup_result getResult(I iface, 
addChildGroupToParentGroup_args args) throws org.apache.thrift.TException {
+        addChildGroupToParentGroup_result result = new 
addChildGroupToParentGroup_result();
+        try {
+          result.success = iface.addChildGroupToParentGroup(args.childId, 
args.groupId);
+          result.setSuccessIsSet(true);
+        } catch 
(org.apache.airavata.sharing.registry.models.GovRegistryException gre) {
+          result.gre = gre;
+        }
+        return result;
+      }
+    }
+
+    public static class removeChildGroupFromParentGroup<I extends Iface> 
extends org.apache.thrift.ProcessFunction<I, 
removeChildGroupFromParentGroup_args> {
+      public removeChildGroupFromParentGroup() {
+        super("removeChildGroupFromParentGroup");
+      }
+
+      public removeChildGroupFromParentGroup_args getEmptyArgsInstance() {
+        return new removeChildGroupFromParentGroup_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public removeChildGroupFromParentGroup_result getResult(I iface, 
removeChildGroupFromParentGroup_args args) throws org.apache.thrift.TException {
+        removeChildGroupFromParentGroup_result result = new 
removeChildGroupFromParentGroup_result();
+        try {
+          result.success = iface.removeChildGroupFromParentGroup(args.childId, 
args.groupId);
+          result.setSuccessIsSet(true);
+        } catch 
(org.apache.airavata.sharing.registry.models.GovRegistryException gre) {
+          result.gre = gre;
+        }
         return result;
       }
     }
@@ -2703,7 +2916,6 @@ public class GovRegistryService {
         createEntityType_result result = new createEntityType_result();
         try {
           result.success = iface.createEntityType(args.entityType);
-          result.setSuccessIsSet(true);
         } catch 
(org.apache.airavata.sharing.registry.models.GovRegistryException gre) {
           result.gre = gre;
         }
@@ -2800,29 +3012,32 @@ public class GovRegistryService {
 
       public getEntityTypes_result getResult(I iface, getEntityTypes_args 
args) throws org.apache.thrift.TException {
         getEntityTypes_result result = new getEntityTypes_result();
-        result.success = iface.getEntityTypes(args.domain, args.offset, 
args.limit);
+        try {
+          result.success = iface.getEntityTypes(args.domain, args.offset, 
args.limit);
+        } catch 
(org.apache.airavata.sharing.registry.models.GovRegistryException gre) {
+          result.gre = gre;
+        }
         return result;
       }
     }
 
-    public static class registerEntity<I extends Iface> extends 
org.apache.thrift.ProcessFunction<I, registerEntity_args> {
-      public registerEntity() {
-        super("registerEntity");
+    public static class createEntity<I extends Iface> extends 
org.apache.thrift.ProcessFunction<I, createEntity_args> {
+      public createEntity() {
+        super("createEntity");
       }
 
-      public registerEntity_args getEmptyArgsInstance() {
-        return new registerEntity_args();
+      public createEntity_args getEmptyArgsInstance() {
+        return new createEntity_args();
       }
 
       protected boolean isOneway() {
         return false;
       }
 
-      public registerEntity_result getResult(I iface, registerEntity_args 
args) throws org.apache.thrift.TException {
-        registerEntity_result result = new registerEntity_result();
+      public createEntity_result getResult(I iface, createEntity_args args) 
throws org.apache.thrift.TException {
+        createEntity_result result = new createEntity_result();
         try {
-          result.success = iface.registerEntity(args.entity);
-          result.setSuccessIsSet(true);
+          result.success = iface.createEntity(args.entity);
         } catch 
(org.apache.airavata.sharing.registry.models.GovRegistryException gre) {
           result.gre = gre;
         }
@@ -2944,8 +3159,7 @@ public class GovRegistryService {
       public createPermissionType_result getResult(I iface, 
createPermissionType_args args) throws org.apache.thrift.TException {
         createPermissionType_result result = new createPermissionType_result();
         try {
-          result.success = iface.createPermissionType(args.permisionType);
-          result.setSuccessIsSet(true);
+          result.success = iface.createPermissionType(args.permissionType);
         } catch 
(org.apache.airavata.sharing.registry.models.GovRegistryException gre) {
           result.gre = gre;
         }
@@ -2969,7 +3183,7 @@ public class GovRegistryService {
       public updatePermissionType_result getResult(I iface, 
updatePermissionType_args args) throws org.apache.thrift.TException {
         updatePermissionType_result result = new updatePermissionType_result();
         try {
-          result.success = iface.updatePermissionType(args.permisionType);
+          result.success = iface.updatePermissionType(args.permissionType);
           result.setSuccessIsSet(true);
         } catch 
(org.apache.airavata.sharing.registry.models.GovRegistryException gre) {
           result.gre = gre;
@@ -3019,7 +3233,7 @@ public class GovRegistryService {
       public getPermissionType_result getResult(I iface, 
getPermissionType_args args) throws org.apache.thrift.TException {
         getPermissionType_result result = new getPermissionType_result();
         try {
-          result.success = iface.getPermissionType(args.permisionTypeId);
+          result.success = iface.getPermissionType(args.permissionTypeId);
         } catch 
(org.apache.airavata.sharing.registry.models.GovRegistryException gre) {
           result.gre = gre;
         }
@@ -3069,7 +3283,7 @@ public class GovRegistryService {
       processMap.put("deleteDomain", new deleteDomain());
       processMap.put("getDomain", new getDomain());
       processMap.put("getDomains", new getDomains());
-      processMap.put("registerUser", new registerUser());
+      processMap.put("createUser", new createUser());
       processMap.put("updatedUser", new updatedUser());
       processMap.put("deleteUser", new deleteUser());
       processMap.put("getUser", new getUser());
@@ -3082,12 +3296,14 @@ public class GovRegistryService {
       processMap.put("addUsersToGroup", new addUsersToGroup());
       processMap.put("removeUsersFromGroup", new removeUsersFromGroup());
       processMap.put("getGroupMembers", new getGroupMembers());
+      processMap.put("addChildGroupToParentGroup", new 
addChildGroupToParentGroup());
+      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("getEntityTypes", new getEntityTypes());
-      processMap.put("registerEntity", new registerEntity());
+      processMap.put("createEntity", new createEntity());
       processMap.put("updateEntity", new updateEntity());
       processMap.put("deleteEntity", new deleteEntity());
       processMap.put("getEntity", new getEntity());
@@ -3100,7 +3316,7 @@ public class GovRegistryService {
       return processMap;
     }
 
-    public static class createDomain<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, createDomain_args, Boolean> {
+    public static class createDomain<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, createDomain_args, String> {
       public createDomain() {
         super("createDomain");
       }
@@ -3109,13 +3325,12 @@ public class GovRegistryService {
         return new createDomain_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<String> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
+        return new AsyncMethodCallback<String>() { 
+          public void onComplete(String o) {
             createDomain_result result = new createDomain_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -3153,7 +3368,7 @@ public class GovRegistryService {
         return false;
       }
 
-      public void start(I iface, createDomain_args args, 
org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws 
TException {
+      public void start(I iface, createDomain_args args, 
org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws 
TException {
         iface.createDomain(args.domain,resultHandler);
       }
     }
@@ -3358,6 +3573,12 @@ public class GovRegistryService {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
             getDomains_result result = new getDomains_result();
+            if (e instanceof 
org.apache.airavata.sharing.registry.models.GovRegistryException) {
+                        result.gre = 
(org.apache.airavata.sharing.registry.models.GovRegistryException) e;
+                        result.setGreIsSet(true);
+                        msg = result;
+            }
+             else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
               msg = (org.apache.thrift.TBase)new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR,
 e.getMessage());
@@ -3382,22 +3603,21 @@ public class GovRegistryService {
       }
     }
 
-    public static class registerUser<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, registerUser_args, Boolean> {
-      public registerUser() {
-        super("registerUser");
+    public static class createUser<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, createUser_args, String> {
+      public createUser() {
+        super("createUser");
       }
 
-      public registerUser_args getEmptyArgsInstance() {
-        return new registerUser_args();
+      public createUser_args getEmptyArgsInstance() {
+        return new createUser_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<String> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            registerUser_result result = new registerUser_result();
+        return new AsyncMethodCallback<String>() { 
+          public void onComplete(String o) {
+            createUser_result result = new createUser_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -3409,7 +3629,7 @@ public class GovRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            registerUser_result result = new registerUser_result();
+            createUser_result result = new createUser_result();
             if (e instanceof 
org.apache.airavata.sharing.registry.models.GovRegistryException) {
                         result.gre = 
(org.apache.airavata.sharing.registry.models.GovRegistryException) e;
                         result.setGreIsSet(true);
@@ -3435,8 +3655,8 @@ public class GovRegistryService {
         return false;
       }
 
-      public void start(I iface, registerUser_args args, 
org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws 
TException {
-        iface.registerUser(args.user,resultHandler);
+      public void start(I iface, createUser_args args, 
org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws 
TException {
+        iface.createUser(args.user,resultHandler);
       }
     }
 
@@ -3640,6 +3860,12 @@ public class GovRegistryService {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
             getUsers_result result = new getUsers_result();
+            if (e instanceof 
org.apache.airavata.sharing.registry.models.GovRegistryException) {
+                        result.gre = 
(org.apache.airavata.sharing.registry.models.GovRegistryException) e;
+                        result.setGreIsSet(true);
+                        msg = result;
+            }
+             else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
               msg = (org.apache.thrift.TBase)new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR,
 e.getMessage());
@@ -3664,7 +3890,7 @@ public class GovRegistryService {
       }
     }
 
-    public static class createGroup<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, createGroup_args, Boolean> {
+    public static class createGroup<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, createGroup_args, String> {
       public createGroup() {
         super("createGroup");
       }
@@ -3673,13 +3899,12 @@ public class GovRegistryService {
         return new createGroup_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<String> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
+        return new AsyncMethodCallback<String>() { 
+          public void onComplete(String o) {
             createGroup_result result = new createGroup_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -3717,7 +3942,7 @@ public class GovRegistryService {
         return false;
       }
 
-      public void start(I iface, createGroup_args args, 
org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws 
TException {
+      public void start(I iface, createGroup_args args, 
org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws 
TException {
         iface.createGroup(args.group,resultHandler);
       }
     }
@@ -4062,7 +4287,7 @@ public class GovRegistryService {
       }
     }
 
-    public static class getGroupMembers<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, getGroupMembers_args, 
Map<String,org.apache.airavata.sharing.registry.models.GroupType>> {
+    public static class getGroupMembers<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, getGroupMembers_args, 
Map<String,org.apache.airavata.sharing.registry.models.GroupChildType>> {
       public getGroupMembers() {
         super("getGroupMembers");
       }
@@ -4071,10 +4296,10 @@ public class GovRegistryService {
         return new getGroupMembers_args();
       }
 
-      public 
AsyncMethodCallback<Map<String,org.apache.airavata.sharing.registry.models.GroupType>>
 getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public 
AsyncMethodCallback<Map<String,org.apache.airavata.sharing.registry.models.GroupChildType>>
 getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new 
AsyncMethodCallback<Map<String,org.apache.airavata.sharing.registry.models.GroupType>>()
 { 
-          public void 
onComplete(Map<String,org.apache.airavata.sharing.registry.models.GroupType> o) 
{
+        return new 
AsyncMethodCallback<Map<String,org.apache.airavata.sharing.registry.models.GroupChildType>>()
 { 
+          public void 
onComplete(Map<String,org.apache.airavata.sharing.registry.models.GroupChildType>
 o) {
             getGroupMembers_result result = new getGroupMembers_result();
             result.success = o;
             try {
@@ -4089,58 +4314,6 @@ public class GovRegistryService {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
             getGroupMembers_result result = new getGroupMembers_result();
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR,
 e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, getGroupMembers_args args, 
org.apache.thrift.async.AsyncMethodCallback<Map<String,org.apache.airavata.sharing.registry.models.GroupType>>
 resultHandler) throws TException {
-        iface.getGroupMembers(args.groupId,resultHandler);
-      }
-    }
-
-    public static class createEntityType<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, createEntityType_args, Boolean> {
-      public createEntityType() {
-        super("createEntityType");
-      }
-
-      public createEntityType_args getEmptyArgsInstance() {
-        return new createEntityType_args();
-      }
-
-      public AsyncMethodCallback<Boolean> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            createEntityType_result result = new createEntityType_result();
-            result.success = o;
-            result.setSuccessIsSet(true);
-            try {
-              fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            createEntityType_result result = new createEntityType_result();
             if (e instanceof 
org.apache.airavata.sharing.registry.models.GovRegistryException) {
                         result.gre = 
(org.apache.airavata.sharing.registry.models.GovRegistryException) e;
                         result.setGreIsSet(true);
@@ -4166,25 +4339,25 @@ public class GovRegistryService {
         return false;
       }
 
-      public void start(I iface, createEntityType_args args, 
org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws 
TException {
-        iface.createEntityType(args.entityType,resultHandler);
+      public void start(I iface, getGroupMembers_args args, 
org.apache.thrift.async.AsyncMethodCallback<Map<String,org.apache.airavata.sharing.registry.models.GroupChildType>>
 resultHandler) throws TException {
+        iface.getGroupMembers(args.groupId, args.offset, 
args.limit,resultHandler);
       }
     }
 
-    public static class updateEntityType<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, updateEntityType_args, Boolean> {
-      public updateEntityType() {
-        super("updateEntityType");
+    public static class addChildGroupToParentGroup<I extends AsyncIface> 
extends org.apache.thrift.AsyncProcessFunction<I, 
addChildGroupToParentGroup_args, Boolean> {
+      public addChildGroupToParentGroup() {
+        super("addChildGroupToParentGroup");
       }
 
-      public updateEntityType_args getEmptyArgsInstance() {
-        return new updateEntityType_args();
+      public addChildGroupToParentGroup_args getEmptyArgsInstance() {
+        return new addChildGroupToParentGroup_args();
       }
 
       public AsyncMethodCallback<Boolean> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new AsyncMethodCallback<Boolean>() { 
           public void onComplete(Boolean o) {
-            updateEntityType_result result = new updateEntityType_result();
+            addChildGroupToParentGroup_result result = new 
addChildGroupToParentGroup_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -4198,7 +4371,7 @@ public class GovRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            updateEntityType_result result = new updateEntityType_result();
+            addChildGroupToParentGroup_result result = new 
addChildGroupToParentGroup_result();
             if (e instanceof 
org.apache.airavata.sharing.registry.models.GovRegistryException) {
                         result.gre = 
(org.apache.airavata.sharing.registry.models.GovRegistryException) e;
                         result.setGreIsSet(true);
@@ -4224,25 +4397,25 @@ public class GovRegistryService {
         return false;
       }
 
-      public void start(I iface, updateEntityType_args args, 
org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws 
TException {
-        iface.updateEntityType(args.entityType,resultHandler);
+      public void start(I iface, addChildGroupToParentGroup_args args, 
org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws 
TException {
+        iface.addChildGroupToParentGroup(args.childId, 
args.groupId,resultHandler);
       }
     }
 
-    public static class deleteEntityT

<TRUNCATED>

Reply via email to