http://git-wip-us.apache.org/repos/asf/airavata/blob/9101a519/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
new file mode 100644
index 0000000..b9840f6
--- /dev/null
+++ 
b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java
@@ -0,0 +1,45160 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.airavata.sharing.registry.service.cpi;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
+public class SharingRegistryService {
+
+  public interface Iface {
+
+    /**
+     *  * Domain Operations
+     * *
+     * 
+     * @param domain
+     */
+    public String 
createDomain(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 domain) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+
+    public boolean deleteDomain(String domainId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+
+    public org.apache.airavata.sharing.registry.models.Domain getDomain(String 
domainId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
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.SharingRegistryException, 
org.apache.thrift.TException;
+
+    /**
+     *  * User Operations
+     * *
+     * 
+     * @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 boolean 
updatedUser(org.apache.airavata.sharing.registry.models.User user) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+
+    public boolean deleteUser(String userId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+
+    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;
+
+    /**
+     *  * Group Operations
+     * *
+     * 
+     * @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;
+
+    public boolean 
updateGroup(org.apache.airavata.sharing.registry.models.UserGroup group) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+
+    public boolean deleteGroup(String groupId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+
+    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;
+
+    public boolean addUsersToGroup(List<String> userIds, String groupId) 
throws org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+
+    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;
+
+    public boolean addChildGroupToParentGroup(String childId, String groupId) 
throws org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+
+    public boolean removeChildGroupFromParentGroup(String childId, String 
groupId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+
+    /**
+     *  * EntityType Operations
+     * *
+     * 
+     * @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;
+
+    public boolean 
updateEntityType(org.apache.airavata.sharing.registry.models.EntityType 
entityType) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+
+    public boolean deleteEntityType(String entityTypeId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+
+    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;
+
+    /**
+     *  * Entity Operations
+     * *
+     * 
+     * @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 boolean 
updateEntity(org.apache.airavata.sharing.registry.models.Entity entity) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+
+    public boolean deleteEntity(String entityId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+
+    public org.apache.airavata.sharing.registry.models.Entity getEntity(String 
entityId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+
+    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;
+
+    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;
+
+    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
+     * *
+     * 
+     * @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;
+
+    public boolean 
updatePermissionType(org.apache.airavata.sharing.registry.models.PermissionType 
permissionType) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+
+    public boolean deletePermissionType(String entityTypeId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+
+    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;
+
+    /**
+     *  * Sharing Entity with Users and Groups
+     * *
+     * 
+     * @param entityId
+     * @param userList
+     * @param perssionTypeId
+     * @param cascadePermission
+     */
+    public boolean shareEntityWithUsers(String entityId, List<String> 
userList, String perssionTypeId, boolean cascadePermission) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+
+    public boolean revokeEntitySharingFromUsers(String entityId, List<String> 
userList, String perssionTypeId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+
+    public boolean shareEntityWithGroups(String entityId, List<String> 
groupList, String perssionTypeId, boolean cascadePermission) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+
+    public boolean revokeEntitySharingFromGroups(String entityId, List<String> 
groupList, String perssionTypeId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException;
+
+    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 
updateDomain(org.apache.airavata.sharing.registry.models.Domain domain, 
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;
+
+    public void getDomain(String domainId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
+    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 updatedUser(org.apache.airavata.sharing.registry.models.User 
user, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
+    public void deleteUser(String userId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
+    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 
createGroup(org.apache.airavata.sharing.registry.models.UserGroup group, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
+    public void 
updateGroup(org.apache.airavata.sharing.registry.models.UserGroup group, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
+    public void deleteGroup(String groupId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
+    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 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 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;
+
+    public void 
updateEntityType(org.apache.airavata.sharing.registry.models.EntityType 
entityType, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
+    public void deleteEntityType(String entityTypeId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
+    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 
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;
+
+    public void deleteEntity(String entityId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
+    public void getEntity(String entityId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
+    public void searchEntities(String userId, String entityTypeId, 
List<org.apache.airavata.sharing.registry.models.SearchCriteria> filters, int 
offset, int limit, org.apache.thrift.async.AsyncMethodCallback resultHandler) 
throws org.apache.thrift.TException;
+
+    public void getListOfSharedUsers(String entityId, String permissionTypeId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
+    public void getListOfSharedGroups(String entityId, String 
permissionTypeId, 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 
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 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 shareEntityWithUsers(String entityId, List<String> userList, 
String perssionTypeId, boolean cascadePermission, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
+    public void revokeEntitySharingFromUsers(String entityId, List<String> 
userList, String perssionTypeId, org.apache.thrift.async.AsyncMethodCallback 
resultHandler) throws org.apache.thrift.TException;
+
+    public void shareEntityWithGroups(String entityId, List<String> groupList, 
String perssionTypeId, boolean cascadePermission, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
+    public void revokeEntitySharingFromGroups(String entityId, List<String> 
groupList, String perssionTypeId, org.apache.thrift.async.AsyncMethodCallback 
resultHandler) throws org.apache.thrift.TException;
+
+    public void userHasAccess(String domainId, String userId, String entityId, 
String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback 
resultHandler) throws org.apache.thrift.TException;
+
+  }
+
+  public static class Client extends org.apache.thrift.TServiceClient 
implements Iface {
+    public static class Factory implements 
org.apache.thrift.TServiceClientFactory<Client> {
+      public Factory() {}
+      public Client getClient(org.apache.thrift.protocol.TProtocol prot) {
+        return new Client(prot);
+      }
+      public Client getClient(org.apache.thrift.protocol.TProtocol iprot, 
org.apache.thrift.protocol.TProtocol oprot) {
+        return new Client(iprot, oprot);
+      }
+    }
+
+    public Client(org.apache.thrift.protocol.TProtocol prot)
+    {
+      super(prot, prot);
+    }
+
+    public Client(org.apache.thrift.protocol.TProtocol iprot, 
org.apache.thrift.protocol.TProtocol oprot) {
+      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
+    {
+      send_createDomain(domain);
+      return recv_createDomain();
+    }
+
+    public void 
send_createDomain(org.apache.airavata.sharing.registry.models.Domain domain) 
throws org.apache.thrift.TException
+    {
+      createDomain_args args = new createDomain_args();
+      args.setDomain(domain);
+      sendBase("createDomain", args);
+    }
+
+    public String recv_createDomain() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      createDomain_result result = new createDomain_result();
+      receiveBase(result, "createDomain");
+      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,
 "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
+    {
+      send_updateDomain(domain);
+      return recv_updateDomain();
+    }
+
+    public void 
send_updateDomain(org.apache.airavata.sharing.registry.models.Domain domain) 
throws org.apache.thrift.TException
+    {
+      updateDomain_args args = new updateDomain_args();
+      args.setDomain(domain);
+      sendBase("updateDomain", args);
+    }
+
+    public boolean recv_updateDomain() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      updateDomain_result result = new updateDomain_result();
+      receiveBase(result, "updateDomain");
+      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,
 "updateDomain failed: unknown result");
+    }
+
+    public boolean deleteDomain(String domainId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      send_deleteDomain(domainId);
+      return recv_deleteDomain();
+    }
+
+    public void send_deleteDomain(String domainId) throws 
org.apache.thrift.TException
+    {
+      deleteDomain_args args = new deleteDomain_args();
+      args.setDomainId(domainId);
+      sendBase("deleteDomain", args);
+    }
+
+    public boolean recv_deleteDomain() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      deleteDomain_result result = new deleteDomain_result();
+      receiveBase(result, "deleteDomain");
+      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,
 "deleteDomain failed: unknown result");
+    }
+
+    public org.apache.airavata.sharing.registry.models.Domain getDomain(String 
domainId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      send_getDomain(domainId);
+      return recv_getDomain();
+    }
+
+    public void send_getDomain(String domainId) throws 
org.apache.thrift.TException
+    {
+      getDomain_args args = new getDomain_args();
+      args.setDomainId(domainId);
+      sendBase("getDomain", args);
+    }
+
+    public org.apache.airavata.sharing.registry.models.Domain recv_getDomain() 
throws org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      getDomain_result result = new getDomain_result();
+      receiveBase(result, "getDomain");
+      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,
 "getDomain failed: unknown result");
+    }
+
+    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
+    {
+      send_getDomains(offset, limit);
+      return recv_getDomains();
+    }
+
+    public void send_getDomains(int offset, int limit) throws 
org.apache.thrift.TException
+    {
+      getDomains_args args = new getDomains_args();
+      args.setOffset(offset);
+      args.setLimit(limit);
+      sendBase("getDomains", args);
+    }
+
+    public List<org.apache.airavata.sharing.registry.models.Domain> 
recv_getDomains() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
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 String createUser(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();
+    }
+
+    public void 
send_createUser(org.apache.airavata.sharing.registry.models.User user) throws 
org.apache.thrift.TException
+    {
+      createUser_args args = new createUser_args();
+      args.setUser(user);
+      sendBase("createUser", args);
+    }
+
+    public String recv_createUser() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      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,
 "createUser 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
+    {
+      send_updatedUser(user);
+      return recv_updatedUser();
+    }
+
+    public void 
send_updatedUser(org.apache.airavata.sharing.registry.models.User user) throws 
org.apache.thrift.TException
+    {
+      updatedUser_args args = new updatedUser_args();
+      args.setUser(user);
+      sendBase("updatedUser", args);
+    }
+
+    public boolean recv_updatedUser() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      updatedUser_result result = new updatedUser_result();
+      receiveBase(result, "updatedUser");
+      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,
 "updatedUser failed: unknown result");
+    }
+
+    public boolean deleteUser(String userId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      send_deleteUser(userId);
+      return recv_deleteUser();
+    }
+
+    public void send_deleteUser(String userId) throws 
org.apache.thrift.TException
+    {
+      deleteUser_args args = new deleteUser_args();
+      args.setUserId(userId);
+      sendBase("deleteUser", args);
+    }
+
+    public boolean recv_deleteUser() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      deleteUser_result result = new deleteUser_result();
+      receiveBase(result, "deleteUser");
+      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,
 "deleteUser failed: unknown result");
+    }
+
+    public org.apache.airavata.sharing.registry.models.User getUser(String 
userId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      send_getUser(userId);
+      return recv_getUser();
+    }
+
+    public void send_getUser(String userId) throws org.apache.thrift.TException
+    {
+      getUser_args args = new getUser_args();
+      args.setUserId(userId);
+      sendBase("getUser", args);
+    }
+
+    public org.apache.airavata.sharing.registry.models.User recv_getUser() 
throws org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      getUser_result result = new getUser_result();
+      receiveBase(result, "getUser");
+      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,
 "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
+    {
+      send_getUsers(domain, offset, limit);
+      return recv_getUsers();
+    }
+
+    public void send_getUsers(String domain, int offset, int limit) throws 
org.apache.thrift.TException
+    {
+      getUsers_args args = new getUsers_args();
+      args.setDomain(domain);
+      args.setOffset(offset);
+      args.setLimit(limit);
+      sendBase("getUsers", args);
+    }
+
+    public List<org.apache.airavata.sharing.registry.models.User> 
recv_getUsers() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
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 String 
createGroup(org.apache.airavata.sharing.registry.models.UserGroup group) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      send_createGroup(group);
+      return recv_createGroup();
+    }
+
+    public void 
send_createGroup(org.apache.airavata.sharing.registry.models.UserGroup group) 
throws org.apache.thrift.TException
+    {
+      createGroup_args args = new createGroup_args();
+      args.setGroup(group);
+      sendBase("createGroup", args);
+    }
+
+    public String recv_createGroup() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      createGroup_result result = new createGroup_result();
+      receiveBase(result, "createGroup");
+      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,
 "createGroup failed: unknown result");
+    }
+
+    public boolean 
updateGroup(org.apache.airavata.sharing.registry.models.UserGroup group) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      send_updateGroup(group);
+      return recv_updateGroup();
+    }
+
+    public void 
send_updateGroup(org.apache.airavata.sharing.registry.models.UserGroup group) 
throws org.apache.thrift.TException
+    {
+      updateGroup_args args = new updateGroup_args();
+      args.setGroup(group);
+      sendBase("updateGroup", args);
+    }
+
+    public boolean recv_updateGroup() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      updateGroup_result result = new updateGroup_result();
+      receiveBase(result, "updateGroup");
+      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,
 "updateGroup failed: unknown result");
+    }
+
+    public boolean deleteGroup(String groupId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      send_deleteGroup(groupId);
+      return recv_deleteGroup();
+    }
+
+    public void send_deleteGroup(String groupId) throws 
org.apache.thrift.TException
+    {
+      deleteGroup_args args = new deleteGroup_args();
+      args.setGroupId(groupId);
+      sendBase("deleteGroup", args);
+    }
+
+    public boolean recv_deleteGroup() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      deleteGroup_result result = new deleteGroup_result();
+      receiveBase(result, "deleteGroup");
+      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,
 "deleteGroup failed: unknown result");
+    }
+
+    public org.apache.airavata.sharing.registry.models.UserGroup 
getGroup(String groupId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      send_getGroup(groupId);
+      return recv_getGroup();
+    }
+
+    public void send_getGroup(String groupId) throws 
org.apache.thrift.TException
+    {
+      getGroup_args args = new getGroup_args();
+      args.setGroupId(groupId);
+      sendBase("getGroup", args);
+    }
+
+    public org.apache.airavata.sharing.registry.models.UserGroup 
recv_getGroup() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      getGroup_result result = new getGroup_result();
+      receiveBase(result, "getGroup");
+      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,
 "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
+    {
+      send_getGroups(domain, offset, limit);
+      return recv_getGroups();
+    }
+
+    public void send_getGroups(String domain, int offset, int limit) throws 
org.apache.thrift.TException
+    {
+      getGroups_args args = new getGroups_args();
+      args.setDomain(domain);
+      args.setOffset(offset);
+      args.setLimit(limit);
+      sendBase("getGroups", args);
+    }
+
+    public List<org.apache.airavata.sharing.registry.models.UserGroup> 
recv_getGroups() throws org.apache.thrift.TException
+    {
+      getGroups_result result = new getGroups_result();
+      receiveBase(result, "getGroups");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "getGroups failed: unknown result");
+    }
+
+    public boolean addUsersToGroup(List<String> userIds, String groupId) 
throws org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      send_addUsersToGroup(userIds, groupId);
+      return recv_addUsersToGroup();
+    }
+
+    public void send_addUsersToGroup(List<String> userIds, String groupId) 
throws org.apache.thrift.TException
+    {
+      addUsersToGroup_args args = new addUsersToGroup_args();
+      args.setUserIds(userIds);
+      args.setGroupId(groupId);
+      sendBase("addUsersToGroup", args);
+    }
+
+    public boolean recv_addUsersToGroup() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      addUsersToGroup_result result = new addUsersToGroup_result();
+      receiveBase(result, "addUsersToGroup");
+      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,
 "addUsersToGroup failed: unknown result");
+    }
+
+    public boolean removeUsersFromGroup(List<String> userIds, String groupId) 
throws org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      send_removeUsersFromGroup(userIds, groupId);
+      return recv_removeUsersFromGroup();
+    }
+
+    public void send_removeUsersFromGroup(List<String> userIds, String 
groupId) throws org.apache.thrift.TException
+    {
+      removeUsersFromGroup_args args = new removeUsersFromGroup_args();
+      args.setUserIds(userIds);
+      args.setGroupId(groupId);
+      sendBase("removeUsersFromGroup", args);
+    }
+
+    public boolean recv_removeUsersFromGroup() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      removeUsersFromGroup_result result = new removeUsersFromGroup_result();
+      receiveBase(result, "removeUsersFromGroup");
+      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,
 "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
