You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sc...@apache.org on 2017/05/23 19:45:52 UTC

[2/3] airavata git commit: adding new API method to get the group memberships for a user

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java
index 60fa2b5..175fef6 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java
@@ -1,23 +1,4 @@
 /**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-/**
  * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
@@ -63,7 +44,7 @@ public class SharingRegistryService {
      * 
      * @param domain
      */
-    public String createDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException;
+    public String createDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to update a domain</p>
@@ -106,7 +87,7 @@ public class SharingRegistryService {
      * 
      * @param user
      */
-    public String createUser(org.apache.airavata.sharing.registry.models.User user) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException;
+    public String createUser(org.apache.airavata.sharing.registry.models.User user) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to update existing user</p>
@@ -254,12 +235,14 @@ public class SharingRegistryService {
      */
     public boolean removeChildGroupFromParentGroup(String domainId, String childId, String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
 
+    public List<org.apache.airavata.sharing.registry.models.UserGroup> getAllMemberGroupsForUser(String domainId, String userId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
+
     /**
      * <p>API method to create a new entity type</p>
      * 
      * @param entityType
      */
-    public String createEntityType(org.apache.airavata.sharing.registry.models.EntityType entityType) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException;
+    public String createEntityType(org.apache.airavata.sharing.registry.models.EntityType entityType) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to update entity type</p>
@@ -373,7 +356,7 @@ public class SharingRegistryService {
      * 
      * @param permissionType
      */
-    public String createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType permissionType) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException;
+    public String createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType permissionType) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to update permission type</p>
@@ -519,6 +502,8 @@ public class SharingRegistryService {
 
     public void removeChildGroupFromParentGroup(String domainId, String childId, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
+    public void getAllMemberGroupsForUser(String domainId, String userId, 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;
@@ -591,7 +576,7 @@ public class SharingRegistryService {
       super(iprot, oprot);
     }
 
-    public String createDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
+    public String createDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       send_createDomain(domain);
       return recv_createDomain();
@@ -604,7 +589,7 @@ public class SharingRegistryService {
       sendBase("createDomain", args);
     }
 
-    public String recv_createDomain() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
+    public String recv_createDomain() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       createDomain_result result = new createDomain_result();
       receiveBase(result, "createDomain");
@@ -751,7 +736,7 @@ public class SharingRegistryService {
       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.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
+    public String createUser(org.apache.airavata.sharing.registry.models.User user) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       send_createUser(user);
       return recv_createUser();
@@ -764,7 +749,7 @@ public class SharingRegistryService {
       sendBase("createUser", args);
     }
 
-    public String recv_createUser() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
+    public String recv_createUser() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       createUser_result result = new createUser_result();
       receiveBase(result, "createUser");
@@ -1243,7 +1228,34 @@ public class SharingRegistryService {
       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.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
+    public List<org.apache.airavata.sharing.registry.models.UserGroup> getAllMemberGroupsForUser(String domainId, String userId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    {
+      send_getAllMemberGroupsForUser(domainId, userId);
+      return recv_getAllMemberGroupsForUser();
+    }
+
+    public void send_getAllMemberGroupsForUser(String domainId, String userId) throws org.apache.thrift.TException
+    {
+      getAllMemberGroupsForUser_args args = new getAllMemberGroupsForUser_args();
+      args.setDomainId(domainId);
+      args.setUserId(userId);
+      sendBase("getAllMemberGroupsForUser", args);
+    }
+
+    public List<org.apache.airavata.sharing.registry.models.UserGroup> recv_getAllMemberGroupsForUser() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    {
+      getAllMemberGroupsForUser_result result = new getAllMemberGroupsForUser_result();
+      receiveBase(result, "getAllMemberGroupsForUser");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.sre != null) {
+        throw result.sre;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllMemberGroupsForUser failed: unknown result");
+    }
+
+    public String createEntityType(org.apache.airavata.sharing.registry.models.EntityType entityType) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       send_createEntityType(entityType);
       return recv_createEntityType();
@@ -1256,7 +1268,7 @@ public class SharingRegistryService {
       sendBase("createEntityType", args);
     }
 
-    public String recv_createEntityType() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
+    public String recv_createEntityType() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       createEntityType_result result = new createEntityType_result();
       receiveBase(result, "createEntityType");
@@ -1626,7 +1638,7 @@ public class SharingRegistryService {
       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.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
+    public String createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType permissionType) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       send_createPermissionType(permissionType);
       return recv_createPermissionType();
@@ -1639,7 +1651,7 @@ public class SharingRegistryService {
       sendBase("createPermissionType", args);
     }
 
-    public String recv_createPermissionType() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
+    public String recv_createPermissionType() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       createPermissionType_result result = new createPermissionType_result();
       receiveBase(result, "createPermissionType");
@@ -1977,7 +1989,7 @@ public class SharingRegistryService {
         prot.writeMessageEnd();
       }
 
-      public String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException {
+      public String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -2172,7 +2184,7 @@ public class SharingRegistryService {
         prot.writeMessageEnd();
       }
 
-      public String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException {
+      public String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -2798,6 +2810,41 @@ public class SharingRegistryService {
       }
     }
 
+    public void getAllMemberGroupsForUser(String domainId, String userId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getAllMemberGroupsForUser_call method_call = new getAllMemberGroupsForUser_call(domainId, userId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getAllMemberGroupsForUser_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String domainId;
+      private String userId;
+      public getAllMemberGroupsForUser_call(String domainId, 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.domainId = domainId;
+        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("getAllMemberGroupsForUser", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getAllMemberGroupsForUser_args args = new getAllMemberGroupsForUser_args();
+        args.setDomainId(domainId);
+        args.setUserId(userId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public List<org.apache.airavata.sharing.registry.models.UserGroup> getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_getAllMemberGroupsForUser();
+      }
+    }
+
     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);
@@ -2820,7 +2867,7 @@ public class SharingRegistryService {
         prot.writeMessageEnd();
       }
 
-      public String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException {
+      public String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -3316,7 +3363,7 @@ public class SharingRegistryService {
         prot.writeMessageEnd();
       }
 
-      public String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException {
+      public String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -3749,6 +3796,7 @@ public class SharingRegistryService {
       processMap.put("getGroupMembersOfTypeGroup", new getGroupMembersOfTypeGroup());
       processMap.put("addChildGroupsToParentGroup", new addChildGroupsToParentGroup());
       processMap.put("removeChildGroupFromParentGroup", new removeChildGroupFromParentGroup());
+      processMap.put("getAllMemberGroupsForUser", new getAllMemberGroupsForUser());
       processMap.put("createEntityType", new createEntityType());
       processMap.put("updateEntityType", new updateEntityType());
       processMap.put("isEntityTypeExists", new isEntityTypeExists());
@@ -3796,7 +3844,7 @@ public class SharingRegistryService {
           result.success = iface.createDomain(args.domain);
         } catch (org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
           result.sre = sre;
-        } catch (org.apache.airavata.model.error.DuplicateEntryException dee) {
+        } catch (org.apache.airavata.sharing.registry.models.DuplicateEntryException dee) {
           result.dee = dee;
         }
         return result;
@@ -3945,7 +3993,7 @@ public class SharingRegistryService {
           result.success = iface.createUser(args.user);
         } catch (org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
           result.sre = sre;
-        } catch (org.apache.airavata.model.error.DuplicateEntryException dee) {
+        } catch (org.apache.airavata.sharing.registry.models.DuplicateEntryException dee) {
           result.dee = dee;
         }
         return result;
@@ -4366,6 +4414,30 @@ public class SharingRegistryService {
       }
     }
 
+    public static class getAllMemberGroupsForUser<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAllMemberGroupsForUser_args> {
+      public getAllMemberGroupsForUser() {
+        super("getAllMemberGroupsForUser");
+      }
+
+      public getAllMemberGroupsForUser_args getEmptyArgsInstance() {
+        return new getAllMemberGroupsForUser_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public getAllMemberGroupsForUser_result getResult(I iface, getAllMemberGroupsForUser_args args) throws org.apache.thrift.TException {
+        getAllMemberGroupsForUser_result result = new getAllMemberGroupsForUser_result();
+        try {
+          result.success = iface.getAllMemberGroupsForUser(args.domainId, args.userId);
+        } catch (org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+          result.sre = sre;
+        }
+        return result;
+      }
+    }
+
     public static class createEntityType<I extends Iface> extends org.apache.thrift.ProcessFunction<I, createEntityType_args> {
       public createEntityType() {
         super("createEntityType");
@@ -4385,7 +4457,7 @@ public class SharingRegistryService {
           result.success = iface.createEntityType(args.entityType);
         } catch (org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
           result.sre = sre;
-        } catch (org.apache.airavata.model.error.DuplicateEntryException dee) {
+        } catch (org.apache.airavata.sharing.registry.models.DuplicateEntryException dee) {
           result.dee = dee;
         }
         return result;
@@ -4729,7 +4801,7 @@ public class SharingRegistryService {
           result.success = iface.createPermissionType(args.permissionType);
         } catch (org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
           result.sre = sre;
-        } catch (org.apache.airavata.model.error.DuplicateEntryException dee) {
+        } catch (org.apache.airavata.sharing.registry.models.DuplicateEntryException dee) {
           result.dee = dee;
         }
         return result;
@@ -5021,6 +5093,7 @@ public class SharingRegistryService {
       processMap.put("getGroupMembersOfTypeGroup", new getGroupMembersOfTypeGroup());
       processMap.put("addChildGroupsToParentGroup", new addChildGroupsToParentGroup());
       processMap.put("removeChildGroupFromParentGroup", new removeChildGroupFromParentGroup());
+      processMap.put("getAllMemberGroupsForUser", new getAllMemberGroupsForUser());
       processMap.put("createEntityType", new createEntityType());
       processMap.put("updateEntityType", new updateEntityType());
       processMap.put("isEntityTypeExists", new isEntityTypeExists());
@@ -5081,8 +5154,8 @@ public class SharingRegistryService {
                         result.setSreIsSet(true);
                         msg = result;
             }
-            else             if (e instanceof org.apache.airavata.model.error.DuplicateEntryException) {
-                        result.dee = (org.apache.airavata.model.error.DuplicateEntryException) e;
+            else             if (e instanceof org.apache.airavata.sharing.registry.models.DuplicateEntryException) {
+                        result.dee = (org.apache.airavata.sharing.registry.models.DuplicateEntryException) e;
                         result.setDeeIsSet(true);
                         msg = result;
             }
@@ -5431,8 +5504,8 @@ public class SharingRegistryService {
                         result.setSreIsSet(true);
                         msg = result;
             }
-            else             if (e instanceof org.apache.airavata.model.error.DuplicateEntryException) {
-                        result.dee = (org.apache.airavata.model.error.DuplicateEntryException) e;
+            else             if (e instanceof org.apache.airavata.sharing.registry.models.DuplicateEntryException) {
+                        result.dee = (org.apache.airavata.sharing.registry.models.DuplicateEntryException) e;
                         result.setDeeIsSet(true);
                         msg = result;
             }
@@ -6434,20 +6507,20 @@ public class SharingRegistryService {
       }
     }
 
-    public static class createEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createEntityType_args, String> {
-      public createEntityType() {
-        super("createEntityType");
+    public static class getAllMemberGroupsForUser<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllMemberGroupsForUser_args, List<org.apache.airavata.sharing.registry.models.UserGroup>> {
+      public getAllMemberGroupsForUser() {
+        super("getAllMemberGroupsForUser");
       }
 
-      public createEntityType_args getEmptyArgsInstance() {
-        return new createEntityType_args();
+      public getAllMemberGroupsForUser_args getEmptyArgsInstance() {
+        return new getAllMemberGroupsForUser_args();
       }
 
-      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<String>() { 
-          public void onComplete(String o) {
-            createEntityType_result result = new createEntityType_result();
+        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>>() { 
+          public void onComplete(List<org.apache.airavata.sharing.registry.models.UserGroup> o) {
+            getAllMemberGroupsForUser_result result = new getAllMemberGroupsForUser_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -6460,17 +6533,12 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            createEntityType_result result = new createEntityType_result();
+            getAllMemberGroupsForUser_result result = new getAllMemberGroupsForUser_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
                         msg = result;
             }
-            else             if (e instanceof org.apache.airavata.model.error.DuplicateEntryException) {
-                        result.dee = (org.apache.airavata.model.error.DuplicateEntryException) e;
-                        result.setDeeIsSet(true);
-                        msg = result;
-            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -6491,27 +6559,26 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, createEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.createEntityType(args.entityType,resultHandler);
+      public void start(I iface, getAllMemberGroupsForUser_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>> resultHandler) throws TException {
+        iface.getAllMemberGroupsForUser(args.domainId, args.userId,resultHandler);
       }
     }
 
-    public static class updateEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateEntityType_args, Boolean> {
-      public updateEntityType() {
-        super("updateEntityType");
+    public static class createEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createEntityType_args, String> {
+      public createEntityType() {
+        super("createEntityType");
       }
 
-      public updateEntityType_args getEmptyArgsInstance() {
-        return new updateEntityType_args();
+      public createEntityType_args getEmptyArgsInstance() {
+        return new createEntityType_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) {
-            updateEntityType_result result = new updateEntityType_result();
+        return new AsyncMethodCallback<String>() { 
+          public void onComplete(String 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;
@@ -6523,12 +6590,17 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            updateEntityType_result result = new updateEntityType_result();
+            createEntityType_result result = new createEntityType_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
                         msg = result;
             }
+            else             if (e instanceof org.apache.airavata.sharing.registry.models.DuplicateEntryException) {
+                        result.dee = (org.apache.airavata.sharing.registry.models.DuplicateEntryException) e;
+                        result.setDeeIsSet(true);
+                        msg = result;
+            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -6549,25 +6621,25 @@ public class SharingRegistryService {
         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, createEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
+        iface.createEntityType(args.entityType,resultHandler);
       }
     }
 
-    public static class isEntityTypeExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isEntityTypeExists_args, Boolean> {
-      public isEntityTypeExists() {
-        super("isEntityTypeExists");
+    public static class updateEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateEntityType_args, Boolean> {
+      public updateEntityType() {
+        super("updateEntityType");
       }
 
-      public isEntityTypeExists_args getEmptyArgsInstance() {
-        return new isEntityTypeExists_args();
+      public updateEntityType_args getEmptyArgsInstance() {
+        return new updateEntityType_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) {
-            isEntityTypeExists_result result = new isEntityTypeExists_result();
+            updateEntityType_result result = new updateEntityType_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -6581,7 +6653,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            isEntityTypeExists_result result = new isEntityTypeExists_result();
+            updateEntityType_result result = new updateEntityType_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -6607,25 +6679,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, isEntityTypeExists_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.isEntityTypeExists(args.domainId, args.entityTypeId,resultHandler);
+      public void start(I iface, updateEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.updateEntityType(args.entityType,resultHandler);
       }
     }
 
-    public static class deleteEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteEntityType_args, Boolean> {
-      public deleteEntityType() {
-        super("deleteEntityType");
+    public static class isEntityTypeExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isEntityTypeExists_args, Boolean> {
+      public isEntityTypeExists() {
+        super("isEntityTypeExists");
       }
 
-      public deleteEntityType_args getEmptyArgsInstance() {
-        return new deleteEntityType_args();
+      public isEntityTypeExists_args getEmptyArgsInstance() {
+        return new isEntityTypeExists_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) {
-            deleteEntityType_result result = new deleteEntityType_result();
+            isEntityTypeExists_result result = new isEntityTypeExists_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -6639,121 +6711,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            deleteEntityType_result result = new deleteEntityType_result();
-            if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
-                        result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
-                        result.setSreIsSet(true);
-                        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());
-            }
-            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, deleteEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.deleteEntityType(args.domainId, args.entityTypeId,resultHandler);
-      }
-    }
-
-    public static class getEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getEntityType_args, org.apache.airavata.sharing.registry.models.EntityType> {
-      public getEntityType() {
-        super("getEntityType");
-      }
-
-      public getEntityType_args getEmptyArgsInstance() {
-        return new getEntityType_args();
-      }
-
-      public AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType>() { 
-          public void onComplete(org.apache.airavata.sharing.registry.models.EntityType o) {
-            getEntityType_result result = new getEntityType_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              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;
-            getEntityType_result result = new getEntityType_result();
-            if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
-                        result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
-                        result.setSreIsSet(true);
-                        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());
-            }
-            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, getEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType> resultHandler) throws TException {
-        iface.getEntityType(args.domainId, args.entityTypeId,resultHandler);
-      }
-    }
-
-    public static class getEntityTypes<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getEntityTypes_args, List<org.apache.airavata.sharing.registry.models.EntityType>> {
-      public getEntityTypes() {
-        super("getEntityTypes");
-      }
-
-      public getEntityTypes_args getEmptyArgsInstance() {
-        return new getEntityTypes_args();
-      }
-
-      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.EntityType>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.EntityType>>() { 
-          public void onComplete(List<org.apache.airavata.sharing.registry.models.EntityType> o) {
-            getEntityTypes_result result = new getEntityTypes_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              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;
-            getEntityTypes_result result = new getEntityTypes_result();
+            isEntityTypeExists_result result = new isEntityTypeExists_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -6779,26 +6737,27 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, getEntityTypes_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.EntityType>> resultHandler) throws TException {
-        iface.getEntityTypes(args.domainId, args.offset, args.limit,resultHandler);
+      public void start(I iface, isEntityTypeExists_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.isEntityTypeExists(args.domainId, args.entityTypeId,resultHandler);
       }
     }
 
-    public static class createEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createEntity_args, String> {
-      public createEntity() {
-        super("createEntity");
+    public static class deleteEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteEntityType_args, Boolean> {
+      public deleteEntityType() {
+        super("deleteEntityType");
       }
 
-      public createEntity_args getEmptyArgsInstance() {
-        return new createEntity_args();
+      public deleteEntityType_args getEmptyArgsInstance() {
+        return new deleteEntityType_args();
       }
 
-      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<String>() { 
-          public void onComplete(String o) {
-            createEntity_result result = new createEntity_result();
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            deleteEntityType_result result = new deleteEntityType_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -6810,7 +6769,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            createEntity_result result = new createEntity_result();
+            deleteEntityType_result result = new deleteEntityType_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -6836,27 +6795,26 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, createEntity_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.createEntity(args.entity,resultHandler);
+      public void start(I iface, deleteEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.deleteEntityType(args.domainId, args.entityTypeId,resultHandler);
       }
     }
 
-    public static class updateEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateEntity_args, Boolean> {
-      public updateEntity() {
-        super("updateEntity");
+    public static class getEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getEntityType_args, org.apache.airavata.sharing.registry.models.EntityType> {
+      public getEntityType() {
+        super("getEntityType");
       }
 
-      public updateEntity_args getEmptyArgsInstance() {
-        return new updateEntity_args();
+      public getEntityType_args getEmptyArgsInstance() {
+        return new getEntityType_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            updateEntity_result result = new updateEntity_result();
+        return new AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType>() { 
+          public void onComplete(org.apache.airavata.sharing.registry.models.EntityType o) {
+            getEntityType_result result = new getEntityType_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -6868,7 +6826,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            updateEntity_result result = new updateEntity_result();
+            getEntityType_result result = new getEntityType_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -6894,27 +6852,26 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, updateEntity_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.updateEntity(args.entity,resultHandler);
+      public void start(I iface, getEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType> resultHandler) throws TException {
+        iface.getEntityType(args.domainId, args.entityTypeId,resultHandler);
       }
     }
 
-    public static class isEntityExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isEntityExists_args, Boolean> {
-      public isEntityExists() {
-        super("isEntityExists");
+    public static class getEntityTypes<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getEntityTypes_args, List<org.apache.airavata.sharing.registry.models.EntityType>> {
+      public getEntityTypes() {
+        super("getEntityTypes");
       }
 
-      public isEntityExists_args getEmptyArgsInstance() {
-        return new isEntityExists_args();
+      public getEntityTypes_args getEmptyArgsInstance() {
+        return new getEntityTypes_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.EntityType>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            isEntityExists_result result = new isEntityExists_result();
+        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.EntityType>>() { 
+          public void onComplete(List<org.apache.airavata.sharing.registry.models.EntityType> o) {
+            getEntityTypes_result result = new getEntityTypes_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -6926,7 +6883,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            isEntityExists_result result = new isEntityExists_result();
+            getEntityTypes_result result = new getEntityTypes_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -6952,27 +6909,26 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, isEntityExists_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.isEntityExists(args.domainId, args.entityId,resultHandler);
+      public void start(I iface, getEntityTypes_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.EntityType>> resultHandler) throws TException {
+        iface.getEntityTypes(args.domainId, args.offset, args.limit,resultHandler);
       }
     }
 
-    public static class deleteEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteEntity_args, Boolean> {
-      public deleteEntity() {
-        super("deleteEntity");
+    public static class createEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createEntity_args, String> {
+      public createEntity() {
+        super("createEntity");
       }
 
-      public deleteEntity_args getEmptyArgsInstance() {
-        return new deleteEntity_args();
+      public createEntity_args getEmptyArgsInstance() {
+        return new createEntity_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) {
-            deleteEntity_result result = new deleteEntity_result();
+        return new AsyncMethodCallback<String>() { 
+          public void onComplete(String o) {
+            createEntity_result result = new createEntity_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -6984,7 +6940,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            deleteEntity_result result = new deleteEntity_result();
+            createEntity_result result = new createEntity_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -7010,26 +6966,27 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, deleteEntity_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.deleteEntity(args.domainId, args.entityId,resultHandler);
+      public void start(I iface, createEntity_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
+        iface.createEntity(args.entity,resultHandler);
       }
     }
 
-    public static class getEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getEntity_args, org.apache.airavata.sharing.registry.models.Entity> {
-      public getEntity() {
-        super("getEntity");
+    public static class updateEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateEntity_args, Boolean> {
+      public updateEntity() {
+        super("updateEntity");
       }
 
-      public getEntity_args getEmptyArgsInstance() {
-        return new getEntity_args();
+      public updateEntity_args getEmptyArgsInstance() {
+        return new updateEntity_args();
       }
 
-      public AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity>() { 
-          public void onComplete(org.apache.airavata.sharing.registry.models.Entity o) {
-            getEntity_result result = new getEntity_result();
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            updateEntity_result result = new updateEntity_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -7041,7 +6998,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getEntity_result result = new getEntity_result();
+            updateEntity_result result = new updateEntity_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -7067,26 +7024,27 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, getEntity_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity> resultHandler) throws TException {
-        iface.getEntity(args.domainId, args.entityId,resultHandler);
+      public void start(I iface, updateEntity_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.updateEntity(args.entity,resultHandler);
       }
     }
 
-    public static class searchEntities<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, searchEntities_args, List<org.apache.airavata.sharing.registry.models.Entity>> {
-      public searchEntities() {
-        super("searchEntities");
+    public static class isEntityExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isEntityExists_args, Boolean> {
+      public isEntityExists() {
+        super("isEntityExists");
       }
 
-      public searchEntities_args getEmptyArgsInstance() {
-        return new searchEntities_args();
+      public isEntityExists_args getEmptyArgsInstance() {
+        return new isEntityExists_args();
       }
 
-      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.Entity>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.Entity>>() { 
-          public void onComplete(List<org.apache.airavata.sharing.registry.models.Entity> o) {
-            searchEntities_result result = new searchEntities_result();
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            isEntityExists_result result = new isEntityExists_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -7098,7 +7056,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            searchEntities_result result = new searchEntities_result();
+            isEntityExists_result result = new isEntityExists_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -7124,26 +7082,27 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, searchEntities_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.Entity>> resultHandler) throws TException {
-        iface.searchEntities(args.domainId, args.userId, args.filters, args.offset, args.limit,resultHandler);
+      public void start(I iface, isEntityExists_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.isEntityExists(args.domainId, args.entityId,resultHandler);
       }
     }
 
-    public static class getListOfSharedUsers<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getListOfSharedUsers_args, List<org.apache.airavata.sharing.registry.models.User>> {
-      public getListOfSharedUsers() {
-        super("getListOfSharedUsers");
+    public static class deleteEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteEntity_args, Boolean> {
+      public deleteEntity() {
+        super("deleteEntity");
       }
 
-      public getListOfSharedUsers_args getEmptyArgsInstance() {
-        return new getListOfSharedUsers_args();
+      public deleteEntity_args getEmptyArgsInstance() {
+        return new deleteEntity_args();
       }
 
-      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.User>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.User>>() { 
-          public void onComplete(List<org.apache.airavata.sharing.registry.models.User> o) {
-            getListOfSharedUsers_result result = new getListOfSharedUsers_result();
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            deleteEntity_result result = new deleteEntity_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -7155,7 +7114,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getListOfSharedUsers_result result = new getListOfSharedUsers_result();
+            deleteEntity_result result = new deleteEntity_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -7181,25 +7140,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, getListOfSharedUsers_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.User>> resultHandler) throws TException {
-        iface.getListOfSharedUsers(args.domainId, args.entityId, args.permissionTypeId,resultHandler);
+      public void start(I iface, deleteEntity_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.deleteEntity(args.domainId, args.entityId,resultHandler);
       }
     }
 
-    public static class getListOfSharedGroups<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getListOfSharedGroups_args, List<org.apache.airavata.sharing.registry.models.UserGroup>> {
-      public getListOfSharedGroups() {
-        super("getListOfSharedGroups");
+    public static class getEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getEntity_args, org.apache.airavata.sharing.registry.models.Entity> {
+      public getEntity() {
+        super("getEntity");
       }
 
-      public getListOfSharedGroups_args getEmptyArgsInstance() {
-        return new getListOfSharedGroups_args();
+      public getEntity_args getEmptyArgsInstance() {
+        return new getEntity_args();
       }
 
-      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>>() { 
-          public void onComplete(List<org.apache.airavata.sharing.registry.models.UserGroup> o) {
-            getListOfSharedGroups_result result = new getListOfSharedGroups_result();
+        return new AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity>() { 
+          public void onComplete(org.apache.airavata.sharing.registry.models.Entity o) {
+            getEntity_result result = new getEntity_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -7212,7 +7171,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getListOfSharedGroups_result result = new getListOfSharedGroups_result();
+            getEntity_result result = new getEntity_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -7238,25 +7197,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, getListOfSharedGroups_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>> resultHandler) throws TException {
-        iface.getListOfSharedGroups(args.domainId, args.entityId, args.permissionTypeId,resultHandler);
+      public void start(I iface, getEntity_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity> resultHandler) throws TException {
+        iface.getEntity(args.domainId, args.entityId,resultHandler);
       }
     }
 
-    public static class createPermissionType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createPermissionType_args, String> {
-      public createPermissionType() {
-        super("createPermissionType");
+    public static class searchEntities<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, searchEntities_args, List<org.apache.airavata.sharing.registry.models.Entity>> {
+      public searchEntities() {
+        super("searchEntities");
       }
 
-      public createPermissionType_args getEmptyArgsInstance() {
-        return new createPermissionType_args();
+      public searchEntities_args getEmptyArgsInstance() {
+        return new searchEntities_args();
       }
 
-      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.Entity>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<String>() { 
-          public void onComplete(String o) {
-            createPermissionType_result result = new createPermissionType_result();
+        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.Entity>>() { 
+          public void onComplete(List<org.apache.airavata.sharing.registry.models.Entity> o) {
+            searchEntities_result result = new searchEntities_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -7269,17 +7228,12 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            createPermissionType_result result = new createPermissionType_result();
+            searchEntities_result result = new searchEntities_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
                         msg = result;
             }
-            else             if (e instanceof org.apache.airavata.model.error.DuplicateEntryException) {
-                        result.dee = (org.apache.airavata.model.error.DuplicateEntryException) e;
-                        result.setDeeIsSet(true);
-                        msg = result;
-            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -7300,27 +7254,26 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, createPermissionType_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.createPermissionType(args.permissionType,resultHandler);
+      public void start(I iface, searchEntities_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.Entity>> resultHandler) throws TException {
+        iface.searchEntities(args.domainId, args.userId, args.filters, args.offset, args.limit,resultHandler);
       }
     }
 
-    public static class updatePermissionType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updatePermissionType_args, Boolean> {
-      public updatePermissionType() {
-        super("updatePermissionType");
+    public static class getListOfSharedUsers<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getListOfSharedUsers_args, List<org.apache.airavata.sharing.registry.models.User>> {
+      public getListOfSharedUsers() {
+        super("getListOfSharedUsers");
       }
 
-      public updatePermissionType_args getEmptyArgsInstance() {
-        return new updatePermissionType_args();
+      public getListOfSharedUsers_args getEmptyArgsInstance() {
+        return new getListOfSharedUsers_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.User>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            updatePermissionType_result result = new updatePermissionType_result();
+        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.User>>() { 
+          public void onComplete(List<org.apache.airavata.sharing.registry.models.User> o) {
+            getListOfSharedUsers_result result = new getListOfSharedUsers_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -7332,7 +7285,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            updatePermissionType_result result = new updatePermissionType_result();
+            getListOfSharedUsers_result result = new getListOfSharedUsers_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -7358,27 +7311,26 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, updatePermissionType_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.updatePermissionType(args.permissionType,resultHandler);
+      public void start(I iface, getListOfSharedUsers_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.User>> resultHandler) throws TException {
+        iface.getListOfSharedUsers(args.domainId, args.entityId, args.permissionTypeId,resultHandler);
       }
     }
 
-    public static class isPermissionExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isPermissionExists_args, Boolean> {
-      public isPermissionExists() {
-        super("isPermissionExists");
+    public static class getListOfSharedGroups<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getListOfSharedGroups_args, List<org.apache.airavata.sharing.registry.models.UserGroup>> {
+      public getListOfSharedGroups() {
+        super("getListOfSharedGroups");
       }
 
-      public isPermissionExists_args getEmptyArgsInstance() {
-        return new isPermissionExists_args();
+      public getListOfSharedGroups_args getEmptyArgsInstance() {
+        return new getListOfSharedGroups_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            isPermissionExists_result result = new isPermissionExists_result();
+        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>>() { 
+          public void onComplete(List<org.apache.airavata.sharing.registry.models.UserGroup> o) {
+            getListOfSharedGroups_result result = new getListOfSharedGroups_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -7390,7 +7342,185 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            isPermissionExists_result result = new isPermissionExists_result();
+            getListOfSharedGroups_result result = new getListOfSharedGroups_result();
+            if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
+                        result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
+                        result.setSreIsSet(true);
+                        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());
+            }
+            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, getListOfSharedGroups_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>> resultHandler) throws TException {
+        iface.getListOfSharedGroups(args.domainId, args.entityId, args.permissionTypeId,resultHandler);
+      }
+    }
+
+    public static class createPermissionType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createPermissionType_args, String> {
+      public createPermissionType() {
+        super("createPermissionType");
+      }
+
+      public createPermissionType_args getEmptyArgsInstance() {
+        return new createPermissionType_args();
+      }
+
+      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<String>() { 
+          public void onComplete(String o) {
+            createPermissionType_result result = new createPermissionType_result();
+            result.success = o;
+            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;
+            createPermissionType_result result = new createPermissionType_result();
+            if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
+                        result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
+                        result.setSreIsSet(true);
+                        msg = result;
+            }
+            else             if (e instanceof org.apache.airavata.sharing.registry.models.DuplicateEntryException) {
+                        result.dee = (org.apache.airavata.sharing.registry.models.DuplicateEntryException) e;
+                        result.setDeeIsSet(true);
+                        msg = result;
+            }
+             else 
+            {
+              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, createPermissionType_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
+        iface.createPermissionType(args.permissionType,resultHandler);
+      }
+    }
+
+    public static class updatePermissionType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updatePermissionType_args, Boolean> {
+      public updatePermissionType() {
+        super("updatePermissionType");
+      }
+
+      public updatePermissionType_args getEmptyArgsInstance() {
+        return new updatePermissionType_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) {
+            updatePermissionType_result result = new updatePermissionType_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;
+            updatePermissionType_result result = new updatePermissionType_result();
+            if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
+                        result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
+                        result.setSreIsSet(true);
+                        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());
+            }
+            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, updatePermissionType_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.updatePermissionType(args.permissionType,resultHandler);
+      }
+    }
+
+    public static class isPermissionExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isPermissionExists_args, Boolean> {
+      public isPermissionExists() {
+        super("isPermissionExists");
+      }
+
+      public isPermissionExists_args getEmptyArgsInstance() {
+        return new isPermissionExists_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) {
+            isPermissionExists_result result = new isPermissionExists_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;
+            isPermissionExists_result result = new isPermissionExists_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -8259,7 +8389,7 @@ public class SharingRegistryService {
 
     public String success; // required
     public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
-    public org.apache.airavata.model.error.DuplicateEntryException dee; // required
+    public org.apache.airavata.sharing.registry.models.DuplicateEntryException dee; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -8345,7 +8475,7 @@ public class SharingRegistryService {
     public createDomain_result(
       String success,
       org.apache.airavata.sharing.registry.models.SharingRegistryException sre,
-      org.apache.airavata.model.error.DuplicateEntryException dee)
+      org.apache.airavata.sharing.registry.models.DuplicateEntryException dee)
     {
       this();
       this.success = success;
@@ -8364,7 +8494,7 @@ public class SharingRegistryService {
         this.sre = new org.apache.airavata.sharing.registry.models.SharingRegistryException(other.sre);
       }
       if (other.isSetDee()) {
-        this.dee = new org.apache.airavata.model.error.DuplicateEntryException(other.dee);
+        this.dee = new org.apache.airavata.sharing.registry.models.DuplicateEntryException(other.dee);
       }
     }
 
@@ -8427,11 +8557,11 @@ public class SharingRegistryService {
       }
     }
 
-    public org.apache.airavata.model.error.DuplicateEntryException getDee() {
+    public org.apache.airavata.sharing.registry.models.DuplicateEntryException getDee() {
       return this.dee;
     }
 
-    public createDomain_result setDee(org.apache.airavata.model.error.DuplicateEntryException dee) {
+    public createDomain_result setDee(org.apache.airavata.sharing.registry.models.DuplicateEntryException dee) {
       this.dee = dee;
       return this;
     }
@@ -8473,7 +8603,7 @@ public class SharingRegistryService {
         if (value == null) {
           unsetDee();
         } else {
-          setDee((org.apache.airavata.model.error.DuplicateEntryException)value);
+          setDee((org.apache.airavata.sharing.registry.models.DuplicateEntryException)value);
         }
         break;
 
@@ -8720,7 +8850,7 @@ public class SharingRegistryService {
               break;
             case 2: // DEE
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.dee = new org.apache.airavata.model.error.DuplicateEntryException();
+                struct.dee = new org.apache.airavata.sharing.registry.models.DuplicateEntryException();
                 struct.dee.read(iprot);
                 struct.setDeeIsSet(true);
               } else { 
@@ -8810,7 +8940,7 @@ public class SharingRegistryService {
           struct.setSreIsSet(true);
         }
         if (incoming.get(2)) {
-          struct.dee = new org.apache.airavata.model.error.DuplicateEntryException();
+          struct.dee = new org.apache.airavata.sharing.registry.models.DuplicateEntryException();
           struct.dee.read(iprot);
           struct.setDeeIsSet(true);
         }
@@ -13462,7 +13592,7 @@ public class SharingRegistryService {
 
     public String success; // required
     public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
-    public org.apache.airavata.model.error.DuplicateEntryException dee; // required
+    public org.apache.airavata.sharing.registry.models.DuplicateEntryException dee; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -13548,7 +13678,7 @@ public class SharingRegistryService {
     public createUser_result(
       String success,
       org.apache.airavata.sharing.registry.models.SharingRegistryException sre,
-      org.apache.airavata.model.error.DuplicateEntryException dee)
+      org.apache.airavata.sharing.registry.models.DuplicateEntryException dee)
     {
       this();
       this.success = success;
@@ -13567,7 +13697,7 @@ public class SharingRegistryService {
         this.sre = new org.apache.airavata.sharing.registry.models.SharingRegistryException(other.sre);
       }
       if (other.isSetDee()) {
-        this.dee = new org.apache.airavata.model.error.DuplicateEntryException(other.dee);
+        this.dee = new org.apache.airavata.sharing.registry.models.DuplicateEntryException(other.dee);
       }
     }
 
@@ -13630,11 +13760,11 @@ public class SharingRegistryService {
       }
     }
 
-    public org.apache.airavata.model.error.DuplicateEntryException getDee() {
+    public org.apache.airavata.sharing.registry.models.DuplicateEntryException getDee() {
       return this.dee;
     }
 
-    public createUser_result setDee(org.apache.airavata.model.error.DuplicateEntryException dee) {
+    public createUser_result setDee(org.apache.airavata.sharing.registry.models.DuplicateEntryException dee) {
       this.dee = dee;
       return this;
     }
@@ -13676,7 +13806,7 @@ public class SharingRegistryService {
         if (value == null) {
           unsetDee();
         } else {
-          setDee((org.apache.airavata.model.error.DuplicateEntryException)value);
+          setDee((org.apache.airavata.sharing.registry.models.DuplicateEntryException)value);
         }
         break;
 
@@ -13923,7 +14053,7 @@ public class SharingRegistryService {
               break;
             case 2: // DEE
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.dee = new org.apache.airavata.model.error.DuplicateEntryException();
+                struct.dee = new org.apache.airavata.sharing.registry.models.DuplicateEntryException();
                 struct.dee.read(iprot);
                 struct.setDeeIsSet(true);
               } else { 
@@ -14013,7 +14143,7 @@ public class SharingRegistryService {
           struct.setSreIsSet(true);
         }
         if (incoming.get(2)) {
-          struct.dee = new org.apache.airavata.model.error.DuplicateEntryException();
+          struct.dee = new org.apache.airavata.sharing.registry.models.DuplicateEntryException();
           struct.dee.read(iprot);
           struct.setDeeIsSet(true);
         }
@@ -23749,80 +23879,1119 @@ public class SharingRegistryService {
     static {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
-              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.sharing.registry.models.UserGroup.class))));
+          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.sharing.registry.models.UserGroup.class))));
+      metaDataMap = Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGroups_result.class, metaDataMap);
+    }
+
+    public getGroups_result() {
+    }
+
+    public getGroups_result(
+      List<org.apache.airavata.sharing.registry.models.UserGroup> success)
+    {
+      this();
+      this.success = success;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    pu

<TRUNCATED>