+    {
+      send_getGroupMembers(groupId, offset, limit);
+      return recv_getGroupMembers();
+    }
+
+    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.GroupChildType> 
recv_getGroupMembers() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
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 addChildGroupToParentGroup(String childId, String groupId) 
throws org.apache.airavata.sharing.registry.models.SharingRegistryException, 
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.SharingRegistryException, 
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.SharingRegistryException, 
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.SharingRegistryException, 
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.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      send_createEntityType(entityType);
+      return recv_createEntityType();
+    }
+
+    public void 
send_createEntityType(org.apache.airavata.sharing.registry.models.EntityType 
entityType) throws org.apache.thrift.TException
+    {
+      createEntityType_args args = new createEntityType_args();
+      args.setEntityType(entityType);
+      sendBase("createEntityType", args);
+    }
+
+    public String recv_createEntityType() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      createEntityType_result result = new createEntityType_result();
+      receiveBase(result, "createEntityType");
+      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,
 "createEntityType failed: unknown result");
+    }
+
+    public boolean 
updateEntityType(org.apache.airavata.sharing.registry.models.EntityType 
entityType) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      send_updateEntityType(entityType);
+      return recv_updateEntityType();
+    }
+
+    public void 
send_updateEntityType(org.apache.airavata.sharing.registry.models.EntityType 
entityType) throws org.apache.thrift.TException
+    {
+      updateEntityType_args args = new updateEntityType_args();
+      args.setEntityType(entityType);
+      sendBase("updateEntityType", args);
+    }
+
+    public boolean recv_updateEntityType() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      updateEntityType_result result = new updateEntityType_result();
+      receiveBase(result, "updateEntityType");
+      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,
 "updateEntityType failed: unknown result");
+    }
+
+    public boolean deleteEntityType(String entityTypeId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      send_deleteEntityType(entityTypeId);
+      return recv_deleteEntityType();
+    }
+
+    public void send_deleteEntityType(String entityTypeId) throws 
org.apache.thrift.TException
+    {
+      deleteEntityType_args args = new deleteEntityType_args();
+      args.setEntityTypeId(entityTypeId);
+      sendBase("deleteEntityType", args);
+    }
+
+    public boolean recv_deleteEntityType() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      deleteEntityType_result result = new deleteEntityType_result();
+      receiveBase(result, "deleteEntityType");
+      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,
 "deleteEntityType failed: unknown result");
+    }
+
+    public org.apache.airavata.sharing.registry.models.EntityType 
getEntityType(String entityTypeId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      send_getEntityType(entityTypeId);
+      return recv_getEntityType();
+    }
+
+    public void send_getEntityType(String entityTypeId) throws 
org.apache.thrift.TException
+    {
+      getEntityType_args args = new getEntityType_args();
+      args.setEntityTypeId(entityTypeId);
+      sendBase("getEntityType", args);
+    }
+
+    public org.apache.airavata.sharing.registry.models.EntityType 
recv_getEntityType() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      getEntityType_result result = new getEntityType_result();
+      receiveBase(result, "getEntityType");
+      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,
 "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
+    {
+      send_getEntityTypes(domain, offset, limit);
+      return recv_getEntityTypes();
+    }
+
+    public void send_getEntityTypes(String domain, int offset, int limit) 
throws org.apache.thrift.TException
+    {
+      getEntityTypes_args args = new getEntityTypes_args();
+      args.setDomain(domain);
+      args.setOffset(offset);
+      args.setLimit(limit);
+      sendBase("getEntityTypes", args);
+    }
+
+    public List<org.apache.airavata.sharing.registry.models.EntityType> 
recv_getEntityTypes() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
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 String 
createEntity(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();
+    }
+
+    public void 
send_createEntity(org.apache.airavata.sharing.registry.models.Entity entity) 
throws org.apache.thrift.TException
+    {
+      createEntity_args args = new createEntity_args();
+      args.setEntity(entity);
+      sendBase("createEntity", args);
+    }
+
+    public String recv_createEntity() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      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,
 "createEntity 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
+    {
+      send_updateEntity(entity);
+      return recv_updateEntity();
+    }
+
+    public void 
send_updateEntity(org.apache.airavata.sharing.registry.models.Entity entity) 
throws org.apache.thrift.TException
+    {
+      updateEntity_args args = new updateEntity_args();
+      args.setEntity(entity);
+      sendBase("updateEntity", args);
+    }
+
+    public boolean recv_updateEntity() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      updateEntity_result result = new updateEntity_result();
+      receiveBase(result, "updateEntity");
+      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,
 "updateEntity failed: unknown result");
+    }
+
+    public boolean deleteEntity(String entityId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      send_deleteEntity(entityId);
+      return recv_deleteEntity();
+    }
+
+    public void send_deleteEntity(String entityId) throws 
org.apache.thrift.TException
+    {
+      deleteEntity_args args = new deleteEntity_args();
+      args.setEntityId(entityId);
+      sendBase("deleteEntity", args);
+    }
+
+    public boolean recv_deleteEntity() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      deleteEntity_result result = new deleteEntity_result();
+      receiveBase(result, "deleteEntity");
+      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,
 "deleteEntity failed: unknown result");
+    }
+
+    public org.apache.airavata.sharing.registry.models.Entity getEntity(String 
entityId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      send_getEntity(entityId);
+      return recv_getEntity();
+    }
+
+    public void send_getEntity(String entityId) throws 
org.apache.thrift.TException
+    {
+      getEntity_args args = new getEntity_args();
+      args.setEntityId(entityId);
+      sendBase("getEntity", args);
+    }
+
+    public org.apache.airavata.sharing.registry.models.Entity recv_getEntity() 
throws org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      getEntity_result result = new getEntity_result();
+      receiveBase(result, "getEntity");
+      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,
 "getEntity failed: unknown result");
+    }
+
+    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
+    {
+      send_searchEntities(userId, entityTypeId, filters, offset, limit);
+      return recv_searchEntities();
+    }
+
+    public void send_searchEntities(String userId, String entityTypeId, 
List<org.apache.airavata.sharing.registry.models.SearchCriteria> filters, int 
offset, int limit) throws org.apache.thrift.TException
+    {
+      searchEntities_args args = new searchEntities_args();
+      args.setUserId(userId);
+      args.setEntityTypeId(entityTypeId);
+      args.setFilters(filters);
+      args.setOffset(offset);
+      args.setLimit(limit);
+      sendBase("searchEntities", args);
+    }
+
+    public List<org.apache.airavata.sharing.registry.models.Entity> 
recv_searchEntities() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      searchEntities_result result = new searchEntities_result();
+      receiveBase(result, "searchEntities");
+      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,
 "searchEntities failed: unknown result");
+    }
+
+    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
+    {
+      send_getListOfSharedUsers(entityId, permissionTypeId);
+      return recv_getListOfSharedUsers();
+    }
+
+    public void send_getListOfSharedUsers(String entityId, String 
permissionTypeId) throws org.apache.thrift.TException
+    {
+      getListOfSharedUsers_args args = new getListOfSharedUsers_args();
+      args.setEntityId(entityId);
+      args.setPermissionTypeId(permissionTypeId);
+      sendBase("getListOfSharedUsers", args);
+    }
+
+    public List<org.apache.airavata.sharing.registry.models.User> 
recv_getListOfSharedUsers() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      getListOfSharedUsers_result result = new getListOfSharedUsers_result();
+      receiveBase(result, "getListOfSharedUsers");
+      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,
 "getListOfSharedUsers failed: unknown result");
+    }
+
+    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
+    {
+      send_getListOfSharedGroups(entityId, permissionTypeId);
+      return recv_getListOfSharedGroups();
+    }
+
+    public void send_getListOfSharedGroups(String entityId, String 
permissionTypeId) throws org.apache.thrift.TException
+    {
+      getListOfSharedGroups_args args = new getListOfSharedGroups_args();
+      args.setEntityId(entityId);
+      args.setPermissionTypeId(permissionTypeId);
+      sendBase("getListOfSharedGroups", args);
+    }
+
+    public List<org.apache.airavata.sharing.registry.models.UserGroup> 
recv_getListOfSharedGroups() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      getListOfSharedGroups_result result = new getListOfSharedGroups_result();
+      receiveBase(result, "getListOfSharedGroups");
+      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,
 "getListOfSharedGroups failed: unknown result");
+    }
+
+    public String 
createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType 
permissionType) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      send_createPermissionType(permissionType);
+      return recv_createPermissionType();
+    }
+
+    public void 
send_createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType
 permissionType) throws org.apache.thrift.TException
+    {
+      createPermissionType_args args = new createPermissionType_args();
+      args.setPermissionType(permissionType);
+      sendBase("createPermissionType", args);
+    }
+
+    public String recv_createPermissionType() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      createPermissionType_result result = new createPermissionType_result();
+      receiveBase(result, "createPermissionType");
+      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,
 "createPermissionType failed: unknown result");
+    }
+
+    public boolean 
updatePermissionType(org.apache.airavata.sharing.registry.models.PermissionType 
permissionType) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      send_updatePermissionType(permissionType);
+      return recv_updatePermissionType();
+    }
+
+    public void 
send_updatePermissionType(org.apache.airavata.sharing.registry.models.PermissionType
 permissionType) throws org.apache.thrift.TException
+    {
+      updatePermissionType_args args = new updatePermissionType_args();
+      args.setPermissionType(permissionType);
+      sendBase("updatePermissionType", args);
+    }
+
+    public boolean recv_updatePermissionType() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      updatePermissionType_result result = new updatePermissionType_result();
+      receiveBase(result, "updatePermissionType");
+      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,
 "updatePermissionType failed: unknown result");
+    }
+
+    public boolean deletePermissionType(String entityTypeId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      send_deletePermissionType(entityTypeId);
+      return recv_deletePermissionType();
+    }
+
+    public void send_deletePermissionType(String entityTypeId) throws 
org.apache.thrift.TException
+    {
+      deletePermissionType_args args = new deletePermissionType_args();
+      args.setEntityTypeId(entityTypeId);
+      sendBase("deletePermissionType", args);
+    }
+
+    public boolean recv_deletePermissionType() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      deletePermissionType_result result = new deletePermissionType_result();
+      receiveBase(result, "deletePermissionType");
+      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,
 "deletePermissionType failed: unknown result");
+    }
+
+    public org.apache.airavata.sharing.registry.models.PermissionType 
getPermissionType(String permissionTypeId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      send_getPermissionType(permissionTypeId);
+      return recv_getPermissionType();
+    }
+
+    public void send_getPermissionType(String permissionTypeId) throws 
org.apache.thrift.TException
+    {
+      getPermissionType_args args = new getPermissionType_args();
+      args.setPermissionTypeId(permissionTypeId);
+      sendBase("getPermissionType", args);
+    }
+
+    public org.apache.airavata.sharing.registry.models.PermissionType 
recv_getPermissionType() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      getPermissionType_result result = new getPermissionType_result();
+      receiveBase(result, "getPermissionType");
+      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,
 "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
+    {
+      send_getPermissionTypes(domain, offset, limit);
+      return recv_getPermissionTypes();
+    }
+
+    public void send_getPermissionTypes(String domain, int offset, int limit) 
throws org.apache.thrift.TException
+    {
+      getPermissionTypes_args args = new getPermissionTypes_args();
+      args.setDomain(domain);
+      args.setOffset(offset);
+      args.setLimit(limit);
+      sendBase("getPermissionTypes", args);
+    }
+
+    public List<org.apache.airavata.sharing.registry.models.PermissionType> 
recv_getPermissionTypes() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      getPermissionTypes_result result = new getPermissionTypes_result();
+      receiveBase(result, "getPermissionTypes");
+      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,
 "getPermissionTypes failed: unknown result");
+    }
+
+    public boolean shareEntityWithUsers(String entityId, List<String> 
userList, String perssionTypeId, boolean cascadePermission) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      send_shareEntityWithUsers(entityId, userList, perssionTypeId, 
cascadePermission);
+      return recv_shareEntityWithUsers();
+    }
+
+    public void send_shareEntityWithUsers(String entityId, List<String> 
userList, String perssionTypeId, boolean cascadePermission) throws 
org.apache.thrift.TException
+    {
+      shareEntityWithUsers_args args = new shareEntityWithUsers_args();
+      args.setEntityId(entityId);
+      args.setUserList(userList);
+      args.setPerssionTypeId(perssionTypeId);
+      args.setCascadePermission(cascadePermission);
+      sendBase("shareEntityWithUsers", args);
+    }
+
+    public boolean recv_shareEntityWithUsers() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      shareEntityWithUsers_result result = new shareEntityWithUsers_result();
+      receiveBase(result, "shareEntityWithUsers");
+      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,
 "shareEntityWithUsers failed: unknown result");
+    }
+
+    public boolean revokeEntitySharingFromUsers(String entityId, List<String> 
userList, String perssionTypeId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      send_revokeEntitySharingFromUsers(entityId, userList, perssionTypeId);
+      return recv_revokeEntitySharingFromUsers();
+    }
+
+    public void send_revokeEntitySharingFromUsers(String entityId, 
List<String> userList, String perssionTypeId) throws 
org.apache.thrift.TException
+    {
+      revokeEntitySharingFromUsers_args args = new 
revokeEntitySharingFromUsers_args();
+      args.setEntityId(entityId);
+      args.setUserList(userList);
+      args.setPerssionTypeId(perssionTypeId);
+      sendBase("revokeEntitySharingFromUsers", args);
+    }
+
+    public boolean recv_revokeEntitySharingFromUsers() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      revokeEntitySharingFromUsers_result result = new 
revokeEntitySharingFromUsers_result();
+      receiveBase(result, "revokeEntitySharingFromUsers");
+      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,
 "revokeEntitySharingFromUsers failed: unknown result");
+    }
+
+    public boolean shareEntityWithGroups(String entityId, List<String> 
groupList, String perssionTypeId, boolean cascadePermission) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      send_shareEntityWithGroups(entityId, groupList, perssionTypeId, 
cascadePermission);
+      return recv_shareEntityWithGroups();
+    }
+
+    public void send_shareEntityWithGroups(String entityId, List<String> 
groupList, String perssionTypeId, boolean cascadePermission) throws 
org.apache.thrift.TException
+    {
+      shareEntityWithGroups_args args = new shareEntityWithGroups_args();
+      args.setEntityId(entityId);
+      args.setGroupList(groupList);
+      args.setPerssionTypeId(perssionTypeId);
+      args.setCascadePermission(cascadePermission);
+      sendBase("shareEntityWithGroups", args);
+    }
+
+    public boolean recv_shareEntityWithGroups() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      shareEntityWithGroups_result result = new shareEntityWithGroups_result();
+      receiveBase(result, "shareEntityWithGroups");
+      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,
 "shareEntityWithGroups failed: unknown result");
+    }
+
+    public boolean revokeEntitySharingFromGroups(String entityId, List<String> 
groupList, String perssionTypeId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      send_revokeEntitySharingFromGroups(entityId, groupList, perssionTypeId);
+      return recv_revokeEntitySharingFromGroups();
+    }
+
+    public void send_revokeEntitySharingFromGroups(String entityId, 
List<String> groupList, String perssionTypeId) throws 
org.apache.thrift.TException
+    {
+      revokeEntitySharingFromGroups_args args = new 
revokeEntitySharingFromGroups_args();
+      args.setEntityId(entityId);
+      args.setGroupList(groupList);
+      args.setPerssionTypeId(perssionTypeId);
+      sendBase("revokeEntitySharingFromGroups", args);
+    }
+
+    public boolean recv_revokeEntitySharingFromGroups() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      revokeEntitySharingFromGroups_result result = new 
revokeEntitySharingFromGroups_result();
+      receiveBase(result, "revokeEntitySharingFromGroups");
+      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,
 "revokeEntitySharingFromGroups failed: unknown result");
+    }
+
+    public boolean userHasAccess(String domainId, String userId, String 
entityId, String permissionTypeId) throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      send_userHasAccess(domainId, userId, entityId, permissionTypeId);
+      return recv_userHasAccess();
+    }
+
+    public void send_userHasAccess(String domainId, String userId, String 
entityId, String permissionTypeId) throws org.apache.thrift.TException
+    {
+      userHasAccess_args args = new userHasAccess_args();
+      args.setDomainId(domainId);
+      args.setUserId(userId);
+      args.setEntityId(entityId);
+      args.setPermissionTypeId(permissionTypeId);
+      sendBase("userHasAccess", args);
+    }
+
+    public boolean recv_userHasAccess() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException
+    {
+      userHasAccess_result result = new userHasAccess_result();
+      receiveBase(result, "userHasAccess");
+      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,
 "userHasAccess failed: unknown result");
+    }
+
+  }
+  public static class AsyncClient extends org.apache.thrift.async.TAsyncClient 
implements AsyncIface {
+    public static class Factory implements 
org.apache.thrift.async.TAsyncClientFactory<AsyncClient> {
+      private org.apache.thrift.async.TAsyncClientManager clientManager;
+      private org.apache.thrift.protocol.TProtocolFactory protocolFactory;
+      public Factory(org.apache.thrift.async.TAsyncClientManager 
clientManager, org.apache.thrift.protocol.TProtocolFactory protocolFactory) {
+        this.clientManager = clientManager;
+        this.protocolFactory = protocolFactory;
+      }
+      public AsyncClient 
getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) {
+        return new AsyncClient(protocolFactory, clientManager, transport);
+      }
+    }
+
+    public AsyncClient(org.apache.thrift.protocol.TProtocolFactory 
protocolFactory, org.apache.thrift.async.TAsyncClientManager clientManager, 
org.apache.thrift.transport.TNonblockingTransport transport) {
+      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 {
+      checkReady();
+      createDomain_call method_call = new createDomain_call(domain, 
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 {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.domain = domain;
+      }
+
+      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.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public String 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_createDomain();
+      }
+    }
+
+    public void 
updateDomain(org.apache.airavata.sharing.registry.models.Domain domain, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+      checkReady();
+      updateDomain_call method_call = new updateDomain_call(domain, 
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 {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.domain = domain;
+      }
+
+      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.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public boolean getResult() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException {
+        if (getState() != 
org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new 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_updateDomain();
+      }
+    }
+
+    public void deleteDomain(String domainId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+      checkReady();
+      deleteDomain_call method_call = new deleteDomain_call(domainId, 
resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class deleteDomain_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+      private String domainId;
+      public deleteDomain_call(String 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.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("deleteDomain", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        deleteDomain_args args = new deleteDomain_args();
+        args.setDomainId(domainId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public boolean getResult() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException {
+        if (getState() != 
org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new 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_deleteDomain();
+      }
+    }
+
+    public void getDomain(String domainId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+      checkReady();
+      getDomain_call method_call = new getDomain_call(domainId, resultHandler, 
this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getDomain_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+      private String domainId;
+      public getDomain_call(String 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.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("getDomain", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getDomain_args args = new getDomain_args();
+        args.setDomainId(domainId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public org.apache.airavata.sharing.registry.models.Domain 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_getDomain();
+      }
+    }
+
+    public void getDomains(int offset, int limit, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+      checkReady();
+      getDomains_call method_call = new getDomains_call(offset, limit, 
resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getDomains_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+      private int offset;
+      private int limit;
+      public getDomains_call(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.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("getDomains", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getDomains_args args = new getDomains_args();
+        args.setOffset(offset);
+        args.setLimit(limit);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public List<org.apache.airavata.sharing.registry.models.Domain> 
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_getDomains();
+      }
+    }
+
+    public void createUser(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);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class createUser_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 {
+        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();
+        args.setUser(user);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public String 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_createUser();
+      }
+    }
+
+    public void updatedUser(org.apache.airavata.sharing.registry.models.User 
user, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+      checkReady();
+      updatedUser_call method_call = new updatedUser_call(user, resultHandler, 
this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class updatedUser_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+      private org.apache.airavata.sharing.registry.models.User user;
+      public updatedUser_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("updatedUser", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        updatedUser_args args = new updatedUser_args();
+        args.setUser(user);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public boolean getResult() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException {
+        if (getState() != 
org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new 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_updatedUser();
+      }
+    }
+
+    public void deleteUser(String userId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+      checkReady();
+      deleteUser_call method_call = new deleteUser_call(userId, resultHandler, 
this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class deleteUser_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+      private String userId;
+      public deleteUser_call(String userId, 
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.userId = userId;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
+        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("deleteUser", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        deleteUser_args args = new deleteUser_args();
+        args.setUserId(userId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public boolean getResult() throws 
org.apache.airavata.sharing.registry.models.SharingRegistryException, 
org.apache.thrift.TException {
+        if (getState() != 
org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new 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_deleteUser();
+      }
+    }
+
+    public void getUser(String userId, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+      checkReady();
+      getUser_call method_call = new getUser_call(userId, resultHandler, this, 
___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getUser_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+      private String userId;
+      public getUser_call(String userId, 
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.userId = userId;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
+        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("getUser", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getUser_args args = n

<TRUNCATED>

Reply via email to