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

[airavata] branch develop updated (27cde9d -> 4ec92a7)

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

smarru pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git.


    from 27cde9d  Fixing workflow_catalog typo
     new bc5d4c8  Initial commit for the pull request
     new 206abb8  Generating thrift stubs for group manager
     new 8810c04  Adding API methods GroupManagerServiceHandler
     new 5f65d4c  Using autztoken to get gateway ID
     new ab467ac  Reverted dependency on api-server, added ThriftClientPool class for profile service
     new ea0eb0d  Removing hardcoded project version from pom
     new fa2afd8  Removing API methods from AiravataServerHandler and correcting build errors
     new e759204  Reverting README changes created for intital pull request
     new 5e36ed3  Reverting README changes created for intital pull request
     new a7f24b6  Adding SecurityCheck annotation
     new f51745f  Using regular client instead of ThriftClientPool
     new 0fb711c  Adding tests for group roles
     new 4ec92a7  Adding GroupManager client sample

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


Summary of changes:
 .../api/server/handler/AiravataServerHandler.java  |   115 -
 .../java/org/apache/airavata/api/Airavata.java     | 54553 ++++++++-----------
 .../profile/client/samples/GroupManagerSample.java |    41 +
 .../profile-service/profile-service-server/pom.xml |     5 +
 .../handlers/GroupManagerServiceHandler.java       |   238 +
 .../profile/server/ProfileServiceServer.java       |     5 +
 .../client/ProfileServiceClientFactory.java        |    15 +
 .../cpi/GroupManagerService.java}                  |  6260 +--
 .../exception/GroupManagerServiceException.java}   |    62 +-
 .../cpi/group_manager_cpiConstants.java}           |    10 +-
 .../registry/SharingRegistryServerHandlerTest.java |    18 +-
 .../registry/SharingRegistryServiceTest.java       |    15 +
 .../airavata-apis/airavata_api.thrift              |    30 -
 .../group-manager/group-manager-cpi.thrift         |    82 +
 .../group_manager_cpi_errors.thrift}               |     6 +-
 .../profile-service/profile-service-cpi.thrift     |     1 +
 16 files changed, 27233 insertions(+), 34223 deletions(-)
 create mode 100644 airavata-services/profile-service/profile-service-client-sdks/java-client-samples/src/main/java/org/apache/airavata/service/profile/client/samples/GroupManagerSample.java
 create mode 100644 airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/GroupManagerServiceHandler.java
 copy airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/{iam/admin/services/cpi/IamAdminServices.java => groupmanager/cpi/GroupManagerService.java} (65%)
 copy airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/{iam/admin/services/cpi/exception/IamAdminServicesException.java => groupmanager/cpi/exception/GroupManagerServiceException.java} (82%)
 copy airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/{tenant/cpi/profile_tenant_cpiConstants.java => groupmanager/cpi/group_manager_cpiConstants.java} (76%)
 create mode 100644 thrift-interface-descriptions/service-cpis/profile-service/group-manager/group-manager-cpi.thrift
 copy thrift-interface-descriptions/service-cpis/profile-service/{profile-tenant/profile_tenant_cpi_errors.thrift => group-manager/group_manager_cpi_errors.thrift} (85%)

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

[airavata] 05/13: Reverted dependency on api-server, added ThriftClientPool class for profile service

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

smarru pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit ab467ac8fd4bb36239de16ab7baf5220de09e62f
Author: Sachin Kariyattin <sa...@gmail.com>
AuthorDate: Mon Dec 4 21:04:56 2017 -0500

    Reverted dependency on api-server, added ThriftClientPool class for profile service
---
 .../profile-service/profile-service-server/pom.xml |   4 +-
 .../handlers/GroupManagerServiceHandler.java       |   2 +-
 .../service/profile/utils/ThriftClientPool.java    | 176 +++++++++++++++++++++
 3 files changed, 179 insertions(+), 3 deletions(-)

diff --git a/airavata-services/profile-service/profile-service-server/pom.xml b/airavata-services/profile-service/profile-service-server/pom.xml
index ba8febe..2215cbc 100644
--- a/airavata-services/profile-service/profile-service-server/pom.xml
+++ b/airavata-services/profile-service/profile-service-server/pom.xml
@@ -56,8 +56,8 @@
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-api-server</artifactId>
-            <version>${project.version}</version>
+            <artifactId>airavata-sharing-registry-stubs</artifactId>
+            <version>0.17-SNAPSHOT</version>
         </dependency>
     </dependencies>
     
diff --git a/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/GroupManagerServiceHandler.java b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/GroupManagerServiceHandler.java
index a02f03a..1c2a656 100644
--- a/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/GroupManagerServiceHandler.java
+++ b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/GroupManagerServiceHandler.java
@@ -1,6 +1,5 @@
 package org.apache.airavata.service.profile.handlers;
 
-import org.apache.airavata.api.server.util.ThriftClientPool;
 import org.apache.airavata.common.utils.Constants;
 import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.airavata.model.error.AuthorizationException;
@@ -8,6 +7,7 @@ import org.apache.airavata.model.group.GroupModel;
 import org.apache.airavata.model.security.AuthzToken;
 import org.apache.airavata.service.profile.groupmanager.cpi.GroupManagerService;
 import org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException;
+import org.apache.airavata.service.profile.utils.ThriftClientPool;
 import org.apache.airavata.service.security.interceptor.SecurityCheck;
 import org.apache.airavata.sharing.registry.models.GroupType;
 import org.apache.airavata.sharing.registry.models.UserGroup;
diff --git a/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/utils/ThriftClientPool.java b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/utils/ThriftClientPool.java
new file mode 100644
index 0000000..1adf9b7
--- /dev/null
+++ b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/utils/ThriftClientPool.java
@@ -0,0 +1,176 @@
+/**
+ *
+ * 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.
+ */
+package org.apache.airavata.service.profile.utils;
+
+import org.apache.commons.pool.BasePoolableObjectFactory;
+import org.apache.commons.pool.impl.GenericObjectPool;
+import org.apache.thrift.TServiceClient;
+import org.apache.thrift.protocol.TBinaryProtocol;
+import org.apache.thrift.protocol.TProtocol;
+import org.apache.thrift.transport.TSocket;
+import org.apache.thrift.transport.TTransport;
+import org.apache.thrift.transport.TTransportException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ThriftClientPool<T extends TServiceClient> implements
+        AutoCloseable {
+
+    private static final Logger LOGGER = LoggerFactory
+            .getLogger(ThriftClientPool.class);
+
+    private final GenericObjectPool internalPool;
+
+    public ThriftClientPool(ClientFactory<T> clientFactory,
+                            GenericObjectPool.Config poolConfig, String host, int port) {
+        this(clientFactory, new BinaryOverSocketProtocolFactory(host, port),
+                poolConfig);
+    }
+
+    public ThriftClientPool(ClientFactory<T> clientFactory,
+                            ProtocolFactory protocolFactory, GenericObjectPool.Config poolConfig) {
+        this.internalPool = new GenericObjectPool(new ThriftClientFactory(
+                clientFactory, protocolFactory), poolConfig);
+    }
+
+    class ThriftClientFactory extends BasePoolableObjectFactory {
+
+        private ClientFactory<T> clientFactory;
+        private ProtocolFactory protocolFactory;
+
+        public ThriftClientFactory(ClientFactory<T> clientFactory,
+                                   ProtocolFactory protocolFactory) {
+            this.clientFactory = clientFactory;
+            this.protocolFactory = protocolFactory;
+        }
+
+        @Override
+        public T makeObject() throws Exception {
+            try {
+                TProtocol protocol = protocolFactory.make();
+                return clientFactory.make(protocol);
+            } catch (Exception e) {
+                LOGGER.warn(e.getMessage(), e);
+                throw new ThriftClientException(
+                        "Can not make a new object for pool", e);
+            }
+        }
+
+        public void destroyObject(T obj) throws Exception {
+            if (obj.getOutputProtocol().getTransport().isOpen()) {
+                obj.getOutputProtocol().getTransport().close();
+            }
+            if (obj.getInputProtocol().getTransport().isOpen()) {
+                obj.getInputProtocol().getTransport().close();
+            }
+        }
+    }
+
+    public static interface ClientFactory<T> {
+
+        T make(TProtocol tProtocol);
+    }
+
+    public static interface ProtocolFactory {
+
+        TProtocol make();
+    }
+
+    public static class BinaryOverSocketProtocolFactory implements
+            ProtocolFactory {
+
+        private String host;
+        private int port;
+
+        public BinaryOverSocketProtocolFactory(String host, int port) {
+            this.host = host;
+            this.port = port;
+        }
+
+        public TProtocol make() {
+            TTransport transport = new TSocket(host, port);
+            try {
+                transport.open();
+            } catch (TTransportException e) {
+                LOGGER.warn(e.getMessage(), e);
+                throw new ThriftClientException("Can not make protocol", e);
+            }
+            return new TBinaryProtocol(transport);
+        }
+    }
+
+    public static class ThriftClientException extends RuntimeException {
+
+        // Fucking Eclipse
+        private static final long serialVersionUID = -2275296727467192665L;
+
+        public ThriftClientException(String message, Exception e) {
+            super(message, e);
+        }
+
+    }
+
+    public T getResource() {
+        try {
+            return (T) internalPool.borrowObject();
+        } catch (Exception e) {
+            throw new ThriftClientException(
+                    "Could not get a resource from the pool", e);
+        }
+    }
+
+    public void returnResourceObject(T resource) {
+        try {
+            internalPool.returnObject(resource);
+        } catch (Exception e) {
+            throw new ThriftClientException(
+                    "Could not return the resource to the pool", e);
+        }
+    }
+
+    public void returnBrokenResource(T resource) {
+        returnBrokenResourceObject(resource);
+    }
+
+    public void returnResource(T resource) {
+        returnResourceObject(resource);
+    }
+
+    protected void returnBrokenResourceObject(T resource) {
+        try {
+            internalPool.invalidateObject(resource);
+        } catch (Exception e) {
+            throw new ThriftClientException(
+                    "Could not return the resource to the pool", e);
+        }
+    }
+
+    public void destroy() {
+        close();
+    }
+
+    public void close() {
+        try {
+            internalPool.close();
+        } catch (Exception e) {
+            throw new ThriftClientException("Could not destroy the pool", e);
+        }
+    }
+}
\ No newline at end of file

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

[airavata] 09/13: Reverting README changes created for intital pull request

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

smarru pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit 5e36ed399a57a1f94c784e1268736a4523c84472
Author: Sachin Kariyattin <sa...@gmail.com>
AuthorDate: Mon Dec 4 22:31:42 2017 -0500

    Reverting README changes created for intital pull request
---
 airavata-services/profile-service/README | 1 -
 1 file changed, 1 deletion(-)

diff --git a/airavata-services/profile-service/README b/airavata-services/profile-service/README
index a39b798..d8471f4 100644
--- a/airavata-services/profile-service/README
+++ b/airavata-services/profile-service/README
@@ -69,7 +69,6 @@ List<UserProfile> getAllUserProfilesInGateway(AuthzToken authzToken, String gate
 boolean doesUserExist(AuthzToken authzToken, String userId, String gatewayId)
 
 
-
 ## profile-service-stubs
 
 The generated thrift stubs are copied in this folder. It conatins the thrift generated client code 

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

[airavata] 02/13: Generating thrift stubs for group manager

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

smarru pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit 206abb82e8257a30d2428027a96f04c5d96ecd32
Author: Sachin Kariyattin <sa...@gmail.com>
AuthorDate: Sun Dec 3 18:05:48 2017 -0500

    Generating thrift stubs for group manager
---
 .../groupmanager/cpi/GroupManagerService.java      | 13470 +++++++++++++++++++
 .../exception/GroupManagerServiceException.java    |   381 +
 .../cpi/group_manager_cpiConstants.java            |    32 +
 .../group-manager/group-manager-cpi.thrift         |    82 +
 .../group_manager_cpi_errors.thrift}               |    22 +-
 .../profile-service/profile-service-cpi.thrift     |     1 +
 6 files changed, 13976 insertions(+), 12 deletions(-)

diff --git a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/groupmanager/cpi/GroupManagerService.java b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/groupmanager/cpi/GroupManagerService.java
new file mode 100644
index 0000000..22cd705
--- /dev/null
+++ b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/groupmanager/cpi/GroupManagerService.java
@@ -0,0 +1,13470 @@
+    /*
+     * 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 (1.0.0-dev)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.airavata.service.profile.groupmanager.cpi;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (1.0.0-dev)")
+public class GroupManagerService {
+
+  public interface Iface {
+
+    public java.lang.String createGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+
+    public boolean updateGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+
+    public boolean deleteGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String ownerId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+
+    public org.apache.airavata.model.group.GroupModel getGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+
+    public java.util.List<org.apache.airavata.model.group.GroupModel> getAllGroupsUserBelongs(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userName) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+
+    public boolean transferGroupOwnership(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String newOwnerId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+
+    public boolean addGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+
+    public boolean removeGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+
+    public boolean hasAdminAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String adminId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+
+    public boolean hasOwnerAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String ownerId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+
+  }
+
+  public interface AsyncIface {
+
+    public void createGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;
+
+    public void updateGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
+
+    public void deleteGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String ownerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
+
+    public void getGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.group.GroupModel> resultHandler) throws org.apache.thrift.TException;
+
+    public void getAllGroupsUserBelongs(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.group.GroupModel>> resultHandler) throws org.apache.thrift.TException;
+
+    public void transferGroupOwnership(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String newOwnerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
+
+    public void addGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
+
+    public void removeGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
+
+    public void hasAdminAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String adminId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
+
+    public void hasOwnerAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String ownerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
+
+  }
+
+  public 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 java.lang.String createGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    {
+      send_createGroup(authzToken, groupModel);
+      return recv_createGroup();
+    }
+
+    public void send_createGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel) throws org.apache.thrift.TException
+    {
+      createGroup_args args = new createGroup_args();
+      args.setAuthzToken(authzToken);
+      args.setGroupModel(groupModel);
+      sendBase("createGroup", args);
+    }
+
+    public java.lang.String recv_createGroup() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    {
+      createGroup_result result = new createGroup_result();
+      receiveBase(result, "createGroup");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.gse != null) {
+        throw result.gse;
+      }
+      if (result.ae != null) {
+        throw result.ae;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createGroup failed: unknown result");
+    }
+
+    public boolean updateGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    {
+      send_updateGroup(authzToken, groupModel);
+      return recv_updateGroup();
+    }
+
+    public void send_updateGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel) throws org.apache.thrift.TException
+    {
+      updateGroup_args args = new updateGroup_args();
+      args.setAuthzToken(authzToken);
+      args.setGroupModel(groupModel);
+      sendBase("updateGroup", args);
+    }
+
+    public boolean recv_updateGroup() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    {
+      updateGroup_result result = new updateGroup_result();
+      receiveBase(result, "updateGroup");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.gse != null) {
+        throw result.gse;
+      }
+      if (result.ae != null) {
+        throw result.ae;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateGroup failed: unknown result");
+    }
+
+    public boolean deleteGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String ownerId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    {
+      send_deleteGroup(authzToken, groupId, ownerId);
+      return recv_deleteGroup();
+    }
+
+    public void send_deleteGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String ownerId) throws org.apache.thrift.TException
+    {
+      deleteGroup_args args = new deleteGroup_args();
+      args.setAuthzToken(authzToken);
+      args.setGroupId(groupId);
+      args.setOwnerId(ownerId);
+      sendBase("deleteGroup", args);
+    }
+
+    public boolean recv_deleteGroup() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    {
+      deleteGroup_result result = new deleteGroup_result();
+      receiveBase(result, "deleteGroup");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.gse != null) {
+        throw result.gse;
+      }
+      if (result.ae != null) {
+        throw result.ae;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteGroup failed: unknown result");
+    }
+
+    public org.apache.airavata.model.group.GroupModel getGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    {
+      send_getGroup(authzToken, groupId);
+      return recv_getGroup();
+    }
+
+    public void send_getGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId) throws org.apache.thrift.TException
+    {
+      getGroup_args args = new getGroup_args();
+      args.setAuthzToken(authzToken);
+      args.setGroupId(groupId);
+      sendBase("getGroup", args);
+    }
+
+    public org.apache.airavata.model.group.GroupModel recv_getGroup() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    {
+      getGroup_result result = new getGroup_result();
+      receiveBase(result, "getGroup");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.gse != null) {
+        throw result.gse;
+      }
+      if (result.ae != null) {
+        throw result.ae;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroup failed: unknown result");
+    }
+
+    public java.util.List<org.apache.airavata.model.group.GroupModel> getAllGroupsUserBelongs(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userName) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    {
+      send_getAllGroupsUserBelongs(authzToken, userName);
+      return recv_getAllGroupsUserBelongs();
+    }
+
+    public void send_getAllGroupsUserBelongs(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userName) throws org.apache.thrift.TException
+    {
+      getAllGroupsUserBelongs_args args = new getAllGroupsUserBelongs_args();
+      args.setAuthzToken(authzToken);
+      args.setUserName(userName);
+      sendBase("getAllGroupsUserBelongs", args);
+    }
+
+    public java.util.List<org.apache.airavata.model.group.GroupModel> recv_getAllGroupsUserBelongs() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    {
+      getAllGroupsUserBelongs_result result = new getAllGroupsUserBelongs_result();
+      receiveBase(result, "getAllGroupsUserBelongs");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.gse != null) {
+        throw result.gse;
+      }
+      if (result.ae != null) {
+        throw result.ae;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllGroupsUserBelongs failed: unknown result");
+    }
+
+    public boolean transferGroupOwnership(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String newOwnerId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    {
+      send_transferGroupOwnership(authzToken, domainId, groupId, newOwnerId);
+      return recv_transferGroupOwnership();
+    }
+
+    public void send_transferGroupOwnership(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String newOwnerId) throws org.apache.thrift.TException
+    {
+      transferGroupOwnership_args args = new transferGroupOwnership_args();
+      args.setAuthzToken(authzToken);
+      args.setDomainId(domainId);
+      args.setGroupId(groupId);
+      args.setNewOwnerId(newOwnerId);
+      sendBase("transferGroupOwnership", args);
+    }
+
+    public boolean recv_transferGroupOwnership() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    {
+      transferGroupOwnership_result result = new transferGroupOwnership_result();
+      receiveBase(result, "transferGroupOwnership");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.gse != null) {
+        throw result.gse;
+      }
+      if (result.ae != null) {
+        throw result.ae;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "transferGroupOwnership failed: unknown result");
+    }
+
+    public boolean addGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    {
+      send_addGroupAdmins(authzToken, domainId, groupId, adminIds);
+      return recv_addGroupAdmins();
+    }
+
+    public void send_addGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.thrift.TException
+    {
+      addGroupAdmins_args args = new addGroupAdmins_args();
+      args.setAuthzToken(authzToken);
+      args.setDomainId(domainId);
+      args.setGroupId(groupId);
+      args.setAdminIds(adminIds);
+      sendBase("addGroupAdmins", args);
+    }
+
+    public boolean recv_addGroupAdmins() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    {
+      addGroupAdmins_result result = new addGroupAdmins_result();
+      receiveBase(result, "addGroupAdmins");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.gse != null) {
+        throw result.gse;
+      }
+      if (result.ae != null) {
+        throw result.ae;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addGroupAdmins failed: unknown result");
+    }
+
+    public boolean removeGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    {
+      send_removeGroupAdmins(authzToken, domainId, groupId, adminIds);
+      return recv_removeGroupAdmins();
+    }
+
+    public void send_removeGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.thrift.TException
+    {
+      removeGroupAdmins_args args = new removeGroupAdmins_args();
+      args.setAuthzToken(authzToken);
+      args.setDomainId(domainId);
+      args.setGroupId(groupId);
+      args.setAdminIds(adminIds);
+      sendBase("removeGroupAdmins", args);
+    }
+
+    public boolean recv_removeGroupAdmins() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    {
+      removeGroupAdmins_result result = new removeGroupAdmins_result();
+      receiveBase(result, "removeGroupAdmins");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.gse != null) {
+        throw result.gse;
+      }
+      if (result.ae != null) {
+        throw result.ae;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "removeGroupAdmins failed: unknown result");
+    }
+
+    public boolean hasAdminAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String adminId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    {
+      send_hasAdminAccess(authzToken, domainId, groupId, adminId);
+      return recv_hasAdminAccess();
+    }
+
+    public void send_hasAdminAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String adminId) throws org.apache.thrift.TException
+    {
+      hasAdminAccess_args args = new hasAdminAccess_args();
+      args.setAuthzToken(authzToken);
+      args.setDomainId(domainId);
+      args.setGroupId(groupId);
+      args.setAdminId(adminId);
+      sendBase("hasAdminAccess", args);
+    }
+
+    public boolean recv_hasAdminAccess() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    {
+      hasAdminAccess_result result = new hasAdminAccess_result();
+      receiveBase(result, "hasAdminAccess");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.gse != null) {
+        throw result.gse;
+      }
+      if (result.ae != null) {
+        throw result.ae;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "hasAdminAccess failed: unknown result");
+    }
+
+    public boolean hasOwnerAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String ownerId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    {
+      send_hasOwnerAccess(authzToken, domainId, groupId, ownerId);
+      return recv_hasOwnerAccess();
+    }
+
+    public void send_hasOwnerAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String ownerId) throws org.apache.thrift.TException
+    {
+      hasOwnerAccess_args args = new hasOwnerAccess_args();
+      args.setAuthzToken(authzToken);
+      args.setDomainId(domainId);
+      args.setGroupId(groupId);
+      args.setOwnerId(ownerId);
+      sendBase("hasOwnerAccess", args);
+    }
+
+    public boolean recv_hasOwnerAccess() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    {
+      hasOwnerAccess_result result = new hasOwnerAccess_result();
+      receiveBase(result, "hasOwnerAccess");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.gse != null) {
+        throw result.gse;
+      }
+      if (result.ae != null) {
+        throw result.ae;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "hasOwnerAccess 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 createGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      createGroup_call method_call = new createGroup_call(authzToken, groupModel, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class createGroup_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.String> {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
+      private org.apache.airavata.model.group.GroupModel groupModel;
+      public createGroup_call(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> 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.authzToken = authzToken;
+        this.groupModel = groupModel;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        createGroup_args args = new createGroup_args();
+        args.setAuthzToken(authzToken);
+        args.setGroupModel(groupModel);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public java.lang.String getResult() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_createGroup();
+      }
+    }
+
+    public void updateGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      updateGroup_call method_call = new updateGroup_call(authzToken, groupModel, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class updateGroup_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
+      private org.apache.airavata.model.group.GroupModel groupModel;
+      public updateGroup_call(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.authzToken = authzToken;
+        this.groupModel = groupModel;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        updateGroup_args args = new updateGroup_args();
+        args.setAuthzToken(authzToken);
+        args.setGroupModel(groupModel);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_updateGroup();
+      }
+    }
+
+    public void deleteGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String ownerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      deleteGroup_call method_call = new deleteGroup_call(authzToken, groupId, ownerId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class deleteGroup_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
+      private java.lang.String groupId;
+      private java.lang.String ownerId;
+      public deleteGroup_call(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String ownerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.authzToken = authzToken;
+        this.groupId = groupId;
+        this.ownerId = ownerId;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        deleteGroup_args args = new deleteGroup_args();
+        args.setAuthzToken(authzToken);
+        args.setGroupId(groupId);
+        args.setOwnerId(ownerId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_deleteGroup();
+      }
+    }
+
+    public void getGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.group.GroupModel> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getGroup_call method_call = new getGroup_call(authzToken, groupId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getGroup_call extends org.apache.thrift.async.TAsyncMethodCall<org.apache.airavata.model.group.GroupModel> {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
+      private java.lang.String groupId;
+      public getGroup_call(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.group.GroupModel> 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.authzToken = authzToken;
+        this.groupId = groupId;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getGroup_args args = new getGroup_args();
+        args.setAuthzToken(authzToken);
+        args.setGroupId(groupId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public org.apache.airavata.model.group.GroupModel getResult() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_getGroup();
+      }
+    }
+
+    public void getAllGroupsUserBelongs(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.group.GroupModel>> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getAllGroupsUserBelongs_call method_call = new getAllGroupsUserBelongs_call(authzToken, userName, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getAllGroupsUserBelongs_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<org.apache.airavata.model.group.GroupModel>> {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
+      private java.lang.String userName;
+      public getAllGroupsUserBelongs_call(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.group.GroupModel>> 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.authzToken = authzToken;
+        this.userName = userName;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllGroupsUserBelongs", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getAllGroupsUserBelongs_args args = new getAllGroupsUserBelongs_args();
+        args.setAuthzToken(authzToken);
+        args.setUserName(userName);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public java.util.List<org.apache.airavata.model.group.GroupModel> getResult() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_getAllGroupsUserBelongs();
+      }
+    }
+
+    public void transferGroupOwnership(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String newOwnerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      transferGroupOwnership_call method_call = new transferGroupOwnership_call(authzToken, domainId, groupId, newOwnerId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class transferGroupOwnership_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
+      private java.lang.String domainId;
+      private java.lang.String groupId;
+      private java.lang.String newOwnerId;
+      public transferGroupOwnership_call(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String newOwnerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.authzToken = authzToken;
+        this.domainId = domainId;
+        this.groupId = groupId;
+        this.newOwnerId = newOwnerId;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("transferGroupOwnership", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        transferGroupOwnership_args args = new transferGroupOwnership_args();
+        args.setAuthzToken(authzToken);
+        args.setDomainId(domainId);
+        args.setGroupId(groupId);
+        args.setNewOwnerId(newOwnerId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_transferGroupOwnership();
+      }
+    }
+
+    public void addGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      addGroupAdmins_call method_call = new addGroupAdmins_call(authzToken, domainId, groupId, adminIds, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class addGroupAdmins_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
+      private java.lang.String domainId;
+      private java.lang.String groupId;
+      private java.util.List<java.lang.String> adminIds;
+      public addGroupAdmins_call(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.authzToken = authzToken;
+        this.domainId = domainId;
+        this.groupId = groupId;
+        this.adminIds = adminIds;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addGroupAdmins", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        addGroupAdmins_args args = new addGroupAdmins_args();
+        args.setAuthzToken(authzToken);
+        args.setDomainId(domainId);
+        args.setGroupId(groupId);
+        args.setAdminIds(adminIds);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_addGroupAdmins();
+      }
+    }
+
+    public void removeGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      removeGroupAdmins_call method_call = new removeGroupAdmins_call(authzToken, domainId, groupId, adminIds, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class removeGroupAdmins_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
+      private java.lang.String domainId;
+      private java.lang.String groupId;
+      private java.util.List<java.lang.String> adminIds;
+      public removeGroupAdmins_call(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.authzToken = authzToken;
+        this.domainId = domainId;
+        this.groupId = groupId;
+        this.adminIds = adminIds;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeGroupAdmins", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        removeGroupAdmins_args args = new removeGroupAdmins_args();
+        args.setAuthzToken(authzToken);
+        args.setDomainId(domainId);
+        args.setGroupId(groupId);
+        args.setAdminIds(adminIds);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_removeGroupAdmins();
+      }
+    }
+
+    public void hasAdminAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String adminId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      hasAdminAccess_call method_call = new hasAdminAccess_call(authzToken, domainId, groupId, adminId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class hasAdminAccess_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
+      private java.lang.String domainId;
+      private java.lang.String groupId;
+      private java.lang.String adminId;
+      public hasAdminAccess_call(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String adminId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.authzToken = authzToken;
+        this.domainId = domainId;
+        this.groupId = groupId;
+        this.adminId = adminId;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("hasAdminAccess", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        hasAdminAccess_args args = new hasAdminAccess_args();
+        args.setAuthzToken(authzToken);
+        args.setDomainId(domainId);
+        args.setGroupId(groupId);
+        args.setAdminId(adminId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_hasAdminAccess();
+      }
+    }
+
+    public void hasOwnerAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String ownerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      hasOwnerAccess_call method_call = new hasOwnerAccess_call(authzToken, domainId, groupId, ownerId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class hasOwnerAccess_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
+      private java.lang.String domainId;
+      private java.lang.String groupId;
+      private java.lang.String ownerId;
+      public hasOwnerAccess_call(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String ownerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.authzToken = authzToken;
+        this.domainId = domainId;
+        this.groupId = groupId;
+        this.ownerId = ownerId;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("hasOwnerAccess", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        hasOwnerAccess_args args = new hasOwnerAccess_args();
+        args.setAuthzToken(authzToken);
+        args.setDomainId(domainId);
+        args.setGroupId(groupId);
+        args.setOwnerId(ownerId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_hasOwnerAccess();
+      }
+    }
+
+  }
+
+  public static class Processor<I extends Iface> extends org.apache.thrift.TBaseProcessor<I> implements org.apache.thrift.TProcessor {
+    private static final org.slf4j.Logger _LOGGER = org.slf4j.LoggerFactory.getLogger(Processor.class.getName());
+    public Processor(I iface) {
+      super(iface, getProcessMap(new java.util.HashMap<java.lang.String, org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>>()));
+    }
+
+    protected Processor(I iface, java.util.Map<java.lang.String, org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>> processMap) {
+      super(iface, getProcessMap(processMap));
+    }
+
+    private static <I extends Iface> java.util.Map<java.lang.String,  org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>> getProcessMap(java.util.Map<java.lang.String, org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
+      processMap.put("createGroup", new createGroup());
+      processMap.put("updateGroup", new updateGroup());
+      processMap.put("deleteGroup", new deleteGroup());
+      processMap.put("getGroup", new getGroup());
+      processMap.put("getAllGroupsUserBelongs", new getAllGroupsUserBelongs());
+      processMap.put("transferGroupOwnership", new transferGroupOwnership());
+      processMap.put("addGroupAdmins", new addGroupAdmins());
+      processMap.put("removeGroupAdmins", new removeGroupAdmins());
+      processMap.put("hasAdminAccess", new hasAdminAccess());
+      processMap.put("hasOwnerAccess", new hasOwnerAccess());
+      return processMap;
+    }
+
+    public static class createGroup<I extends Iface> extends org.apache.thrift.ProcessFunction<I, createGroup_args> {
+      public createGroup() {
+        super("createGroup");
+      }
+
+      public createGroup_args getEmptyArgsInstance() {
+        return new createGroup_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
+      public createGroup_result getResult(I iface, createGroup_args args) throws org.apache.thrift.TException {
+        createGroup_result result = new createGroup_result();
+        try {
+          result.success = iface.createGroup(args.authzToken, args.groupModel);
+        } catch (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+          result.gse = gse;
+        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
+          result.ae = ae;
+        }
+        return result;
+      }
+    }
+
+    public static class updateGroup<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateGroup_args> {
+      public updateGroup() {
+        super("updateGroup");
+      }
+
+      public updateGroup_args getEmptyArgsInstance() {
+        return new updateGroup_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
+      public updateGroup_result getResult(I iface, updateGroup_args args) throws org.apache.thrift.TException {
+        updateGroup_result result = new updateGroup_result();
+        try {
+          result.success = iface.updateGroup(args.authzToken, args.groupModel);
+          result.setSuccessIsSet(true);
+        } catch (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+          result.gse = gse;
+        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
+          result.ae = ae;
+        }
+        return result;
+      }
+    }
+
+    public static class deleteGroup<I extends Iface> extends org.apache.thrift.ProcessFunction<I, deleteGroup_args> {
+      public deleteGroup() {
+        super("deleteGroup");
+      }
+
+      public deleteGroup_args getEmptyArgsInstance() {
+        return new deleteGroup_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
+      public deleteGroup_result getResult(I iface, deleteGroup_args args) throws org.apache.thrift.TException {
+        deleteGroup_result result = new deleteGroup_result();
+        try {
+          result.success = iface.deleteGroup(args.authzToken, args.groupId, args.ownerId);
+          result.setSuccessIsSet(true);
+        } catch (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+          result.gse = gse;
+        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
+          result.ae = ae;
+        }
+        return result;
+      }
+    }
+
+    public static class getGroup<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getGroup_args> {
+      public getGroup() {
+        super("getGroup");
+      }
+
+      public getGroup_args getEmptyArgsInstance() {
+        return new getGroup_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
+      public getGroup_result getResult(I iface, getGroup_args args) throws org.apache.thrift.TException {
+        getGroup_result result = new getGroup_result();
+        try {
+          result.success = iface.getGroup(args.authzToken, args.groupId);
+        } catch (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+          result.gse = gse;
+        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
+          result.ae = ae;
+        }
+        return result;
+      }
+    }
+
+    public static class getAllGroupsUserBelongs<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAllGroupsUserBelongs_args> {
+      public getAllGroupsUserBelongs() {
+        super("getAllGroupsUserBelongs");
+      }
+
+      public getAllGroupsUserBelongs_args getEmptyArgsInstance() {
+        return new getAllGroupsUserBelongs_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
+      public getAllGroupsUserBelongs_result getResult(I iface, getAllGroupsUserBelongs_args args) throws org.apache.thrift.TException {
+        getAllGroupsUserBelongs_result result = new getAllGroupsUserBelongs_result();
+        try {
+          result.success = iface.getAllGroupsUserBelongs(args.authzToken, args.userName);
+        } catch (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+          result.gse = gse;
+        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
+          result.ae = ae;
+        }
+        return result;
+      }
+    }
+
+    public static class transferGroupOwnership<I extends Iface> extends org.apache.thrift.ProcessFunction<I, transferGroupOwnership_args> {
+      public transferGroupOwnership() {
+        super("transferGroupOwnership");
+      }
+
+      public transferGroupOwnership_args getEmptyArgsInstance() {
+        return new transferGroupOwnership_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
+      public transferGroupOwnership_result getResult(I iface, transferGroupOwnership_args args) throws org.apache.thrift.TException {
+        transferGroupOwnership_result result = new transferGroupOwnership_result();
+        try {
+          result.success = iface.transferGroupOwnership(args.authzToken, args.domainId, args.groupId, args.newOwnerId);
+          result.setSuccessIsSet(true);
+        } catch (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+          result.gse = gse;
+        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
+          result.ae = ae;
+        }
+        return result;
+      }
+    }
+
+    public static class addGroupAdmins<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addGroupAdmins_args> {
+      public addGroupAdmins() {
+        super("addGroupAdmins");
+      }
+
+      public addGroupAdmins_args getEmptyArgsInstance() {
+        return new addGroupAdmins_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
+      public addGroupAdmins_result getResult(I iface, addGroupAdmins_args args) throws org.apache.thrift.TException {
+        addGroupAdmins_result result = new addGroupAdmins_result();
+        try {
+          result.success = iface.addGroupAdmins(args.authzToken, args.domainId, args.groupId, args.adminIds);
+          result.setSuccessIsSet(true);
+        } catch (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+          result.gse = gse;
+        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
+          result.ae = ae;
+        }
+        return result;
+      }
+    }
+
+    public static class removeGroupAdmins<I extends Iface> extends org.apache.thrift.ProcessFunction<I, removeGroupAdmins_args> {
+      public removeGroupAdmins() {
+        super("removeGroupAdmins");
+      }
+
+      public removeGroupAdmins_args getEmptyArgsInstance() {
+        return new removeGroupAdmins_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
+      public removeGroupAdmins_result getResult(I iface, removeGroupAdmins_args args) throws org.apache.thrift.TException {
+        removeGroupAdmins_result result = new removeGroupAdmins_result();
+        try {
+          result.success = iface.removeGroupAdmins(args.authzToken, args.domainId, args.groupId, args.adminIds);
+          result.setSuccessIsSet(true);
+        } catch (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+          result.gse = gse;
+        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
+          result.ae = ae;
+        }
+        return result;
+      }
+    }
+
+    public static class hasAdminAccess<I extends Iface> extends org.apache.thrift.ProcessFunction<I, hasAdminAccess_args> {
+      public hasAdminAccess() {
+        super("hasAdminAccess");
+      }
+
+      public hasAdminAccess_args getEmptyArgsInstance() {
+        return new hasAdminAccess_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
+      public hasAdminAccess_result getResult(I iface, hasAdminAccess_args args) throws org.apache.thrift.TException {
+        hasAdminAccess_result result = new hasAdminAccess_result();
+        try {
+          result.success = iface.hasAdminAccess(args.authzToken, args.domainId, args.groupId, args.adminId);
+          result.setSuccessIsSet(true);
+        } catch (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+          result.gse = gse;
+        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
+          result.ae = ae;
+        }
+        return result;
+      }
+    }
+
+    public static class hasOwnerAccess<I extends Iface> extends org.apache.thrift.ProcessFunction<I, hasOwnerAccess_args> {
+      public hasOwnerAccess() {
+        super("hasOwnerAccess");
+      }
+
+      public hasOwnerAccess_args getEmptyArgsInstance() {
+        return new hasOwnerAccess_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
+      public hasOwnerAccess_result getResult(I iface, hasOwnerAccess_args args) throws org.apache.thrift.TException {
+        hasOwnerAccess_result result = new hasOwnerAccess_result();
+        try {
+          result.success = iface.hasOwnerAccess(args.authzToken, args.domainId, args.groupId, args.ownerId);
+          result.setSuccessIsSet(true);
+        } catch (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+          result.gse = gse;
+        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
+          result.ae = ae;
+        }
+        return result;
+      }
+    }
+
+  }
+
+  public static class AsyncProcessor<I extends AsyncIface> extends org.apache.thrift.TBaseAsyncProcessor<I> {
+    private static final org.slf4j.Logger _LOGGER = org.slf4j.LoggerFactory.getLogger(AsyncProcessor.class.getName());
+    public AsyncProcessor(I iface) {
+      super(iface, getProcessMap(new java.util.HashMap<java.lang.String, org.apache.thrift.AsyncProcessFunction<I, ? extends org.apache.thrift.TBase, ?>>()));
+    }
+
+    protected AsyncProcessor(I iface, java.util.Map<java.lang.String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
+      super(iface, getProcessMap(processMap));
+    }
+
+    private static <I extends AsyncIface> java.util.Map<java.lang.String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase,?>> getProcessMap(java.util.Map<java.lang.String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
+      processMap.put("createGroup", new createGroup());
+      processMap.put("updateGroup", new updateGroup());
+      processMap.put("deleteGroup", new deleteGroup());
+      processMap.put("getGroup", new getGroup());
+      processMap.put("getAllGroupsUserBelongs", new getAllGroupsUserBelongs());
+      processMap.put("transferGroupOwnership", new transferGroupOwnership());
+      processMap.put("addGroupAdmins", new addGroupAdmins());
+      processMap.put("removeGroupAdmins", new removeGroupAdmins());
+      processMap.put("hasAdminAccess", new hasAdminAccess());
+      processMap.put("hasOwnerAccess", new hasOwnerAccess());
+      return processMap;
+    }
+
+    public static class createGroup<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createGroup_args, java.lang.String> {
+      public createGroup() {
+        super("createGroup");
+      }
+
+      public createGroup_args getEmptyArgsInstance() {
+        return new createGroup_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            createGroup_result result = new createGroup_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            createGroup_result result = new createGroup_result();
+            if (e instanceof org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException) {
+              result.gse = (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException) e;
+              result.setGseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+              result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+              result.setAeIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, createGroup_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.createGroup(args.authzToken, args.groupModel,resultHandler);
+      }
+    }
+
+    public static class updateGroup<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateGroup_args, java.lang.Boolean> {
+      public updateGroup() {
+        super("updateGroup");
+      }
+
+      public updateGroup_args getEmptyArgsInstance() {
+        return new updateGroup_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            updateGroup_result result = new updateGroup_result();
+            result.success = o;
+            result.setSuccessIsSet(true);
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            updateGroup_result result = new updateGroup_result();
+            if (e instanceof org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException) {
+              result.gse = (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException) e;
+              result.setGseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+              result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+              result.setAeIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, updateGroup_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.updateGroup(args.authzToken, args.groupModel,resultHandler);
+      }
+    }
+
+    public static class deleteGroup<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteGroup_args, java.lang.Boolean> {
+      public deleteGroup() {
+        super("deleteGroup");
+      }
+
+      public deleteGroup_args getEmptyArgsInstance() {
+        return new deleteGroup_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            deleteGroup_result result = new deleteGroup_result();
+            result.success = o;
+            result.setSuccessIsSet(true);
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            deleteGroup_result result = new deleteGroup_result();
+            if (e instanceof org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException) {
+              result.gse = (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException) e;
+              result.setGseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+              result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+              result.setAeIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, deleteGroup_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteGroup(args.authzToken, args.groupId, args.ownerId,resultHandler);
+      }
+    }
+
+    public static class getGroup<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroup_args, org.apache.airavata.model.group.GroupModel> {
+      public getGroup() {
+        super("getGroup");
+      }
+
+      public getGroup_args getEmptyArgsInstance() {
+        return new getGroup_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.group.GroupModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.group.GroupModel>() { 
+          public void onComplete(org.apache.airavata.model.group.GroupModel o) {
+            getGroup_result result = new getGroup_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            getGroup_result result = new getGroup_result();
+            if (e instanceof org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException) {
+              result.gse = (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException) e;
+              result.setGseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+              result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+              result.setAeIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, getGroup_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.group.GroupModel> resultHandler) throws org.apache.thrift.TException {
+        iface.getGroup(args.authzToken, args.groupId,resultHandler);
+      }
+    }
+
+    public static class getAllGroupsUserBelongs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllGroupsUserBelongs_args, java.util.List<org.apache.airavata.model.group.GroupModel>> {
+      public getAllGroupsUserBelongs() {
+        super("getAllGroupsUserBelongs");
+      }
+
+      public getAllGroupsUserBelongs_args getEmptyArgsInstance() {
+        return new getAllGroupsUserBelongs_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.group.GroupModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.group.GroupModel>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.group.GroupModel> o) {
+            getAllGroupsUserBelongs_result result = new getAllGroupsUserBelongs_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            getAllGroupsUserBelongs_result result = new getAllGroupsUserBelongs_result();
+            if (e instanceof org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException) {
+              result.gse = (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException) e;
+              result.setGseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+              result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+              result.setAeIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, getAllGroupsUserBelongs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.group.GroupModel>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAllGroupsUserBelongs(args.authzToken, args.userName,resultHandler);
+      }
+    }
+
+    public static class transferGroupOwnership<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, transferGroupOwnership_args, java.lang.Boolean> {
+      public transferGroupOwnership() {
+        super("transferGroupOwnership");
+      }
+
+      public transferGroupOwnership_args getEmptyArgsInstance() {
+        return new transferGroupOwnership_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            transferGroupOwnership_result result = new transferGroupOwnership_result();
+            result.success = o;
+            result.setSuccessIsSet(true);
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            transferGroupOwnership_result result = new transferGroupOwnership_result();
+            if (e instanceof org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException) {
+              result.gse = (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException) e;
+              result.setGseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+              result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+              result.setAeIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, transferGroupOwnership_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.transferGroupOwnership(args.authzToken, args.domainId, args.groupId, args.newOwnerId,resultHandler);
+      }
+    }
+
+    public static class addGroupAdmins<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addGroupAdmins_args, java.lang.Boolean> {
+      public addGroupAdmins() {
+        super("addGroupAdmins");
+      }
+
+      public addGroupAdmins_args getEmptyArgsInstance() {
+        return new addGroupAdmins_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            addGroupAdmins_result result = new addGroupAdmins_result();
+            result.success = o;
+            result.setSuccessIsSet(true);
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            addGroupAdmins_result result = new addGroupAdmins_result();
+            if (e instanceof org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException) {
+              result.gse = (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException) e;
+              result.setGseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+              result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+              result.setAeIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, addGroupAdmins_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.addGroupAdmins(args.authzToken, args.domainId, args.groupId, args.adminIds,resultHandler);
+      }
+    }
+
+    public static class removeGroupAdmins<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeGroupAdmins_args, java.lang.Boolean> {
+      public removeGroupAdmins() {
+        super("removeGroupAdmins");
+      }
+
+      public removeGroupAdmins_args getEmptyArgsInstance() {
+        return new removeGroupAdmins_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            removeGroupAdmins_result result = new removeGroupAdmins_result();
+            result.success = o;
+            result.setSuccessIsSet(true);
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            removeGroupAdmins_result result = new removeGroupAdmins_result();
+            if (e instanceof org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException) {
+              result.gse = (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException) e;
+              result.setGseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+              result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+              result.setAeIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, removeGroupAdmins_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.removeGroupAdmins(args.authzToken, args.domainId, args.groupId, args.adminIds,resultHandler);
+      }
+    }
+
+    public static class hasAdminAccess<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, hasAdminAccess_args, java.lang.Boolean> {
+      public hasAdminAccess() {
+        super("hasAdminAccess");
+      }
+
+      public hasAdminAccess_args getEmptyArgsInstance() {
+        return new hasAdminAccess_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            hasAdminAccess_result result = new hasAdminAccess_result();
+            result.success = o;
+            result.setSuccessIsSet(true);
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            hasAdminAccess_result result = new hasAdminAccess_result();
+            if (e instanceof org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException) {
+              result.gse = (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException) e;
+              result.setGseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+              result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+              result.setAeIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, hasAdminAccess_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.hasAdminAccess(args.authzToken, args.domainId, args.groupId, args.adminId,resultHandler);
+      }
+    }
+
+    public static class hasOwnerAccess<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, hasOwnerAccess_args, java.lang.Boolean> {
+      public hasOwnerAccess() {
+        super("hasOwnerAccess");
+      }
+
+      public hasOwnerAccess_args getEmptyArgsInstance() {
+        return new hasOwnerAccess_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          public void onComplete(java.lang.Boolean o) {
+            hasOwnerAccess_result result = new hasOwnerAccess_result();
+            result.success = o;
+            result.setSuccessIsSet(true);
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            hasOwnerAccess_result result = new hasOwnerAccess_result();
+            if (e instanceof org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException) {
+              result.gse = (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException) e;
+              result.setGseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+              result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+              result.setAeIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, hasOwnerAccess_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.hasOwnerAccess(args.authzToken, args.domainId, args.groupId, args.ownerId,resultHandler);
+      }
+    }
+
+  }
+
+  public static class createGroup_args implements org.apache.thrift.TBase<createGroup_args, createGroup_args._Fields>, java.io.Serializable, Cloneable, Comparable<createGroup_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createGroup_args");
+
+    private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField GROUP_MODEL_FIELD_DESC = new org.apache.thrift.protocol.TField("groupModel", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createGroup_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createGroup_argsTupleSchemeFactory();
+
+    public org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public org.apache.airavata.model.group.GroupModel groupModel; // 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 {
+      AUTHZ_TOKEN((short)1, "authzToken"),
+      GROUP_MODEL((short)2, "groupModel");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // AUTHZ_TOKEN
+            return AUTHZ_TOKEN;
+          case 2: // GROUP_MODEL
+            return GROUP_MODEL;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
+      tmpMap.put(_Fields.GROUP_MODEL, new org.apache.thrift.meta_data.FieldMetaData("groupModel", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.group.GroupModel.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createGroup_args.class, metaDataMap);
+    }
+
+    public createGroup_args() {
+    }
+
+    public createGroup_args(
+      org.apache.airavata.model.security.AuthzToken authzToken,
+      org.apache.airavata.model.group.GroupModel groupModel)
+    {
+      this();
+      this.authzToken = authzToken;
+      this.groupModel = groupModel;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public createGroup_args(createGroup_args other) {
+      if (other.isSetAuthzToken()) {
+        this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
+      }
+      if (other.isSetGroupModel()) {
+        this.groupModel = new org.apache.airavata.model.group.GroupModel(other.groupModel);
+      }
+    }
+
+    public createGroup_args deepCopy() {
+      return new createGroup_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.authzToken = null;
+      this.groupModel = null;
+    }
+
+    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
+      return this.authzToken;
+    }
+
+    public createGroup_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+      this.authzToken = authzToken;
+      return this;
+    }
+
+    public void unsetAuthzToken() {
+      this.authzToken = null;
+    }
+
+    /** Returns true if field authzToken is set (has been assigned a value) and false otherwise */
+    public boolean isSetAuthzToken() {
+      return this.authzToken != null;
+    }
+
+    public void setAuthzTokenIsSet(boolean value) {
+      if (!value) {
+        this.authzToken = null;
+      }
+    }
+
+    public org.apache.airavata.model.group.GroupModel getGroupModel() {
+      return this.groupModel;
+    }
+
+    public createGroup_args setGroupModel(org.apache.airavata.model.group.GroupModel groupModel) {
+      this.groupModel = groupModel;
+      return this;
+    }
+
+    public void unsetGroupModel() {
+      this.groupModel = null;
+    }
+
+    /** Returns true if field groupModel is set (has been assigned a value) and false otherwise */
+    public boolean isSetGroupModel() {
+      return this.groupModel != null;
+    }
+
+    public void setGroupModelIsSet(boolean value) {
+      if (!value) {
+        this.groupModel = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case AUTHZ_TOKEN:
+        if (value == null) {
+          unsetAuthzToken();
+        } else {
+          setAuthzToken((org.apache.airavata.model.security.AuthzToken)value);
+        }
+        break;
+
+      case GROUP_MODEL:
+        if (value == null) {
+          unsetGroupModel();
+        } else {
+          setGroupModel((org.apache.airavata.model.group.GroupModel)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case AUTHZ_TOKEN:
+        return getAuthzToken();
+
+      case GROUP_MODEL:
+        return getGroupModel();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case AUTHZ_TOKEN:
+        return isSetAuthzToken();
+      case GROUP_MODEL:
+        return isSetGroupModel();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof createGroup_args)
+        return this.equals((createGroup_args)that);
+      return false;
+    }
+
+    public boolean equals(createGroup_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_authzToken = true && this.isSetAuthzToken();
+      boolean that_present_authzToken = true && that.isSetAuthzToken();
+      if (this_present_authzToken || that_present_authzToken) {
+        if (!(this_present_authzToken && that_present_authzToken))
+          return false;
+        if (!this.authzToken.equals(that.authzToken))
+          return false;
+      }
+
+      boolean this_present_groupModel = true && this.isSetGroupModel();
+      boolean that_present_groupModel = true && that.isSetGroupModel();
+      if (this_present_groupModel || that_present_groupModel) {
+        if (!(this_present_groupModel && that_present_groupModel))
+          return false;
+        if (!this.groupModel.equals(that.groupModel))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetAuthzToken()) ? 131071 : 524287);
+      if (isSetAuthzToken())
+        hashCode = hashCode * 8191 + authzToken.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetGroupModel()) ? 131071 : 524287);
+      if (isSetGroupModel())
+        hashCode = hashCode * 8191 + groupModel.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(createGroup_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAuthzToken()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authzToken, other.authzToken);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetGroupModel()).compareTo(other.isSetGroupModel());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGroupModel()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.groupModel, other.groupModel);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+    }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("createGroup_args(");
+      boolean first = true;
+
+      sb.append("authzToken:");
+      if (this.authzToken == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.authzToken);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("groupModel:");
+      if (this.groupModel == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.groupModel);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (authzToken == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
+      }
+      if (groupModel == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupModel' was not present! Struct: " + toString());
+      }
+      // check for sub-struct validity
+      if (authzToken != null) {
+        authzToken.validate();
+      }
+      if (groupModel != null) {
+        groupModel.validate();
+      }
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+      try {
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class createGroup_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public createGroup_argsStandardScheme getScheme() {
+        return new createGroup_argsStandardScheme();
+      }
+    }
+
+    private static class createGroup_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<createGroup_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, createGroup_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        while (true)
+        {
+          schemeField = iprot.readFieldBegin();
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+            break;
+          }
+          switch (schemeField.id) {
+            case 1: // AUTHZ_TOKEN
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+                struct.authzToken.read(iprot);
+                struct.setAuthzTokenIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // GROUP_MODEL
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.groupModel = new org.apache.airavata.model.group.GroupModel();
+                struct.groupModel.read(iprot);
+                struct.setGroupModelIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            default:
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+          }
+          iprot.readFieldEnd();
+        }
+        iprot.readStructEnd();
+
+        // check for required fields of primitive type, which can't be checked in the validate method
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, createGroup_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.authzToken != null) {
+          oprot.writeFieldBegin(AUTHZ_TOKEN_FIELD_DESC);
+          struct.authzToken.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.groupModel != null) {
+          oprot.writeFieldBegin(GROUP_MODEL_FIELD_DESC);
+          struct.groupModel.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class createGroup_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public createGroup_argsTupleScheme getScheme() {
+        return new createGroup_argsTupleScheme();
+      }
+    }
+
+    private static class createGroup_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<createGroup_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, createGroup_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.authzToken.write(oprot);
+        struct.groupModel.write(oprot);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, createGroup_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+        struct.authzToken.read(iprot);
+        struct.setAuthzTokenIsSet(true);
+        struct.groupModel = new org.apache.airavata.model.group.GroupModel();
+        struct.groupModel.read(iprot);
+        struct.setGroupModelIsSet(true);
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  public static class createGroup_result implements org.apache.thrift.TBase<createGroup_result, createGroup_result._Fields>, java.io.Serializable, Cloneable, Comparable<createGroup_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createGroup_result");
+
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
+    private static final org.apache.thrift.protocol.TField GSE_FIELD_DESC = new org.apache.thrift.protocol.TField("gse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createGroup_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createGroup_resultTupleSchemeFactory();
+
+    public java.lang.String success; // required
+    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
+    public org.apache.airavata.model.error.AuthorizationException ae; // required
+
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      SUCCESS((short)0, "success"),
+      GSE((short)1, "gse"),
+      AE((short)2, "ae");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 0: // SUCCESS
+            return SUCCESS;
+          case 1: // GSE
+            return GSE;
+          case 2: // AE
+            return AE;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.GSE, new org.apache.thrift.meta_data.FieldMetaData("gse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException.class)));
+      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createGroup_result.class, metaDataMap);
+    }
+
+    public createGroup_result() {
+    }
+
+    public createGroup_result(
+      java.lang.String success,
+      org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse,
+      org.apache.airavata.model.error.AuthorizationException ae)
+    {
+      this();
+      this.success = success;
+      this.gse = gse;
+      this.ae = ae;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public createGroup_result(createGroup_result other) {
+      if (other.isSetSuccess()) {
+        this.success = other.success;
+      }
+      if (other.isSetGse()) {
+        this.gse = new org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException(other.gse);
+      }
+      if (other.isSetAe()) {
+        this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
+      }
+    }
+
+    public createGroup_result deepCopy() {
+      return new createGroup_result(this);
+    }
+
+    @Override
+    public void clear() {
+      this.success = null;
+      this.gse = null;
+      this.ae = null;
+    }
+
+    public java.lang.String getSuccess() {
+      return this.success;
+    }
+
+    public createGroup_result setSuccess(java.lang.String success) {
+      this.success = success;
+      return this;
+    }
+
+    public void unsetSuccess() {
+      this.success = null;
+    }
+
+    /** Returns true if field success is set (has been assigned a value) and false otherwise */
+    public boolean isSetSuccess() {
+      return this.success != null;
+    }
+
+    public void setSuccessIsSet(boolean value) {
+      if (!value) {
+        this.success = null;
+      }
+    }
+
+    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException getGse() {
+      return this.gse;
+    }
+
+    public createGroup_result setGse(org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+      this.gse = gse;
+      return this;
+    }
+
+    public void unsetGse() {
+      this.gse = null;
+    }
+
+    /** Returns true if field gse is set (has been assigned a value) and false otherwise */
+    public boolean isSetGse() {
+      return this.gse != null;
+    }
+
+    public void setGseIsSet(boolean value) {
+      if (!value) {
+        this.gse = null;
+      }
+    }
+
+    public org.apache.airavata.model.error.AuthorizationException getAe() {
+      return this.ae;
+    }
+
+    public createGroup_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+      this.ae = ae;
+      return this;
+    }
+
+    public void unsetAe() {
+      this.ae = null;
+    }
+
+    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
+    public boolean isSetAe() {
+      return this.ae != null;
+    }
+
+    public void setAeIsSet(boolean value) {
+      if (!value) {
+        this.ae = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((java.lang.String)value);
+        }
+        break;
+
+      case GSE:
+        if (value == null) {
+          unsetGse();
+        } else {
+          setGse((org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException)value);
+        }
+        break;
+
+      case AE:
+        if (value == null) {
+          unsetAe();
+        } else {
+          setAe((org.apache.airavata.model.error.AuthorizationException)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return getSuccess();
+
+      case GSE:
+        return getGse();
+
+      case AE:
+        return getAe();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case SUCCESS:
+        return isSetSuccess();
+      case GSE:
+        return isSetGse();
+      case AE:
+        return isSetAe();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof createGroup_result)
+        return this.equals((createGroup_result)that);
+      return false;
+    }
+
+    public boolean equals(createGroup_result that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_success = true && this.isSetSuccess();
+      boolean that_present_success = true && that.isSetSuccess();
+      if (this_present_success || that_present_success) {
+        if (!(this_present_success && that_present_success))
+          return false;
+        if (!this.success.equals(that.success))
+          return false;
+      }
+
+      boolean this_present_gse = true && this.isSetGse();
+      boolean that_present_gse = true && that.isSetGse();
+      if (this_present_gse || that_present_gse) {
+        if (!(this_present_gse && that_present_gse))
+          return false;
+        if (!this.gse.equals(that.gse))
+          return false;
+      }
+
+      boolean this_present_ae = true && this.isSetAe();
+      boolean that_present_ae = true && that.isSetAe();
+      if (this_present_ae || that_present_ae) {
+        if (!(this_present_ae && that_present_ae))
+          return false;
+        if (!this.ae.equals(that.ae))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
+      if (isSetSuccess())
+        hashCode = hashCode * 8191 + success.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetGse()) ? 131071 : 524287);
+      if (isSetGse())
+        hashCode = hashCode * 8191 + gse.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetAe()) ? 131071 : 524287);
+      if (isSetAe())
+        hashCode = hashCode * 8191 + ae.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(createGroup_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetSuccess()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetGse()).compareTo(other.isSetGse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gse, other.gse);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAe()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+      }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("createGroup_result(");
+      boolean first = true;
+
+      sb.append("success:");
+      if (this.success == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.success);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("gse:");
+      if (this.gse == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.gse);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("ae:");
+      if (this.ae == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.ae);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      // check for sub-struct validity
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+      try {
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class createGroup_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public createGroup_resultStandardScheme getScheme() {
+        return new createGroup_resultStandardScheme();
+      }
+    }
+
+    private static class createGroup_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<createGroup_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, createGroup_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        while (true)
+        {
+          schemeField = iprot.readFieldBegin();
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+            break;
+          }
+          switch (schemeField.id) {
+            case 0: // SUCCESS
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.success = iprot.readString();
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 1: // GSE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.gse = new org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException();
+                struct.gse.read(iprot);
+                struct.setGseIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // AE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+                struct.ae.read(iprot);
+                struct.setAeIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            default:
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+          }
+          iprot.readFieldEnd();
+        }
+        iprot.readStructEnd();
+
+        // check for required fields of primitive type, which can't be checked in the validate method
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, createGroup_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.success != null) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          oprot.writeString(struct.success);
+          oprot.writeFieldEnd();
+        }
+        if (struct.gse != null) {
+          oprot.writeFieldBegin(GSE_FIELD_DESC);
+          struct.gse.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.ae != null) {
+          oprot.writeFieldBegin(AE_FIELD_DESC);
+          struct.ae.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class createGroup_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public createGroup_resultTupleScheme getScheme() {
+        return new createGroup_resultTupleScheme();
+      }
+    }
+
+    private static class createGroup_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<createGroup_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, createGroup_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetSuccess()) {
+          optionals.set(0);
+        }
+        if (struct.isSetGse()) {
+          optionals.set(1);
+        }
+        if (struct.isSetAe()) {
+          optionals.set(2);
+        }
+        oprot.writeBitSet(optionals, 3);
+        if (struct.isSetSuccess()) {
+          oprot.writeString(struct.success);
+        }
+        if (struct.isSetGse()) {
+          struct.gse.write(oprot);
+        }
+        if (struct.isSetAe()) {
+          struct.ae.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, createGroup_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(3);
+        if (incoming.get(0)) {
+          struct.success = iprot.readString();
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.gse = new org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException();
+          struct.gse.read(iprot);
+          struct.setGseIsSet(true);
+        }
+        if (incoming.get(2)) {
+          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+          struct.ae.read(iprot);
+          struct.setAeIsSet(true);
+        }
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  public static class updateGroup_args implements org.apache.thrift.TBase<updateGroup_args, updateGroup_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateGroup_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGroup_args");
+
+    private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField GROUP_MODEL_FIELD_DESC = new org.apache.thrift.protocol.TField("groupModel", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGroup_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGroup_argsTupleSchemeFactory();
+
+    public org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public org.apache.airavata.model.group.GroupModel groupModel; // 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 {
+      AUTHZ_TOKEN((short)1, "authzToken"),
+      GROUP_MODEL((short)2, "groupModel");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // AUTHZ_TOKEN
+            return AUTHZ_TOKEN;
+          case 2: // GROUP_MODEL
+            return GROUP_MODEL;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
+      tmpMap.put(_Fields.GROUP_MODEL, new org.apache.thrift.meta_data.FieldMetaData("groupModel", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.group.GroupModel.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateGroup_args.class, metaDataMap);
+    }
+
+    public updateGroup_args() {
+    }
+
+    public updateGroup_args(
+      org.apache.airavata.model.security.AuthzToken authzToken,
+      org.apache.airavata.model.group.GroupModel groupModel)
+    {
+      this();
+      this.authzToken = authzToken;
+      this.groupModel = groupModel;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public updateGroup_args(updateGroup_args other) {
+      if (other.isSetAuthzToken()) {
+        this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
+      }
+      if (other.isSetGroupModel()) {
+        this.groupModel = new org.apache.airavata.model.group.GroupModel(other.groupModel);
+      }
+    }
+
+    public updateGroup_args deepCopy() {
+      return new updateGroup_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.authzToken = null;
+      this.groupModel = null;
+    }
+
+    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
+      return this.authzToken;
+    }
+
+    public updateGroup_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+      this.authzToken = authzToken;
+      return this;
+    }
+
+    public void unsetAuthzToken() {
+      this.authzToken = null;
+    }
+
+    /** Returns true if field authzToken is set (has been assigned a value) and false otherwise */
+    public boolean isSetAuthzToken() {
+      return this.authzToken != null;
+    }
+
+    public void setAuthzTokenIsSet(boolean value) {
+      if (!value) {
+        this.authzToken = null;
+      }
+    }
+
+    public org.apache.airavata.model.group.GroupModel getGroupModel() {
+      return this.groupModel;
+    }
+
+    public updateGroup_args setGroupModel(org.apache.airavata.model.group.GroupModel groupModel) {
+      this.groupModel = groupModel;
+      return this;
+    }
+
+    public void unsetGroupModel() {
+      this.groupModel = null;
+    }
+
+    /** Returns true if field groupModel is set (has been assigned a value) and false otherwise */
+    public boolean isSetGroupModel() {
+      return this.groupModel != null;
+    }
+
+    public void setGroupModelIsSet(boolean value) {
+      if (!value) {
+        this.groupModel = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case AUTHZ_TOKEN:
+        if (value == null) {
+          unsetAuthzToken();
+        } else {
+          setAuthzToken((org.apache.airavata.model.security.AuthzToken)value);
+        }
+        break;
+
+      case GROUP_MODEL:
+        if (value == null) {
+          unsetGroupModel();
+        } else {
+          setGroupModel((org.apache.airavata.model.group.GroupModel)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case AUTHZ_TOKEN:
+        return getAuthzToken();
+
+      case GROUP_MODEL:
+        return getGroupModel();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case AUTHZ_TOKEN:
+        return isSetAuthzToken();
+      case GROUP_MODEL:
+        return isSetGroupModel();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof updateGroup_args)
+        return this.equals((updateGroup_args)that);
+      return false;
+    }
+
+    public boolean equals(updateGroup_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_authzToken = true && this.isSetAuthzToken();
+      boolean that_present_authzToken = true && that.isSetAuthzToken();
+      if (this_present_authzToken || that_present_authzToken) {
+        if (!(this_present_authzToken && that_present_authzToken))
+          return false;
+        if (!this.authzToken.equals(that.authzToken))
+          return false;
+      }
+
+      boolean this_present_groupModel = true && this.isSetGroupModel();
+      boolean that_present_groupModel = true && that.isSetGroupModel();
+      if (this_present_groupModel || that_present_groupModel) {
+        if (!(this_present_groupModel && that_present_groupModel))
+          return false;
+        if (!this.groupModel.equals(that.groupModel))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetAuthzToken()) ? 131071 : 524287);
+      if (isSetAuthzToken())
+        hashCode = hashCode * 8191 + authzToken.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetGroupModel()) ? 131071 : 524287);
+      if (isSetGroupModel())
+        hashCode = hashCode * 8191 + groupModel.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(updateGroup_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAuthzToken()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authzToken, other.authzToken);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetGroupModel()).compareTo(other.isSetGroupModel());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGroupModel()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.groupModel, other.groupModel);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+    }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("updateGroup_args(");
+      boolean first = true;
+
+      sb.append("authzToken:");
+      if (this.authzToken == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.authzToken);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("groupModel:");
+      if (this.groupModel == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.groupModel);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (authzToken == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
+      }
+      if (groupModel == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupModel' was not present! Struct: " + toString());
+      }
+      // check for sub-struct validity
+      if (authzToken != null) {
+        authzToken.validate();
+      }
+      if (groupModel != null) {
+        groupModel.validate();
+      }
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+      try {
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class updateGroup_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public updateGroup_argsStandardScheme getScheme() {
+        return new updateGroup_argsStandardScheme();
+      }
+    }
+
+    private static class updateGroup_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGroup_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, updateGroup_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        while (true)
+        {
+          schemeField = iprot.readFieldBegin();
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+            break;
+          }
+          switch (schemeField.id) {
+            case 1: // AUTHZ_TOKEN
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+                struct.authzToken.read(iprot);
+                struct.setAuthzTokenIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // GROUP_MODEL
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.groupModel = new org.apache.airavata.model.group.GroupModel();
+                struct.groupModel.read(iprot);
+                struct.setGroupModelIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            default:
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+          }
+          iprot.readFieldEnd();
+        }
+        iprot.readStructEnd();
+
+        // check for required fields of primitive type, which can't be checked in the validate method
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, updateGroup_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.authzToken != null) {
+          oprot.writeFieldBegin(AUTHZ_TOKEN_FIELD_DESC);
+          struct.authzToken.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.groupModel != null) {
+          oprot.writeFieldBegin(GROUP_MODEL_FIELD_DESC);
+          struct.groupModel.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class updateGroup_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public updateGroup_argsTupleScheme getScheme() {
+        return new updateGroup_argsTupleScheme();
+      }
+    }
+
+    private static class updateGroup_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<updateGroup_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, updateGroup_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.authzToken.write(oprot);
+        struct.groupModel.write(oprot);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, updateGroup_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+        struct.authzToken.read(iprot);
+        struct.setAuthzTokenIsSet(true);
+        struct.groupModel = new org.apache.airavata.model.group.GroupModel();
+        struct.groupModel.read(iprot);
+        struct.setGroupModelIsSet(true);
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  public static class updateGroup_result implements org.apache.thrift.TBase<updateGroup_result, updateGroup_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateGroup_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGroup_result");
+
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
+    private static final org.apache.thrift.protocol.TField GSE_FIELD_DESC = new org.apache.thrift.protocol.TField("gse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGroup_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGroup_resultTupleSchemeFactory();
+
+    public boolean success; // required
+    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
+    public org.apache.airavata.model.error.AuthorizationException ae; // required
+
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      SUCCESS((short)0, "success"),
+      GSE((short)1, "gse"),
+      AE((short)2, "ae");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 0: // SUCCESS
+            return SUCCESS;
+          case 1: // GSE
+            return GSE;
+          case 2: // AE
+            return AE;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    private static final int __SUCCESS_ISSET_ID = 0;
+    private byte __isset_bitfield = 0;
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+      tmpMap.put(_Fields.GSE, new org.apache.thrift.meta_data.FieldMetaData("gse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException.class)));
+      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateGroup_result.class, metaDataMap);
+    }
+
+    public updateGroup_result() {
+    }
+
+    public updateGroup_result(
+      boolean success,
+      org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse,
+      org.apache.airavata.model.error.AuthorizationException ae)
+    {
+      this();
+      this.success = success;
+      setSuccessIsSet(true);
+      this.gse = gse;
+      this.ae = ae;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public updateGroup_result(updateGroup_result other) {
+      __isset_bitfield = other.__isset_bitfield;
+      this.success = other.success;
+      if (other.isSetGse()) {
+        this.gse = new org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException(other.gse);
+      }
+      if (other.isSetAe()) {
+        this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
+      }
+    }
+
+    public updateGroup_result deepCopy() {
+      return new updateGroup_result(this);
+    }
+
+    @Override
+    public void clear() {
+      setSuccessIsSet(false);
+      this.success = false;
+      this.gse = null;
+      this.ae = null;
+    }
+
+    public boolean isSuccess() {
+      return this.success;
+    }
+
+    public updateGroup_result setSuccess(boolean success) {
+      this.success = success;
+      setSuccessIsSet(true);
+      return this;
+    }
+
+    public void unsetSuccess() {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    }
+
+    /** Returns true if field success is set (has been assigned a value) and false otherwise */
+    public boolean isSetSuccess() {
+      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    }
+
+    public void setSuccessIsSet(boolean value) {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
+    }
+
+    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException getGse() {
+      return this.gse;
+    }
+
+    public updateGroup_result setGse(org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+      this.gse = gse;
+      return this;
+    }
+
+    public void unsetGse() {
+      this.gse = null;
+    }
+
+    /** Returns true if field gse is set (has been assigned a value) and false otherwise */
+    public boolean isSetGse() {
+      return this.gse != null;
+    }
+
+    public void setGseIsSet(boolean value) {
+      if (!value) {
+        this.gse = null;
+      }
+    }
+
+    public org.apache.airavata.model.error.AuthorizationException getAe() {
+      return this.ae;
+    }
+
+    public updateGroup_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+      this.ae = ae;
+      return this;
+    }
+
+    public void unsetAe() {
+      this.ae = null;
+    }
+
+    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
+    public boolean isSetAe() {
+      return this.ae != null;
+    }
+
+    public void setAeIsSet(boolean value) {
+      if (!value) {
+        this.ae = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((java.lang.Boolean)value);
+        }
+        break;
+
+      case GSE:
+        if (value == null) {
+          unsetGse();
+        } else {
+          setGse((org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException)value);
+        }
+        break;
+
+      case AE:
+        if (value == null) {
+          unsetAe();
+        } else {
+          setAe((org.apache.airavata.model.error.AuthorizationException)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return isSuccess();
+
+      case GSE:
+        return getGse();
+
+      case AE:
+        return getAe();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case SUCCESS:
+        return isSetSuccess();
+      case GSE:
+        return isSetGse();
+      case AE:
+        return isSetAe();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof updateGroup_result)
+        return this.equals((updateGroup_result)that);
+      return false;
+    }
+
+    public boolean equals(updateGroup_result that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_success = true;
+      boolean that_present_success = true;
+      if (this_present_success || that_present_success) {
+        if (!(this_present_success && that_present_success))
+          return false;
+        if (this.success != that.success)
+          return false;
+      }
+
+      boolean this_present_gse = true && this.isSetGse();
+      boolean that_present_gse = true && that.isSetGse();
+      if (this_present_gse || that_present_gse) {
+        if (!(this_present_gse && that_present_gse))
+          return false;
+        if (!this.gse.equals(that.gse))
+          return false;
+      }
+
+      boolean this_present_ae = true && this.isSetAe();
+      boolean that_present_ae = true && that.isSetAe();
+      if (this_present_ae || that_present_ae) {
+        if (!(this_present_ae && that_present_ae))
+          return false;
+        if (!this.ae.equals(that.ae))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((success) ? 131071 : 524287);
+
+      hashCode = hashCode * 8191 + ((isSetGse()) ? 131071 : 524287);
+      if (isSetGse())
+        hashCode = hashCode * 8191 + gse.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetAe()) ? 131071 : 524287);
+      if (isSetAe())
+        hashCode = hashCode * 8191 + ae.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(updateGroup_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetSuccess()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetGse()).compareTo(other.isSetGse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gse, other.gse);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAe()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+      }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("updateGroup_result(");
+      boolean first = true;
+
+      sb.append("success:");
+      sb.append(this.success);
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("gse:");
+      if (this.gse == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.gse);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("ae:");
+      if (this.ae == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.ae);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      // check for sub-struct validity
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+      try {
+        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+        __isset_bitfield = 0;
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class updateGroup_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public updateGroup_resultStandardScheme getScheme() {
+        return new updateGroup_resultStandardScheme();
+      }
+    }
+
+    private static class updateGroup_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGroup_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, updateGroup_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        while (true)
+        {
+          schemeField = iprot.readFieldBegin();
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+            break;
+          }
+          switch (schemeField.id) {
+            case 0: // SUCCESS
+              if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+                struct.success = iprot.readBool();
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 1: // GSE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.gse = new org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException();
+                struct.gse.read(iprot);
+                struct.setGseIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // AE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+                struct.ae.read(iprot);
+                struct.setAeIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            default:
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+          }
+          iprot.readFieldEnd();
+        }
+        iprot.readStructEnd();
+
+        // check for required fields of primitive type, which can't be checked in the validate method
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, updateGroup_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.isSetSuccess()) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          oprot.writeBool(struct.success);
+          oprot.writeFieldEnd();
+        }
+        if (struct.gse != null) {
+          oprot.writeFieldBegin(GSE_FIELD_DESC);
+          struct.gse.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.ae != null) {
+          oprot.writeFieldBegin(AE_FIELD_DESC);
+          struct.ae.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class updateGroup_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public updateGroup_resultTupleScheme getScheme() {
+        return new updateGroup_resultTupleScheme();
+      }
+    }
+
+    private static class updateGroup_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<updateGroup_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, updateGroup_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetSuccess()) {
+          optionals.set(0);
+        }
+        if (struct.isSetGse()) {
+          optionals.set(1);
+        }
+        if (struct.isSetAe()) {
+          optionals.set(2);
+        }
+        oprot.writeBitSet(optionals, 3);
+        if (struct.isSetSuccess()) {
+          oprot.writeBool(struct.success);
+        }
+        if (struct.isSetGse()) {
+          struct.gse.write(oprot);
+        }
+        if (struct.isSetAe()) {
+          struct.ae.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, updateGroup_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(3);
+        if (incoming.get(0)) {
+          struct.success = iprot.readBool();
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.gse = new org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException();
+          struct.gse.read(iprot);
+          struct.setGseIsSet(true);
+        }
+        if (incoming.get(2)) {
+          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+          struct.ae.read(iprot);
+          struct.setAeIsSet(true);
+        }
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  public static class deleteGroup_args implements org.apache.thrift.TBase<deleteGroup_args, deleteGroup_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGroup_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGroup_args");
+
+    private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField OWNER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("ownerId", org.apache.thrift.protocol.TType.STRING, (short)3);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteGroup_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteGroup_argsTupleSchemeFactory();
+
+    public org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public java.lang.String groupId; // required
+    public java.lang.String ownerId; // 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 {
+      AUTHZ_TOKEN((short)1, "authzToken"),
+      GROUP_ID((short)2, "groupId"),
+      OWNER_ID((short)3, "ownerId");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // AUTHZ_TOKEN
+            return AUTHZ_TOKEN;
+          case 2: // GROUP_ID
+            return GROUP_ID;
+          case 3: // OWNER_ID
+            return OWNER_ID;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
+      tmpMap.put(_Fields.GROUP_ID, new org.apache.thrift.meta_data.FieldMetaData("groupId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.OWNER_ID, new org.apache.thrift.meta_data.FieldMetaData("ownerId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteGroup_args.class, metaDataMap);
+    }
+
+    public deleteGroup_args() {
+    }
+
+    public deleteGroup_args(
+      org.apache.airavata.model.security.AuthzToken authzToken,
+      java.lang.String groupId,
+      java.lang.String ownerId)
+    {
+      this();
+      this.authzToken = authzToken;
+      this.groupId = groupId;
+      this.ownerId = ownerId;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public deleteGroup_args(deleteGroup_args other) {
+      if (other.isSetAuthzToken()) {
+        this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
+      }
+      if (other.isSetGroupId()) {
+        this.groupId = other.groupId;
+      }
+      if (other.isSetOwnerId()) {
+        this.ownerId = other.ownerId;
+      }
+    }
+
+    public deleteGroup_args deepCopy() {
+      return new deleteGroup_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.authzToken = null;
+      this.groupId = null;
+      this.ownerId = null;
+    }
+
+    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
+      return this.authzToken;
+    }
+
+    public deleteGroup_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+      this.authzToken = authzToken;
+      return this;
+    }
+
+    public void unsetAuthzToken() {
+      this.authzToken = null;
+    }
+
+    /** Returns true if field authzToken is set (has been assigned a value) and false otherwise */
+    public boolean isSetAuthzToken() {
+      return this.authzToken != null;
+    }
+
+    public void setAuthzTokenIsSet(boolean value) {
+      if (!value) {
+        this.authzToken = null;
+      }
+    }
+
+    public java.lang.String getGroupId() {
+      return this.groupId;
+    }
+
+    public deleteGroup_args setGroupId(java.lang.String groupId) {
+      this.groupId = groupId;
+      return this;
+    }
+
+    public void unsetGroupId() {
+      this.groupId = null;
+    }
+
+    /** Returns true if field groupId is set (has been assigned a value) and false otherwise */
+    public boolean isSetGroupId() {
+      return this.groupId != null;
+    }
+
+    public void setGroupIdIsSet(boolean value) {
+      if (!value) {
+        this.groupId = null;
+      }
+    }
+
+    public java.lang.String getOwnerId() {
+      return this.ownerId;
+    }
+
+    public deleteGroup_args setOwnerId(java.lang.String ownerId) {
+      this.ownerId = ownerId;
+      return this;
+    }
+
+    public void unsetOwnerId() {
+      this.ownerId = null;
+    }
+
+    /** Returns true if field ownerId is set (has been assigned a value) and false otherwise */
+    public boolean isSetOwnerId() {
+      return this.ownerId != null;
+    }
+
+    public void setOwnerIdIsSet(boolean value) {
+      if (!value) {
+        this.ownerId = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case AUTHZ_TOKEN:
+        if (value == null) {
+          unsetAuthzToken();
+        } else {
+          setAuthzToken((org.apache.airavata.model.security.AuthzToken)value);
+        }
+        break;
+
+      case GROUP_ID:
+        if (value == null) {
+          unsetGroupId();
+        } else {
+          setGroupId((java.lang.String)value);
+        }
+        break;
+
+      case OWNER_ID:
+        if (value == null) {
+          unsetOwnerId();
+        } else {
+          setOwnerId((java.lang.String)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case AUTHZ_TOKEN:
+        return getAuthzToken();
+
+      case GROUP_ID:
+        return getGroupId();
+
+      case OWNER_ID:
+        return getOwnerId();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case AUTHZ_TOKEN:
+        return isSetAuthzToken();
+      case GROUP_ID:
+        return isSetGroupId();
+      case OWNER_ID:
+        return isSetOwnerId();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof deleteGroup_args)
+        return this.equals((deleteGroup_args)that);
+      return false;
+    }
+
+    public boolean equals(deleteGroup_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_authzToken = true && this.isSetAuthzToken();
+      boolean that_present_authzToken = true && that.isSetAuthzToken();
+      if (this_present_authzToken || that_present_authzToken) {
+        if (!(this_present_authzToken && that_present_authzToken))
+          return false;
+        if (!this.authzToken.equals(that.authzToken))
+          return false;
+      }
+
+      boolean this_present_groupId = true && this.isSetGroupId();
+      boolean that_present_groupId = true && that.isSetGroupId();
+      if (this_present_groupId || that_present_groupId) {
+        if (!(this_present_groupId && that_present_groupId))
+          return false;
+        if (!this.groupId.equals(that.groupId))
+          return false;
+      }
+
+      boolean this_present_ownerId = true && this.isSetOwnerId();
+      boolean that_present_ownerId = true && that.isSetOwnerId();
+      if (this_present_ownerId || that_present_ownerId) {
+        if (!(this_present_ownerId && that_present_ownerId))
+          return false;
+        if (!this.ownerId.equals(that.ownerId))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetAuthzToken()) ? 131071 : 524287);
+      if (isSetAuthzToken())
+        hashCode = hashCode * 8191 + authzToken.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetGroupId()) ? 131071 : 524287);
+      if (isSetGroupId())
+        hashCode = hashCode * 8191 + groupId.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetOwnerId()) ? 131071 : 524287);
+      if (isSetOwnerId())
+        hashCode = hashCode * 8191 + ownerId.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(deleteGroup_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAuthzToken()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authzToken, other.authzToken);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGroupId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.groupId, other.groupId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetOwnerId()).compareTo(other.isSetOwnerId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetOwnerId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ownerId, other.ownerId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+    }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("deleteGroup_args(");
+      boolean first = true;
+
+      sb.append("authzToken:");
+      if (this.authzToken == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.authzToken);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("groupId:");
+      if (this.groupId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.groupId);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("ownerId:");
+      if (this.ownerId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.ownerId);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (authzToken == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
+      }
+      if (groupId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupId' was not present! Struct: " + toString());
+      }
+      if (ownerId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'ownerId' was not present! Struct: " + toString());
+      }
+      // check for sub-struct validity
+      if (authzToken != null) {
+        authzToken.validate();
+      }
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+      try {
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class deleteGroup_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public deleteGroup_argsStandardScheme getScheme() {
+        return new deleteGroup_argsStandardScheme();
+      }
+    }
+
+    private static class deleteGroup_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteGroup_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, deleteGroup_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        while (true)
+        {
+          schemeField = iprot.readFieldBegin();
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+            break;
+          }
+          switch (schemeField.id) {
+            case 1: // AUTHZ_TOKEN
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+                struct.authzToken.read(iprot);
+                struct.setAuthzTokenIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // GROUP_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.groupId = iprot.readString();
+                struct.setGroupIdIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 3: // OWNER_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.ownerId = iprot.readString();
+                struct.setOwnerIdIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            default:
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+          }
+          iprot.readFieldEnd();
+        }
+        iprot.readStructEnd();
+
+        // check for required fields of primitive type, which can't be checked in the validate method
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, deleteGroup_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.authzToken != null) {
+          oprot.writeFieldBegin(AUTHZ_TOKEN_FIELD_DESC);
+          struct.authzToken.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.groupId != null) {
+          oprot.writeFieldBegin(GROUP_ID_FIELD_DESC);
+          oprot.writeString(struct.groupId);
+          oprot.writeFieldEnd();
+        }
+        if (struct.ownerId != null) {
+          oprot.writeFieldBegin(OWNER_ID_FIELD_DESC);
+          oprot.writeString(struct.ownerId);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class deleteGroup_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public deleteGroup_argsTupleScheme getScheme() {
+        return new deleteGroup_argsTupleScheme();
+      }
+    }
+
+    private static class deleteGroup_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<deleteGroup_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, deleteGroup_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.authzToken.write(oprot);
+        oprot.writeString(struct.groupId);
+        oprot.writeString(struct.ownerId);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, deleteGroup_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+        struct.authzToken.read(iprot);
+        struct.setAuthzTokenIsSet(true);
+        struct.groupId = iprot.readString();
+        struct.setGroupIdIsSet(true);
+        struct.ownerId = iprot.readString();
+        struct.setOwnerIdIsSet(true);
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  public static class deleteGroup_result implements org.apache.thrift.TBase<deleteGroup_result, deleteGroup_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGroup_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGroup_result");
+
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
+    private static final org.apache.thrift.protocol.TField GSE_FIELD_DESC = new org.apache.thrift.protocol.TField("gse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteGroup_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteGroup_resultTupleSchemeFactory();
+
+    public boolean success; // required
+    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
+    public org.apache.airavata.model.error.AuthorizationException ae; // required
+
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      SUCCESS((short)0, "success"),
+      GSE((short)1, "gse"),
+      AE((short)2, "ae");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 0: // SUCCESS
+            return SUCCESS;
+          case 1: // GSE
+            return GSE;
+          case 2: // AE
+            return AE;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    private static final int __SUCCESS_ISSET_ID = 0;
+    private byte __isset_bitfield = 0;
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+      tmpMap.put(_Fields.GSE, new org.apache.thrift.meta_data.FieldMetaData("gse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException.class)));
+      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteGroup_result.class, metaDataMap);
+    }
+
+    public deleteGroup_result() {
+    }
+
+    public deleteGroup_result(
+      boolean success,
+      org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse,
+      org.apache.airavata.model.error.AuthorizationException ae)
+    {
+      this();
+      this.success = success;
+      setSuccessIsSet(true);
+      this.gse = gse;
+      this.ae = ae;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public deleteGroup_result(deleteGroup_result other) {
+      __isset_bitfield = other.__isset_bitfield;
+      this.success = other.success;
+      if (other.isSetGse()) {
+        this.gse = new org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException(other.gse);
+      }
+      if (other.isSetAe()) {
+        this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
+      }
+    }
+
+    public deleteGroup_result deepCopy() {
+      return new deleteGroup_result(this);
+    }
+
+    @Override
+    public void clear() {
+      setSuccessIsSet(false);
+      this.success = false;
+      this.gse = null;
+      this.ae = null;
+    }
+
+    public boolean isSuccess() {
+      return this.success;
+    }
+
+    public deleteGroup_result setSuccess(boolean success) {
+      this.success = success;
+      setSuccessIsSet(true);
+      return this;
+    }
+
+    public void unsetSuccess() {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    }
+
+    /** Returns true if field success is set (has been assigned a value) and false otherwise */
+    public boolean isSetSuccess() {
+      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    }
+
+    public void setSuccessIsSet(boolean value) {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
+    }
+
+    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException getGse() {
+      return this.gse;
+    }
+
+    public deleteGroup_result setGse(org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+      this.gse = gse;
+      return this;
+    }
+
+    public void unsetGse() {
+      this.gse = null;
+    }
+
+    /** Returns true if field gse is set (has been assigned a value) and false otherwise */
+    public boolean isSetGse() {
+      return this.gse != null;
+    }
+
+    public void setGseIsSet(boolean value) {
+      if (!value) {
+        this.gse = null;
+      }
+    }
+
+    public org.apache.airavata.model.error.AuthorizationException getAe() {
+      return this.ae;
+    }
+
+    public deleteGroup_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+      this.ae = ae;
+      return this;
+    }
+
+    public void unsetAe() {
+      this.ae = null;
+    }
+
+    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
+    public boolean isSetAe() {
+      return this.ae != null;
+    }
+
+    public void setAeIsSet(boolean value) {
+      if (!value) {
+        this.ae = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((java.lang.Boolean)value);
+        }
+        break;
+
+      case GSE:
+        if (value == null) {
+          unsetGse();
+        } else {
+          setGse((org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException)value);
+        }
+        break;
+
+      case AE:
+        if (value == null) {
+          unsetAe();
+        } else {
+          setAe((org.apache.airavata.model.error.AuthorizationException)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return isSuccess();
+
+      case GSE:
+        return getGse();
+
+      case AE:
+        return getAe();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case SUCCESS:
+        return isSetSuccess();
+      case GSE:
+        return isSetGse();
+      case AE:
+        return isSetAe();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof deleteGroup_result)
+        return this.equals((deleteGroup_result)that);
+      return false;
+    }
+
+    public boolean equals(deleteGroup_result that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_success = true;
+      boolean that_present_success = true;
+      if (this_present_success || that_present_success) {
+        if (!(this_present_success && that_present_success))
+          return false;
+        if (this.success != that.success)
+          return false;
+      }
+
+      boolean this_present_gse = true && this.isSetGse();
+      boolean that_present_gse = true && that.isSetGse();
+      if (this_present_gse || that_present_gse) {
+        if (!(this_present_gse && that_present_gse))
+          return false;
+        if (!this.gse.equals(that.gse))
+          return false;
+      }
+
+      boolean this_present_ae = true && this.isSetAe();
+      boolean that_present_ae = true && that.isSetAe();
+      if (this_present_ae || that_present_ae) {
+        if (!(this_present_ae && that_present_ae))
+          return false;
+        if (!this.ae.equals(that.ae))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((success) ? 131071 : 524287);
+
+      hashCode = hashCode * 8191 + ((isSetGse()) ? 131071 : 524287);
+      if (isSetGse())
+        hashCode = hashCode * 8191 + gse.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetAe()) ? 131071 : 524287);
+      if (isSetAe())
+        hashCode = hashCode * 8191 + ae.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(deleteGroup_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetSuccess()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetGse()).compareTo(other.isSetGse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gse, other.gse);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAe()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+      }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("deleteGroup_result(");
+      boolean first = true;
+
+      sb.append("success:");
+      sb.append(this.success);
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("gse:");
+      if (this.gse == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.gse);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("ae:");
+      if (this.ae == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.ae);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      // check for sub-struct validity
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+      try {
+        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+        __isset_bitfield = 0;
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class deleteGroup_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public deleteGroup_resultStandardScheme getScheme() {
+        return new deleteGroup_resultStandardScheme();
+      }
+    }
+
+    private static class deleteGroup_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteGroup_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, deleteGroup_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        while (true)
+        {
+          schemeField = iprot.readFieldBegin();
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+            break;
+          }
+          switch (schemeField.id) {
+            case 0: // SUCCESS
+              if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+                struct.success = iprot.readBool();
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 1: // GSE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.gse = new org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException();
+                struct.gse.read(iprot);
+                struct.setGseIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // AE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+                struct.ae.read(iprot);
+                struct.setAeIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            default:
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+          }
+          iprot.readFieldEnd();
+        }
+        iprot.readStructEnd();
+
+        // check for required fields of primitive type, which can't be checked in the validate method
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, deleteGroup_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.isSetSuccess()) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          oprot.writeBool(struct.success);
+          oprot.writeFieldEnd();
+        }
+        if (struct.gse != null) {
+          oprot.writeFieldBegin(GSE_FIELD_DESC);
+          struct.gse.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.ae != null) {
+          oprot.writeFieldBegin(AE_FIELD_DESC);
+          struct.ae.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class deleteGroup_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public deleteGroup_resultTupleScheme getScheme() {
+        return new deleteGroup_resultTupleScheme();
+      }
+    }
+
+    private static class deleteGroup_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<deleteGroup_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, deleteGroup_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetSuccess()) {
+          optionals.set(0);
+        }
+        if (struct.isSetGse()) {
+          optionals.set(1);
+        }
+        if (struct.isSetAe()) {
+          optionals.set(2);
+        }
+        oprot.writeBitSet(optionals, 3);
+        if (struct.isSetSuccess()) {
+          oprot.writeBool(struct.success);
+        }
+        if (struct.isSetGse()) {
+          struct.gse.write(oprot);
+        }
+        if (struct.isSetAe()) {
+          struct.ae.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, deleteGroup_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(3);
+        if (incoming.get(0)) {
+          struct.success = iprot.readBool();
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.gse = new org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException();
+          struct.gse.read(iprot);
+          struct.setGseIsSet(true);
+        }
+        if (incoming.get(2)) {
+          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+          struct.ae.read(iprot);
+          struct.setAeIsSet(true);
+        }
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  public static class getGroup_args implements org.apache.thrift.TBase<getGroup_args, getGroup_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroup_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroup_args");
+
+    private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)2);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroup_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroup_argsTupleSchemeFactory();
+
+    public org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public java.lang.String groupId; // required
+
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      AUTHZ_TOKEN((short)1, "authzToken"),
+      GROUP_ID((short)2, "groupId");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // AUTHZ_TOKEN
+            return AUTHZ_TOKEN;
+          case 2: // GROUP_ID
+            return GROUP_ID;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
+      tmpMap.put(_Fields.GROUP_ID, new org.apache.thrift.meta_data.FieldMetaData("groupId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGroup_args.class, metaDataMap);
+    }
+
+    public getGroup_args() {
+    }
+
+    public getGroup_args(
+      org.apache.airavata.model.security.AuthzToken authzToken,
+      java.lang.String groupId)
+    {
+      this();
+      this.authzToken = authzToken;
+      this.groupId = groupId;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getGroup_args(getGroup_args other) {
+      if (other.isSetAuthzToken()) {
+        this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
+      }
+      if (other.isSetGroupId()) {
+        this.groupId = other.groupId;
+      }
+    }
+
+    public getGroup_args deepCopy() {
+      return new getGroup_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.authzToken = null;
+      this.groupId = null;
+    }
+
+    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
+      return this.authzToken;
+    }
+
+    public getGroup_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+      this.authzToken = authzToken;
+      return this;
+    }
+
+    public void unsetAuthzToken() {
+      this.authzToken = null;
+    }
+
+    /** Returns true if field authzToken is set (has been assigned a value) and false otherwise */
+    public boolean isSetAuthzToken() {
+      return this.authzToken != null;
+    }
+
+    public void setAuthzTokenIsSet(boolean value) {
+      if (!value) {
+        this.authzToken = null;
+      }
+    }
+
+    public java.lang.String getGroupId() {
+      return this.groupId;
+    }
+
+    public getGroup_args setGroupId(java.lang.String groupId) {
+      this.groupId = groupId;
+      return this;
+    }
+
+    public void unsetGroupId() {
+      this.groupId = null;
+    }
+
+    /** Returns true if field groupId is set (has been assigned a value) and false otherwise */
+    public boolean isSetGroupId() {
+      return this.groupId != null;
+    }
+
+    public void setGroupIdIsSet(boolean value) {
+      if (!value) {
+        this.groupId = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case AUTHZ_TOKEN:
+        if (value == null) {
+          unsetAuthzToken();
+        } else {
+          setAuthzToken((org.apache.airavata.model.security.AuthzToken)value);
+        }
+        break;
+
+      case GROUP_ID:
+        if (value == null) {
+          unsetGroupId();
+        } else {
+          setGroupId((java.lang.String)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case AUTHZ_TOKEN:
+        return getAuthzToken();
+
+      case GROUP_ID:
+        return getGroupId();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case AUTHZ_TOKEN:
+        return isSetAuthzToken();
+      case GROUP_ID:
+        return isSetGroupId();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof getGroup_args)
+        return this.equals((getGroup_args)that);
+      return false;
+    }
+
+    public boolean equals(getGroup_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_authzToken = true && this.isSetAuthzToken();
+      boolean that_present_authzToken = true && that.isSetAuthzToken();
+      if (this_present_authzToken || that_present_authzToken) {
+        if (!(this_present_authzToken && that_present_authzToken))
+          return false;
+        if (!this.authzToken.equals(that.authzToken))
+          return false;
+      }
+
+      boolean this_present_groupId = true && this.isSetGroupId();
+      boolean that_present_groupId = true && that.isSetGroupId();
+      if (this_present_groupId || that_present_groupId) {
+        if (!(this_present_groupId && that_present_groupId))
+          return false;
+        if (!this.groupId.equals(that.groupId))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetAuthzToken()) ? 131071 : 524287);
+      if (isSetAuthzToken())
+        hashCode = hashCode * 8191 + authzToken.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetGroupId()) ? 131071 : 524287);
+      if (isSetGroupId())
+        hashCode = hashCode * 8191 + groupId.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(getGroup_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAuthzToken()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authzToken, other.authzToken);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGroupId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.groupId, other.groupId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+    }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getGroup_args(");
+      boolean first = true;
+
+      sb.append("authzToken:");
+      if (this.authzToken == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.authzToken);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("groupId:");
+      if (this.groupId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.groupId);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (authzToken == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
+      }
+      if (groupId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupId' was not present! Struct: " + toString());
+      }
+      // check for sub-struct validity
+      if (authzToken != null) {
+        authzToken.validate();
+      }
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+      try {
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class getGroup_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroup_argsStandardScheme getScheme() {
+        return new getGroup_argsStandardScheme();
+      }
+    }
+
+    private static class getGroup_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroup_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroup_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        while (true)
+        {
+          schemeField = iprot.readFieldBegin();
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+            break;
+          }
+          switch (schemeField.id) {
+            case 1: // AUTHZ_TOKEN
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+                struct.authzToken.read(iprot);
+                struct.setAuthzTokenIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // GROUP_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.groupId = iprot.readString();
+                struct.setGroupIdIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            default:
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+          }
+          iprot.readFieldEnd();
+        }
+        iprot.readStructEnd();
+
+        // check for required fields of primitive type, which can't be checked in the validate method
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getGroup_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.authzToken != null) {
+          oprot.writeFieldBegin(AUTHZ_TOKEN_FIELD_DESC);
+          struct.authzToken.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.groupId != null) {
+          oprot.writeFieldBegin(GROUP_ID_FIELD_DESC);
+          oprot.writeString(struct.groupId);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getGroup_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroup_argsTupleScheme getScheme() {
+        return new getGroup_argsTupleScheme();
+      }
+    }
+
+    private static class getGroup_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroup_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getGroup_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.authzToken.write(oprot);
+        oprot.writeString(struct.groupId);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getGroup_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+        struct.authzToken.read(iprot);
+        struct.setAuthzTokenIsSet(true);
+        struct.groupId = iprot.readString();
+        struct.setGroupIdIsSet(true);
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  public static class getGroup_result implements org.apache.thrift.TBase<getGroup_result, getGroup_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroup_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroup_result");
+
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
+    private static final org.apache.thrift.protocol.TField GSE_FIELD_DESC = new org.apache.thrift.protocol.TField("gse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroup_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroup_resultTupleSchemeFactory();
+
+    public org.apache.airavata.model.group.GroupModel success; // required
+    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
+    public org.apache.airavata.model.error.AuthorizationException ae; // required
+
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      SUCCESS((short)0, "success"),
+      GSE((short)1, "gse"),
+      AE((short)2, "ae");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 0: // SUCCESS
+            return SUCCESS;
+          case 1: // GSE
+            return GSE;
+          case 2: // AE
+            return AE;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.group.GroupModel.class)));
+      tmpMap.put(_Fields.GSE, new org.apache.thrift.meta_data.FieldMetaData("gse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException.class)));
+      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGroup_result.class, metaDataMap);
+    }
+
+    public getGroup_result() {
+    }
+
+    public getGroup_result(
+      org.apache.airavata.model.group.GroupModel success,
+      org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse,
+      org.apache.airavata.model.error.AuthorizationException ae)
+    {
+      this();
+      this.success = success;
+      this.gse = gse;
+      this.ae = ae;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getGroup_result(getGroup_result other) {
+      if (other.isSetSuccess()) {
+        this.success = new org.apache.airavata.model.group.GroupModel(other.success);
+      }
+      if (other.isSetGse()) {
+        this.gse = new org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException(other.gse);
+      }
+      if (other.isSetAe()) {
+        this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
+      }
+    }
+
+    public getGroup_result deepCopy() {
+      return new getGroup_result(this);
+    }
+
+    @Override
+    public void clear() {
+      this.success = null;
+      this.gse = null;
+      this.ae = null;
+    }
+
+    public org.apache.airavata.model.group.GroupModel getSuccess() {
+      return this.success;
+    }
+
+    public getGroup_result setSuccess(org.apache.airavata.model.group.GroupModel success) {
+      this.success = success;
+      return this;
+    }
+
+    public void unsetSuccess() {
+      this.success = null;
+    }
+
+    /** Returns true if field success is set (has been assigned a value) and false otherwise */
+    public boolean isSetSuccess() {
+      return this.success != null;
+    }
+
+    public void setSuccessIsSet(boolean value) {
+      if (!value) {
+        this.success = null;
+      }
+    }
+
+    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException getGse() {
+      return this.gse;
+    }
+
+    public getGroup_result setGse(org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+      this.gse = gse;
+      return this;
+    }
+
+    public void unsetGse() {
+      this.gse = null;
+    }
+
+    /** Returns true if field gse is set (has been assigned a value) and false otherwise */
+    public boolean isSetGse() {
+      return this.gse != null;
+    }
+
+    public void setGseIsSet(boolean value) {
+      if (!value) {
+        this.gse = null;
+      }
+    }
+
+    public org.apache.airavata.model.error.AuthorizationException getAe() {
+      return this.ae;
+    }
+
+    public getGroup_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+      this.ae = ae;
+      return this;
+    }
+
+    public void unsetAe() {
+      this.ae = null;
+    }
+
+    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
+    public boolean isSetAe() {
+      return this.ae != null;
+    }
+
+    public void setAeIsSet(boolean value) {
+      if (!value) {
+        this.ae = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((org.apache.airavata.model.group.GroupModel)value);
+        }
+        break;
+
+      case GSE:
+        if (value == null) {
+          unsetGse();
+        } else {
+          setGse((org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException)value);
+        }
+        break;
+
+      case AE:
+        if (value == null) {
+          unsetAe();
+        } else {
+          setAe((org.apache.airavata.model.error.AuthorizationException)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return getSuccess();
+
+      case GSE:
+        return getGse();
+
+      case AE:
+        return getAe();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case SUCCESS:
+        return isSetSuccess();
+      case GSE:
+        return isSetGse();
+      case AE:
+        return isSetAe();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof getGroup_result)
+        return this.equals((getGroup_result)that);
+      return false;
+    }
+
+    public boolean equals(getGroup_result that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_success = true && this.isSetSuccess();
+      boolean that_present_success = true && that.isSetSuccess();
+      if (this_present_success || that_present_success) {
+        if (!(this_present_success && that_present_success))
+          return false;
+        if (!this.success.equals(that.success))
+          return false;
+      }
+
+      boolean this_present_gse = true && this.isSetGse();
+      boolean that_present_gse = true && that.isSetGse();
+      if (this_present_gse || that_present_gse) {
+        if (!(this_present_gse && that_present_gse))
+          return false;
+        if (!this.gse.equals(that.gse))
+          return false;
+      }
+
+      boolean this_present_ae = true && this.isSetAe();
+      boolean that_present_ae = true && that.isSetAe();
+      if (this_present_ae || that_present_ae) {
+        if (!(this_present_ae && that_present_ae))
+          return false;
+        if (!this.ae.equals(that.ae))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
+      if (isSetSuccess())
+        hashCode = hashCode * 8191 + success.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetGse()) ? 131071 : 524287);
+      if (isSetGse())
+        hashCode = hashCode * 8191 + gse.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetAe()) ? 131071 : 524287);
+      if (isSetAe())
+        hashCode = hashCode * 8191 + ae.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(getGroup_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetSuccess()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetGse()).compareTo(other.isSetGse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gse, other.gse);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAe()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+      }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getGroup_result(");
+      boolean first = true;
+
+      sb.append("success:");
+      if (this.success == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.success);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("gse:");
+      if (this.gse == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.gse);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("ae:");
+      if (this.ae == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.ae);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      // check for sub-struct validity
+      if (success != null) {
+        success.validate();
+      }
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+      try {
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class getGroup_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroup_resultStandardScheme getScheme() {
+        return new getGroup_resultStandardScheme();
+      }
+    }
+
+    private static class getGroup_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroup_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroup_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        while (true)
+        {
+          schemeField = iprot.readFieldBegin();
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+            break;
+          }
+          switch (schemeField.id) {
+            case 0: // SUCCESS
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.success = new org.apache.airavata.model.group.GroupModel();
+                struct.success.read(iprot);
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 1: // GSE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.gse = new org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException();
+                struct.gse.read(iprot);
+                struct.setGseIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // AE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+                struct.ae.read(iprot);
+                struct.setAeIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            default:
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+          }
+          iprot.readFieldEnd();
+        }
+        iprot.readStructEnd();
+
+        // check for required fields of primitive type, which can't be checked in the validate method
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getGroup_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.success != null) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          struct.success.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.gse != null) {
+          oprot.writeFieldBegin(GSE_FIELD_DESC);
+          struct.gse.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.ae != null) {
+          oprot.writeFieldBegin(AE_FIELD_DESC);
+          struct.ae.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getGroup_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroup_resultTupleScheme getScheme() {
+        return new getGroup_resultTupleScheme();
+      }
+    }
+
+    private static class getGroup_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroup_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getGroup_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetSuccess()) {
+          optionals.set(0);
+        }
+        if (struct.isSetGse()) {
+          optionals.set(1);
+        }
+        if (struct.isSetAe()) {
+          optionals.set(2);
+        }
+        oprot.writeBitSet(optionals, 3);
+        if (struct.isSetSuccess()) {
+          struct.success.write(oprot);
+        }
+        if (struct.isSetGse()) {
+          struct.gse.write(oprot);
+        }
+        if (struct.isSetAe()) {
+          struct.ae.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getGroup_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(3);
+        if (incoming.get(0)) {
+          struct.success = new org.apache.airavata.model.group.GroupModel();
+          struct.success.read(iprot);
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.gse = new org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException();
+          struct.gse.read(iprot);
+          struct.setGseIsSet(true);
+        }
+        if (incoming.get(2)) {
+          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+          struct.ae.read(iprot);
+          struct.setAeIsSet(true);
+        }
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  public static class getAllGroupsUserBelongs_args implements org.apache.thrift.TBase<getAllGroupsUserBelongs_args, getAllGroupsUserBelongs_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGroupsUserBelongs_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGroupsUserBelongs_args");
+
+    private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userName", org.apache.thrift.protocol.TType.STRING, (short)2);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllGroupsUserBelongs_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllGroupsUserBelongs_argsTupleSchemeFactory();
+
+    public org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public java.lang.String userName; // 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 {
+      AUTHZ_TOKEN((short)1, "authzToken"),
+      USER_NAME((short)2, "userName");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // AUTHZ_TOKEN
+            return AUTHZ_TOKEN;
+          case 2: // USER_NAME
+            return USER_NAME;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
+      tmpMap.put(_Fields.USER_NAME, new org.apache.thrift.meta_data.FieldMetaData("userName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllGroupsUserBelongs_args.class, metaDataMap);
+    }
+
+    public getAllGroupsUserBelongs_args() {
+    }
+
+    public getAllGroupsUserBelongs_args(
+      org.apache.airavata.model.security.AuthzToken authzToken,
+      java.lang.String userName)
+    {
+      this();
+      this.authzToken = authzToken;
+      this.userName = userName;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getAllGroupsUserBelongs_args(getAllGroupsUserBelongs_args other) {
+      if (other.isSetAuthzToken()) {
+        this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
+      }
+      if (other.isSetUserName()) {
+        this.userName = other.userName;
+      }
+    }
+
+    public getAllGroupsUserBelongs_args deepCopy() {
+      return new getAllGroupsUserBelongs_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.authzToken = null;
+      this.userName = null;
+    }
+
+    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
+      return this.authzToken;
+    }
+
+    public getAllGroupsUserBelongs_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+      this.authzToken = authzToken;
+      return this;
+    }
+
+    public void unsetAuthzToken() {
+      this.authzToken = null;
+    }
+
+    /** Returns true if field authzToken is set (has been assigned a value) and false otherwise */
+    public boolean isSetAuthzToken() {
+      return this.authzToken != null;
+    }
+
+    public void setAuthzTokenIsSet(boolean value) {
+      if (!value) {
+        this.authzToken = null;
+      }
+    }
+
+    public java.lang.String getUserName() {
+      return this.userName;
+    }
+
+    public getAllGroupsUserBelongs_args setUserName(java.lang.String userName) {
+      this.userName = userName;
+      return this;
+    }
+
+    public void unsetUserName() {
+      this.userName = null;
+    }
+
+    /** Returns true if field userName is set (has been assigned a value) and false otherwise */
+    public boolean isSetUserName() {
+      return this.userName != null;
+    }
+
+    public void setUserNameIsSet(boolean value) {
+      if (!value) {
+        this.userName = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case AUTHZ_TOKEN:
+        if (value == null) {
+          unsetAuthzToken();
+        } else {
+          setAuthzToken((org.apache.airavata.model.security.AuthzToken)value);
+        }
+        break;
+
+      case USER_NAME:
+        if (value == null) {
+          unsetUserName();
+        } else {
+          setUserName((java.lang.String)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case AUTHZ_TOKEN:
+        return getAuthzToken();
+
+      case USER_NAME:
+        return getUserName();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case AUTHZ_TOKEN:
+        return isSetAuthzToken();
+      case USER_NAME:
+        return isSetUserName();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof getAllGroupsUserBelongs_args)
+        return this.equals((getAllGroupsUserBelongs_args)that);
+      return false;
+    }
+
+    public boolean equals(getAllGroupsUserBelongs_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_authzToken = true && this.isSetAuthzToken();
+      boolean that_present_authzToken = true && that.isSetAuthzToken();
+      if (this_present_authzToken || that_present_authzToken) {
+        if (!(this_present_authzToken && that_present_authzToken))
+          return false;
+        if (!this.authzToken.equals(that.authzToken))
+          return false;
+      }
+
+      boolean this_present_userName = true && this.isSetUserName();
+      boolean that_present_userName = true && that.isSetUserName();
+      if (this_present_userName || that_present_userName) {
+        if (!(this_present_userName && that_present_userName))
+          return false;
+        if (!this.userName.equals(that.userName))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetAuthzToken()) ? 131071 : 524287);
+      if (isSetAuthzToken())
+        hashCode = hashCode * 8191 + authzToken.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetUserName()) ? 131071 : 524287);
+      if (isSetUserName())
+        hashCode = hashCode * 8191 + userName.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(getAllGroupsUserBelongs_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAuthzToken()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authzToken, other.authzToken);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetUserName()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userName, other.userName);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+    }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getAllGroupsUserBelongs_args(");
+      boolean first = true;
+
+      sb.append("authzToken:");
+      if (this.authzToken == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.authzToken);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("userName:");
+      if (this.userName == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.userName);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (authzToken == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
+      }
+      if (userName == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'userName' was not present! Struct: " + toString());
+      }
+      // check for sub-struct validity
+      if (authzToken != null) {
+        authzToken.validate();
+      }
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+      try {
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class getAllGroupsUserBelongs_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getAllGroupsUserBelongs_argsStandardScheme getScheme() {
+        return new getAllGroupsUserBelongs_argsStandardScheme();
+      }
+    }
+
+    private static class getAllGroupsUserBelongs_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllGroupsUserBelongs_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getAllGroupsUserBelongs_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        while (true)
+        {
+          schemeField = iprot.readFieldBegin();
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+            break;
+          }
+          switch (schemeField.id) {
+            case 1: // AUTHZ_TOKEN
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+                struct.authzToken.read(iprot);
+                struct.setAuthzTokenIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // USER_NAME
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.userName = iprot.readString();
+                struct.setUserNameIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            default:
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+          }
+          iprot.readFieldEnd();
+        }
+        iprot.readStructEnd();
+
+        // check for required fields of primitive type, which can't be checked in the validate method
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getAllGroupsUserBelongs_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.authzToken != null) {
+          oprot.writeFieldBegin(AUTHZ_TOKEN_FIELD_DESC);
+          struct.authzToken.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.userName != null) {
+          oprot.writeFieldBegin(USER_NAME_FIELD_DESC);
+          oprot.writeString(struct.userName);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getAllGroupsUserBelongs_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getAllGroupsUserBelongs_argsTupleScheme getScheme() {
+        return new getAllGroupsUserBelongs_argsTupleScheme();
+      }
+    }
+
+    private static class getAllGroupsUserBelongs_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAllGroupsUserBelongs_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getAllGroupsUserBelongs_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.authzToken.write(oprot);
+        oprot.writeString(struct.userName);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getAllGroupsUserBelongs_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+        struct.authzToken.read(iprot);
+        struct.setAuthzTokenIsSet(true);
+        struct.userName = iprot.readString();
+        struct.setUserNameIsSet(true);
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  public static class getAllGroupsUserBelongs_result implements org.apache.thrift.TBase<getAllGroupsUserBelongs_result, getAllGroupsUserBelongs_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGroupsUserBelongs_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGroupsUserBelongs_result");
+
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
+    private static final org.apache.thrift.protocol.TField GSE_FIELD_DESC = new org.apache.thrift.protocol.TField("gse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllGroupsUserBelongs_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllGroupsUserBelongs_resultTupleSchemeFactory();
+
+    public java.util.List<org.apache.airavata.model.group.GroupModel> success; // required
+    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
+    public org.apache.airavata.model.error.AuthorizationException ae; // required
+
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      SUCCESS((short)0, "success"),
+      GSE((short)1, "gse"),
+      AE((short)2, "ae");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 0: // SUCCESS
+            return SUCCESS;
+          case 1: // GSE
+            return GSE;
+          case 2: // AE
+            return AE;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.group.GroupModel.class))));
+      tmpMap.put(_Fields.GSE, new org.apache.thrift.meta_data.FieldMetaData("gse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException.class)));
+      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllGroupsUserBelongs_result.class, metaDataMap);
+    }
+
+    public getAllGroupsUserBelongs_result() {
+    }
+
+    public getAllGroupsUserBelongs_result(
+      java.util.List<org.apache.airavata.model.group.GroupModel> success,
+      org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse,
+      org.apache.airavata.model.error.AuthorizationException ae)
+    {
+      this();
+      this.success = success;
+      this.gse = gse;
+      this.ae = ae;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getAllGroupsUserBelongs_result(getAllGroupsUserBelongs_result other) {
+      if (other.isSetSuccess()) {
+        java.util.List<org.apache.airavata.model.group.GroupModel> __this__success = new java.util.ArrayList<org.apache.airavata.model.group.GroupModel>(other.success.size());
+        for (org.apache.airavata.model.group.GroupModel other_element : other.success) {
+          __this__success.add(new org.apache.airavata.model.group.GroupModel(other_element));
+        }
+        this.success = __this__success;
+      }
+      if (other.isSetGse()) {
+        this.gse = new org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException(other.gse);
+      }
+      if (other.isSetAe()) {
+        this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
+      }
+    }
+
+    public getAllGroupsUserBelongs_result deepCopy() {
+      return new getAllGroupsUserBelongs_result(this);
+    }
+
+    @Override
+    public void clear() {
+      this.success = null;
+      this.gse = null;
+      this.ae = null;
+    }
+
+    public int getSuccessSize() {
+      return (this.success == null) ? 0 : this.success.size();
+    }
+
+    public java.util.Iterator<org.apache.airavata.model.group.GroupModel> getSuccessIterator() {
+      return (this.success == null) ? null : this.success.iterator();
+    }
+
+    public void addToSuccess(org.apache.airavata.model.group.GroupModel elem) {
+      if (this.success == null) {
+        this.success = new java.util.ArrayList<org.apache.airavata.model.group.GroupModel>();
+      }
+      this.success.add(elem);
+    }
+
+    public java.util.List<org.apache.airavata.model.group.GroupModel> getSuccess() {
+      return this.success;
+    }
+
+    public getAllGroupsUserBelongs_result setSuccess(java.util.List<org.apache.airavata.model.group.GroupModel> success) {
+      this.success = success;
+      return this;
+    }
+
+    public void unsetSuccess() {
+      this.success = null;
+    }
+
+    /** Returns true if field success is set (has been assigned a value) and false otherwise */
+    public boolean isSetSuccess() {
+      return this.success != null;
+    }
+
+    public void setSuccessIsSet(boolean value) {
+      if (!value) {
+        this.success = null;
+      }
+    }
+
+    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException getGse() {
+      return this.gse;
+    }
+
+    public getAllGroupsUserBelongs_result setGse(org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+      this.gse = gse;
+      return this;
+    }
+
+    public void unsetGse() {
+      this.gse = null;
+    }
+
+    /** Returns true if field gse is set (has been assigned a value) and false otherwise */
+    public boolean isSetGse() {
+      return this.gse != null;
+    }
+
+    public void setGseIsSet(boolean value) {
+      if (!value) {
+        this.gse = null;
+      }
+    }
+
+    public org.apache.airavata.model.error.AuthorizationException getAe() {
+      return this.ae;
+    }
+
+    public getAllGroupsUserBelongs_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+      this.ae = ae;
+      return this;
+    }
+
+    public void unsetAe() {
+      this.ae = null;
+    }
+
+    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
+    public boolean isSetAe() {
+      return this.ae != null;
+    }
+
+    public void setAeIsSet(boolean value) {
+      if (!value) {
+        this.ae = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((java.util.List<org.apache.airavata.model.group.GroupModel>)value);
+        }
+        break;
+
+      case GSE:
+        if (value == null) {
+          unsetGse();
+        } else {
+          setGse((org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException)value);
+        }
+        break;
+
+      case AE:
+        if (value == null) {
+          unsetAe();
+        } else {
+          setAe((org.apache.airavata.model.error.AuthorizationException)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return getSuccess();
+
+      case GSE:
+        return getGse();
+
+      case AE:
+        return getAe();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case SUCCESS:
+        return isSetSuccess();
+      case GSE:
+        return isSetGse();
+      case AE:
+        return isSetAe();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof getAllGroupsUserBelongs_result)
+        return this.equals((getAllGroupsUserBelongs_result)that);
+      return false;
+    }
+
+    public boolean equals(getAllGroupsUserBelongs_result that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_success = true && this.isSetSuccess();
+      boolean that_present_success = true && that.isSetSuccess();
+      if (this_present_success || that_present_success) {
+        if (!(this_present_success && that_present_success))
+          return false;
+        if (!this.success.equals(that.success))
+          return false;
+      }
+
+      boolean this_present_gse = true && this.isSetGse();
+      boolean that_present_gse = true && that.isSetGse();
+      if (this_present_gse || that_present_gse) {
+        if (!(this_present_gse && that_present_gse))
+          return false;
+        if (!this.gse.equals(that.gse))
+          return false;
+      }
+
+      boolean this_present_ae = true && this.isSetAe();
+      boolean that_present_ae = true && that.isSetAe();
+      if (this_present_ae || that_present_ae) {
+        if (!(this_present_ae && that_present_ae))
+          return false;
+        if (!this.ae.equals(that.ae))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
+      if (isSetSuccess())
+        hashCode = hashCode * 8191 + success.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetGse()) ? 131071 : 524287);
+      if (isSetGse())
+        hashCode = hashCode * 8191 + gse.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetAe()) ? 131071 : 524287);
+      if (isSetAe())
+        hashCode = hashCode * 8191 + ae.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(getAllGroupsUserBelongs_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetSuccess()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetGse()).compareTo(other.isSetGse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gse, other.gse);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAe()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+      }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getAllGroupsUserBelongs_result(");
+      boolean first = true;
+
+      sb.append("success:");
+      if (this.success == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.success);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("gse:");
+      if (this.gse == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.gse);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("ae:");
+      if (this.ae == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.ae);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      // check for sub-struct validity
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+      try {
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class getAllGroupsUserBelongs_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getAllGroupsUserBelongs_resultStandardScheme getScheme() {
+        return new getAllGroupsUserBelongs_resultStandardScheme();
+      }
+    }
+
+    private static class getAllGroupsUserBelongs_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllGroupsUserBelongs_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getAllGroupsUserBelongs_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        while (true)
+        {
+          schemeField = iprot.readFieldBegin();
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+            break;
+          }
+          switch (schemeField.id) {
+            case 0: // SUCCESS
+              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+                {
+                  org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.group.GroupModel>(_list0.size);
+                  org.apache.airavata.model.group.GroupModel _elem1;
+                  for (int _i2 = 0; _i2 < _list0.size; ++_i2)
+                  {
+                    _elem1 = new org.apache.airavata.model.group.GroupModel();
+                    _elem1.read(iprot);
+                    struct.success.add(_elem1);
+                  }
+                  iprot.readListEnd();
+                }
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 1: // GSE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.gse = new org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException();
+                struct.gse.read(iprot);
+                struct.setGseIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // AE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+                struct.ae.read(iprot);
+                struct.setAeIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            default:
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+          }
+          iprot.readFieldEnd();
+        }
+        iprot.readStructEnd();
+
+        // check for required fields of primitive type, which can't be checked in the validate method
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getAllGroupsUserBelongs_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.success != null) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
+            for (org.apache.airavata.model.group.GroupModel _iter3 : struct.success)
+            {
+              _iter3.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+        if (struct.gse != null) {
+          oprot.writeFieldBegin(GSE_FIELD_DESC);
+          struct.gse.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.ae != null) {
+          oprot.writeFieldBegin(AE_FIELD_DESC);
+          struct.ae.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getAllGroupsUserBelongs_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getAllGroupsUserBelongs_resultTupleScheme getScheme() {
+        return new getAllGroupsUserBelongs_resultTupleScheme();
+      }
+    }
+
+    private static class getAllGroupsUserBelongs_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAllGroupsUserBelongs_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getAllGroupsUserBelongs_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetSuccess()) {
+          optionals.set(0);
+        }
+        if (struct.isSetGse()) {
+          optionals.set(1);
+        }
+        if (struct.isSetAe()) {
+          optionals.set(2);
+        }
+        oprot.writeBitSet(optionals, 3);
+        if (struct.isSetSuccess()) {
+          {
+            oprot.writeI32(struct.success.size());
+            for (org.apache.airavata.model.group.GroupModel _iter4 : struct.success)
+            {
+              _iter4.write(oprot);
+            }
+          }
+        }
+        if (struct.isSetGse()) {
+          struct.gse.write(oprot);
+        }
+        if (struct.isSetAe()) {
+          struct.ae.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getAllGroupsUserBelongs_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(3);
+        if (incoming.get(0)) {
+          {
+            org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.group.GroupModel>(_list5.size);
+            org.apache.airavata.model.group.GroupModel _elem6;
+            for (int _i7 = 0; _i7 < _list5.size; ++_i7)
+            {
+              _elem6 = new org.apache.airavata.model.group.GroupModel();
+              _elem6.read(iprot);
+              struct.success.add(_elem6);
+            }
+          }
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.gse = new org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException();
+          struct.gse.read(iprot);
+          struct.setGseIsSet(true);
+        }
+        if (incoming.get(2)) {
+          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+          struct.ae.read(iprot);
+          struct.setAeIsSet(true);
+        }
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  public static class transferGroupOwnership_args implements org.apache.thrift.TBase<transferGroupOwnership_args, transferGroupOwnership_args._Fields>, java.io.Serializable, Cloneable, Comparable<transferGroupOwnership_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("transferGroupOwnership_args");
+
+    private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField DOMAIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("domainId", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)3);
+    private static final org.apache.thrift.protocol.TField NEW_OWNER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("newOwnerId", org.apache.thrift.protocol.TType.STRING, (short)4);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new transferGroupOwnership_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new transferGroupOwnership_argsTupleSchemeFactory();
+
+    public org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public java.lang.String domainId; // required
+    public java.lang.String groupId; // required
+    public java.lang.String newOwnerId; // 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 {
+      AUTHZ_TOKEN((short)1, "authzToken"),
+      DOMAIN_ID((short)2, "domainId"),
+      GROUP_ID((short)3, "groupId"),
+      NEW_OWNER_ID((short)4, "newOwnerId");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // AUTHZ_TOKEN
+            return AUTHZ_TOKEN;
+          case 2: // DOMAIN_ID
+            return DOMAIN_ID;
+          case 3: // GROUP_ID
+            return GROUP_ID;
+          case 4: // NEW_OWNER_ID
+            return NEW_OWNER_ID;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
+      tmpMap.put(_Fields.DOMAIN_ID, new org.apache.thrift.meta_data.FieldMetaData("domainId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.GROUP_ID, new org.apache.thrift.meta_data.FieldMetaData("groupId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.NEW_OWNER_ID, new org.apache.thrift.meta_data.FieldMetaData("newOwnerId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(transferGroupOwnership_args.class, metaDataMap);
+    }
+
+    public transferGroupOwnership_args() {
+    }
+
+    public transferGroupOwnership_args(
+      org.apache.airavata.model.security.AuthzToken authzToken,
+      java.lang.String domainId,
+      java.lang.String groupId,
+      java.lang.String newOwnerId)
+    {
+      this();
+      this.authzToken = authzToken;
+      this.domainId = domainId;
+      this.groupId = groupId;
+      this.newOwnerId = newOwnerId;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public transferGroupOwnership_args(transferGroupOwnership_args other) {
+      if (other.isSetAuthzToken()) {
+        this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
+      }
+      if (other.isSetDomainId()) {
+        this.domainId = other.domainId;
+      }
+      if (other.isSetGroupId()) {
+        this.groupId = other.groupId;
+      }
+      if (other.isSetNewOwnerId()) {
+        this.newOwnerId = other.newOwnerId;
+      }
+    }
+
+    public transferGroupOwnership_args deepCopy() {
+      return new transferGroupOwnership_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.authzToken = null;
+      this.domainId = null;
+      this.groupId = null;
+      this.newOwnerId = null;
+    }
+
+    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
+      return this.authzToken;
+    }
+
+    public transferGroupOwnership_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+      this.authzToken = authzToken;
+      return this;
+    }
+
+    public void unsetAuthzToken() {
+      this.authzToken = null;
+    }
+
+    /** Returns true if field authzToken is set (has been assigned a value) and false otherwise */
+    public boolean isSetAuthzToken() {
+      return this.authzToken != null;
+    }
+
+    public void setAuthzTokenIsSet(boolean value) {
+      if (!value) {
+        this.authzToken = null;
+      }
+    }
+
+    public java.lang.String getDomainId() {
+      return this.domainId;
+    }
+
+    public transferGroupOwnership_args setDomainId(java.lang.String domainId) {
+      this.domainId = domainId;
+      return this;
+    }
+
+    public void unsetDomainId() {
+      this.domainId = null;
+    }
+
+    /** Returns true if field domainId is set (has been assigned a value) and false otherwise */
+    public boolean isSetDomainId() {
+      return this.domainId != null;
+    }
+
+    public void setDomainIdIsSet(boolean value) {
+      if (!value) {
+        this.domainId = null;
+      }
+    }
+
+    public java.lang.String getGroupId() {
+      return this.groupId;
+    }
+
+    public transferGroupOwnership_args setGroupId(java.lang.String groupId) {
+      this.groupId = groupId;
+      return this;
+    }
+
+    public void unsetGroupId() {
+      this.groupId = null;
+    }
+
+    /** Returns true if field groupId is set (has been assigned a value) and false otherwise */
+    public boolean isSetGroupId() {
+      return this.groupId != null;
+    }
+
+    public void setGroupIdIsSet(boolean value) {
+      if (!value) {
+        this.groupId = null;
+      }
+    }
+
+    public java.lang.String getNewOwnerId() {
+      return this.newOwnerId;
+    }
+
+    public transferGroupOwnership_args setNewOwnerId(java.lang.String newOwnerId) {
+      this.newOwnerId = newOwnerId;
+      return this;
+    }
+
+    public void unsetNewOwnerId() {
+      this.newOwnerId = null;
+    }
+
+    /** Returns true if field newOwnerId is set (has been assigned a value) and false otherwise */
+    public boolean isSetNewOwnerId() {
+      return this.newOwnerId != null;
+    }
+
+    public void setNewOwnerIdIsSet(boolean value) {
+      if (!value) {
+        this.newOwnerId = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case AUTHZ_TOKEN:
+        if (value == null) {
+          unsetAuthzToken();
+        } else {
+          setAuthzToken((org.apache.airavata.model.security.AuthzToken)value);
+        }
+        break;
+
+      case DOMAIN_ID:
+        if (value == null) {
+          unsetDomainId();
+        } else {
+          setDomainId((java.lang.String)value);
+        }
+        break;
+
+      case GROUP_ID:
+        if (value == null) {
+          unsetGroupId();
+        } else {
+          setGroupId((java.lang.String)value);
+        }
+        break;
+
+      case NEW_OWNER_ID:
+        if (value == null) {
+          unsetNewOwnerId();
+        } else {
+          setNewOwnerId((java.lang.String)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case AUTHZ_TOKEN:
+        return getAuthzToken();
+
+      case DOMAIN_ID:
+        return getDomainId();
+
+      case GROUP_ID:
+        return getGroupId();
+
+      case NEW_OWNER_ID:
+        return getNewOwnerId();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case AUTHZ_TOKEN:
+        return isSetAuthzToken();
+      case DOMAIN_ID:
+        return isSetDomainId();
+      case GROUP_ID:
+        return isSetGroupId();
+      case NEW_OWNER_ID:
+        return isSetNewOwnerId();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof transferGroupOwnership_args)
+        return this.equals((transferGroupOwnership_args)that);
+      return false;
+    }
+
+    public boolean equals(transferGroupOwnership_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_authzToken = true && this.isSetAuthzToken();
+      boolean that_present_authzToken = true && that.isSetAuthzToken();
+      if (this_present_authzToken || that_present_authzToken) {
+        if (!(this_present_authzToken && that_present_authzToken))
+          return false;
+        if (!this.authzToken.equals(that.authzToken))
+          return false;
+      }
+
+      boolean this_present_domainId = true && this.isSetDomainId();
+      boolean that_present_domainId = true && that.isSetDomainId();
+      if (this_present_domainId || that_present_domainId) {
+        if (!(this_present_domainId && that_present_domainId))
+          return false;
+        if (!this.domainId.equals(that.domainId))
+          return false;
+      }
+
+      boolean this_present_groupId = true && this.isSetGroupId();
+      boolean that_present_groupId = true && that.isSetGroupId();
+      if (this_present_groupId || that_present_groupId) {
+        if (!(this_present_groupId && that_present_groupId))
+          return false;
+        if (!this.groupId.equals(that.groupId))
+          return false;
+      }
+
+      boolean this_present_newOwnerId = true && this.isSetNewOwnerId();
+      boolean that_present_newOwnerId = true && that.isSetNewOwnerId();
+      if (this_present_newOwnerId || that_present_newOwnerId) {
+        if (!(this_present_newOwnerId && that_present_newOwnerId))
+          return false;
+        if (!this.newOwnerId.equals(that.newOwnerId))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetAuthzToken()) ? 131071 : 524287);
+      if (isSetAuthzToken())
+        hashCode = hashCode * 8191 + authzToken.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetDomainId()) ? 131071 : 524287);
+      if (isSetDomainId())
+        hashCode = hashCode * 8191 + domainId.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetGroupId()) ? 131071 : 524287);
+      if (isSetGroupId())
+        hashCode = hashCode * 8191 + groupId.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetNewOwnerId()) ? 131071 : 524287);
+      if (isSetNewOwnerId())
+        hashCode = hashCode * 8191 + newOwnerId.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(transferGroupOwnership_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAuthzToken()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authzToken, other.authzToken);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetDomainId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.domainId, other.domainId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGroupId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.groupId, other.groupId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetNewOwnerId()).compareTo(other.isSetNewOwnerId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetNewOwnerId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.newOwnerId, other.newOwnerId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+    }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("transferGroupOwnership_args(");
+      boolean first = true;
+
+      sb.append("authzToken:");
+      if (this.authzToken == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.authzToken);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("domainId:");
+      if (this.domainId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.domainId);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("groupId:");
+      if (this.groupId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.groupId);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("newOwnerId:");
+      if (this.newOwnerId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.newOwnerId);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (authzToken == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
+      }
+      if (domainId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'domainId' was not present! Struct: " + toString());
+      }
+      if (groupId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupId' was not present! Struct: " + toString());
+      }
+      if (newOwnerId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'newOwnerId' was not present! Struct: " + toString());
+      }
+      // check for sub-struct validity
+      if (authzToken != null) {
+        authzToken.validate();
+      }
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+      try {
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class transferGroupOwnership_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public transferGroupOwnership_argsStandardScheme getScheme() {
+        return new transferGroupOwnership_argsStandardScheme();
+      }
+    }
+
+    private static class transferGroupOwnership_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<transferGroupOwnership_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, transferGroupOwnership_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        while (true)
+        {
+          schemeField = iprot.readFieldBegin();
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+            break;
+          }
+          switch (schemeField.id) {
+            case 1: // AUTHZ_TOKEN
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+                struct.authzToken.read(iprot);
+                struct.setAuthzTokenIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // DOMAIN_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.domainId = iprot.readString();
+                struct.setDomainIdIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 3: // GROUP_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.groupId = iprot.readString();
+                struct.setGroupIdIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 4: // NEW_OWNER_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.newOwnerId = iprot.readString();
+                struct.setNewOwnerIdIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            default:
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+          }
+          iprot.readFieldEnd();
+        }
+        iprot.readStructEnd();
+
+        // check for required fields of primitive type, which can't be checked in the validate method
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, transferGroupOwnership_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.authzToken != null) {
+          oprot.writeFieldBegin(AUTHZ_TOKEN_FIELD_DESC);
+          struct.authzToken.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.domainId != null) {
+          oprot.writeFieldBegin(DOMAIN_ID_FIELD_DESC);
+          oprot.writeString(struct.domainId);
+          oprot.writeFieldEnd();
+        }
+        if (struct.groupId != null) {
+          oprot.writeFieldBegin(GROUP_ID_FIELD_DESC);
+          oprot.writeString(struct.groupId);
+          oprot.writeFieldEnd();
+        }
+        if (struct.newOwnerId != null) {
+          oprot.writeFieldBegin(NEW_OWNER_ID_FIELD_DESC);
+          oprot.writeString(struct.newOwnerId);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class transferGroupOwnership_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public transferGroupOwnership_argsTupleScheme getScheme() {
+        return new transferGroupOwnership_argsTupleScheme();
+      }
+    }
+
+    private static class transferGroupOwnership_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<transferGroupOwnership_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, transferGroupOwnership_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.authzToken.write(oprot);
+        oprot.writeString(struct.domainId);
+        oprot.writeString(struct.groupId);
+        oprot.writeString(struct.newOwnerId);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, transferGroupOwnership_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+        struct.authzToken.read(iprot);
+        struct.setAuthzTokenIsSet(true);
+        struct.domainId = iprot.readString();
+        struct.setDomainIdIsSet(true);
+        struct.groupId = iprot.readString();
+        struct.setGroupIdIsSet(true);
+        struct.newOwnerId = iprot.readString();
+        struct.setNewOwnerIdIsSet(true);
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  public static class transferGroupOwnership_result implements org.apache.thrift.TBase<transferGroupOwnership_result, transferGroupOwnership_result._Fields>, java.io.Serializable, Cloneable, Comparable<transferGroupOwnership_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("transferGroupOwnership_result");
+
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
+    private static final org.apache.thrift.protocol.TField GSE_FIELD_DESC = new org.apache.thrift.protocol.TField("gse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new transferGroupOwnership_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new transferGroupOwnership_resultTupleSchemeFactory();
+
+    public boolean success; // required
+    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
+    public org.apache.airavata.model.error.AuthorizationException ae; // required
+
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      SUCCESS((short)0, "success"),
+      GSE((short)1, "gse"),
+      AE((short)2, "ae");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 0: // SUCCESS
+            return SUCCESS;
+          case 1: // GSE
+            return GSE;
+          case 2: // AE
+            return AE;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    private static final int __SUCCESS_ISSET_ID = 0;
+    private byte __isset_bitfield = 0;
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+      tmpMap.put(_Fields.GSE, new org.apache.thrift.meta_data.FieldMetaData("gse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException.class)));
+      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(transferGroupOwnership_result.class, metaDataMap);
+    }
+
+    public transferGroupOwnership_result() {
+    }
+
+    public transferGroupOwnership_result(
+      boolean success,
+      org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse,
+      org.apache.airavata.model.error.AuthorizationException ae)
+    {
+      this();
+      this.success = success;
+      setSuccessIsSet(true);
+      this.gse = gse;
+      this.ae = ae;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public transferGroupOwnership_result(transferGroupOwnership_result other) {
+      __isset_bitfield = other.__isset_bitfield;
+      this.success = other.success;
+      if (other.isSetGse()) {
+        this.gse = new org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException(other.gse);
+      }
+      if (other.isSetAe()) {
+        this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
+      }
+    }
+
+    public transferGroupOwnership_result deepCopy() {
+      return new transferGroupOwnership_result(this);
+    }
+
+    @Override
+    public void clear() {
+      setSuccessIsSet(false);
+      this.success = false;
+      this.gse = null;
+      this.ae = null;
+    }
+
+    public boolean isSuccess() {
+      return this.success;
+    }
+
+    public transferGroupOwnership_result setSuccess(boolean success) {
+      this.success = success;
+      setSuccessIsSet(true);
+      return this;
+    }
+
+    public void unsetSuccess() {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    }
+
+    /** Returns true if field success is set (has been assigned a value) and false otherwise */
+    public boolean isSetSuccess() {
+      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    }
+
+    public void setSuccessIsSet(boolean value) {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
+    }
+
+    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException getGse() {
+      return this.gse;
+    }
+
+    public transferGroupOwnership_result setGse(org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+      this.gse = gse;
+      return this;
+    }
+
+    public void unsetGse() {
+      this.gse = null;
+    }
+
+    /** Returns true if field gse is set (has been assigned a value) and false otherwise */
+    public boolean isSetGse() {
+      return this.gse != null;
+    }
+
+    public void setGseIsSet(boolean value) {
+      if (!value) {
+        this.gse = null;
+      }
+    }
+
+    public org.apache.airavata.model.error.AuthorizationException getAe() {
+      return this.ae;
+    }
+
+    public transferGroupOwnership_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+      this.ae = ae;
+      return this;
+    }
+
+    public void unsetAe() {
+      this.ae = null;
+    }
+
+    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
+    public boolean isSetAe() {
+      return this.ae != null;
+    }
+
+    public void setAeIsSet(boolean value) {
+      if (!value) {
+        this.ae = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((java.lang.Boolean)value);
+        }
+        break;
+
+      case GSE:
+        if (value == null) {
+          unsetGse();
+        } else {
+          setGse((org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException)value);
+        }
+        break;
+
+      case AE:
+        if (value == null) {
+          unsetAe();
+        } else {
+          setAe((org.apache.airavata.model.error.AuthorizationException)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return isSuccess();
+
+      case GSE:
+        return getGse();
+
+      case AE:
+        return getAe();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case SUCCESS:
+        return isSetSuccess();
+      case GSE:
+        return isSetGse();
+      case AE:
+        return isSetAe();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof transferGroupOwnership_result)
+        return this.equals((transferGroupOwnership_result)that);
+      return false;
+    }
+
+    public boolean equals(transferGroupOwnership_result that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_success = true;
+      boolean that_present_success = true;
+      if (this_present_success || that_present_success) {
+        if (!(this_present_success && that_present_success))
+          return false;
+        if (this.success != that.success)
+          return false;
+      }
+
+      boolean this_present_gse = true && this.isSetGse();
+      boolean that_present_gse = true && that.isSetGse();
+      if (this_present_gse || that_present_gse) {
+        if (!(this_present_gse && that_present_gse))
+          return false;
+        if (!this.gse.equals(that.gse))
+          return false;
+      }
+
+      boolean this_present_ae = true && this.isSetAe();
+      boolean that_present_ae = true && that.isSetAe();
+      if (this_present_ae || that_present_ae) {
+        if (!(this_present_ae && that_present_ae))
+          return false;
+        if (!this.ae.equals(that.ae))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((success) ? 131071 : 524287);
+
+      hashCode = hashCode * 8191 + ((isSetGse()) ? 131071 : 524287);
+      if (isSetGse())
+        hashCode = hashCode * 8191 + gse.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetAe()) ? 131071 : 524287);
+      if (isSetAe())
+        hashCode = hashCode * 8191 + ae.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(transferGroupOwnership_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetSuccess()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetGse()).compareTo(other.isSetGse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gse, other.gse);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAe()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+      }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("transferGroupOwnership_result(");
+      boolean first = true;
+
+      sb.append("success:");
+      sb.append(this.success);
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("gse:");
+      if (this.gse == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.gse);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("ae:");
+      if (this.ae == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.ae);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      // check for sub-struct validity
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+      try {
+        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+        __isset_bitfield = 0;
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class transferGroupOwnership_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public transferGroupOwnership_resultStandardScheme getScheme() {
+        return new transferGroupOwnership_resultStandardScheme();
+      }
+    }
+
+    private static class transferGroupOwnership_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<transferGroupOwnership_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, transferGroupOwnership_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        while (true)
+        {
+          schemeField = iprot.readFieldBegin();
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+            break;
+          }
+          switch (schemeField.id) {
+            case 0: // SUCCESS
+              if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+                struct.success = iprot.readBool();
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 1: // GSE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.gse = new org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException();
+                struct.gse.read(iprot);
+                struct.setGseIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // AE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+                struct.ae.read(iprot);
+                struct.setAeIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            default:
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+          }
+          iprot.readFieldEnd();
+        }
+        iprot.readStructEnd();
+
+        // check for required fields of primitive type, which can't be checked in the validate method
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, transferGroupOwnership_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.isSetSuccess()) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          oprot.writeBool(struct.success);
+          oprot.writeFieldEnd();
+        }
+        if (struct.gse != null) {
+          oprot.writeFieldBegin(GSE_FIELD_DESC);
+          struct.gse.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.ae != null) {
+          oprot.writeFieldBegin(AE_FIELD_DESC);
+          struct.ae.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class transferGroupOwnership_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public transferGroupOwnership_resultTupleScheme getScheme() {
+        return new transferGroupOwnership_resultTupleScheme();
+      }
+    }
+
+    private static class transferGroupOwnership_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<transferGroupOwnership_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, transferGroupOwnership_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetSuccess()) {
+          optionals.set(0);
+        }
+        if (struct.isSetGse()) {
+          optionals.set(1);
+        }
+        if (struct.isSetAe()) {
+          optionals.set(2);
+        }
+        oprot.writeBitSet(optionals, 3);
+        if (struct.isSetSuccess()) {
+          oprot.writeBool(struct.success);
+        }
+        if (struct.isSetGse()) {
+          struct.gse.write(oprot);
+        }
+        if (struct.isSetAe()) {
+          struct.ae.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, transferGroupOwnership_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(3);
+        if (incoming.get(0)) {
+          struct.success = iprot.readBool();
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.gse = new org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException();
+          struct.gse.read(iprot);
+          struct.setGseIsSet(true);
+        }
+        if (incoming.get(2)) {
+          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+          struct.ae.read(iprot);
+          struct.setAeIsSet(true);
+        }
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  public static class addGroupAdmins_args implements org.apache.thrift.TBase<addGroupAdmins_args, addGroupAdmins_args._Fields>, java.io.Serializable, Cloneable, Comparable<addGroupAdmins_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGroupAdmins_args");
+
+    private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField DOMAIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("domainId", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)3);
+    private static final org.apache.thrift.protocol.TField ADMIN_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("adminIds", org.apache.thrift.protocol.TType.LIST, (short)4);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addGroupAdmins_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGroupAdmins_argsTupleSchemeFactory();
+
+    public org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public java.lang.String domainId; // required
+    public java.lang.String groupId; // required
+    public java.util.List<java.lang.String> adminIds; // required
+
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      AUTHZ_TOKEN((short)1, "authzToken"),
+      DOMAIN_ID((short)2, "domainId"),
+      GROUP_ID((short)3, "groupId"),
+      ADMIN_IDS((short)4, "adminIds");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // AUTHZ_TOKEN
+            return AUTHZ_TOKEN;
+          case 2: // DOMAIN_ID
+            return DOMAIN_ID;
+          case 3: // GROUP_ID
+            return GROUP_ID;
+          case 4: // ADMIN_IDS
+            return ADMIN_IDS;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
+      tmpMap.put(_Fields.DOMAIN_ID, new org.apache.thrift.meta_data.FieldMetaData("domainId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.GROUP_ID, new org.apache.thrift.meta_data.FieldMetaData("groupId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.ADMIN_IDS, new org.apache.thrift.meta_data.FieldMetaData("adminIds", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addGroupAdmins_args.class, metaDataMap);
+    }
+
+    public addGroupAdmins_args() {
+    }
+
+    public addGroupAdmins_args(
+      org.apache.airavata.model.security.AuthzToken authzToken,
+      java.lang.String domainId,
+      java.lang.String groupId,
+      java.util.List<java.lang.String> adminIds)
+    {
+      this();
+      this.authzToken = authzToken;
+      this.domainId = domainId;
+      this.groupId = groupId;
+      this.adminIds = adminIds;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public addGroupAdmins_args(addGroupAdmins_args other) {
+      if (other.isSetAuthzToken()) {
+        this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
+      }
+      if (other.isSetDomainId()) {
+        this.domainId = other.domainId;
+      }
+      if (other.isSetGroupId()) {
+        this.groupId = other.groupId;
+      }
+      if (other.isSetAdminIds()) {
+        java.util.List<java.lang.String> __this__adminIds = new java.util.ArrayList<java.lang.String>(other.adminIds);
+        this.adminIds = __this__adminIds;
+      }
+    }
+
+    public addGroupAdmins_args deepCopy() {
+      return new addGroupAdmins_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.authzToken = null;
+      this.domainId = null;
+      this.groupId = null;
+      this.adminIds = null;
+    }
+
+    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
+      return this.authzToken;
+    }
+
+    public addGroupAdmins_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+      this.authzToken = authzToken;
+      return this;
+    }
+
+    public void unsetAuthzToken() {
+      this.authzToken = null;
+    }
+
+    /** Returns true if field authzToken is set (has been assigned a value) and false otherwise */
+    public boolean isSetAuthzToken() {
+      return this.authzToken != null;
+    }
+
+    public void setAuthzTokenIsSet(boolean value) {
+      if (!value) {
+        this.authzToken = null;
+      }
+    }
+
+    public java.lang.String getDomainId() {
+      return this.domainId;
+    }
+
+    public addGroupAdmins_args setDomainId(java.lang.String domainId) {
+      this.domainId = domainId;
+      return this;
+    }
+
+    public void unsetDomainId() {
+      this.domainId = null;
+    }
+
+    /** Returns true if field domainId is set (has been assigned a value) and false otherwise */
+    public boolean isSetDomainId() {
+      return this.domainId != null;
+    }
+
+    public void setDomainIdIsSet(boolean value) {
+      if (!value) {
+        this.domainId = null;
+      }
+    }
+
+    public java.lang.String getGroupId() {
+      return this.groupId;
+    }
+
+    public addGroupAdmins_args setGroupId(java.lang.String groupId) {
+      this.groupId = groupId;
+      return this;
+    }
+
+    public void unsetGroupId() {
+      this.groupId = null;
+    }
+
+    /** Returns true if field groupId is set (has been assigned a value) and false otherwise */
+    public boolean isSetGroupId() {
+      return this.groupId != null;
+    }
+
+    public void setGroupIdIsSet(boolean value) {
+      if (!value) {
+        this.groupId = null;
+      }
+    }
+
+    public int getAdminIdsSize() {
+      return (this.adminIds == null) ? 0 : this.adminIds.size();
+    }
+
+    public java.util.Iterator<java.lang.String> getAdminIdsIterator() {
+      return (this.adminIds == null) ? null : this.adminIds.iterator();
+    }
+
+    public void addToAdminIds(java.lang.String elem) {
+      if (this.adminIds == null) {
+        this.adminIds = new java.util.ArrayList<java.lang.String>();
+      }
+      this.adminIds.add(elem);
+    }
+
+    public java.util.List<java.lang.String> getAdminIds() {
+      return this.adminIds;
+    }
+
+    public addGroupAdmins_args setAdminIds(java.util.List<java.lang.String> adminIds) {
+      this.adminIds = adminIds;
+      return this;
+    }
+
+    public void unsetAdminIds() {
+      this.adminIds = null;
+    }
+
+    /** Returns true if field adminIds is set (has been assigned a value) and false otherwise */
+    public boolean isSetAdminIds() {
+      return this.adminIds != null;
+    }
+
+    public void setAdminIdsIsSet(boolean value) {
+      if (!value) {
+        this.adminIds = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case AUTHZ_TOKEN:
+        if (value == null) {
+          unsetAuthzToken();
+        } else {
+          setAuthzToken((org.apache.airavata.model.security.AuthzToken)value);
+        }
+        break;
+
+      case DOMAIN_ID:
+        if (value == null) {
+          unsetDomainId();
+        } else {
+          setDomainId((java.lang.String)value);
+        }
+        break;
+
+      case GROUP_ID:
+        if (value == null) {
+          unsetGroupId();
+        } else {
+          setGroupId((java.lang.String)value);
+        }
+        break;
+
+      case ADMIN_IDS:
+        if (value == null) {
+          unsetAdminIds();
+        } else {
+          setAdminIds((java.util.List<java.lang.String>)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case AUTHZ_TOKEN:
+        return getAuthzToken();
+
+      case DOMAIN_ID:
+        return getDomainId();
+
+      case GROUP_ID:
+        return getGroupId();
+
+      case ADMIN_IDS:
+        return getAdminIds();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case AUTHZ_TOKEN:
+        return isSetAuthzToken();
+      case DOMAIN_ID:
+        return isSetDomainId();
+      case GROUP_ID:
+        return isSetGroupId();
+      case ADMIN_IDS:
+        return isSetAdminIds();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof addGroupAdmins_args)
+        return this.equals((addGroupAdmins_args)that);
+      return false;
+    }
+
+    public boolean equals(addGroupAdmins_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_authzToken = true && this.isSetAuthzToken();
+      boolean that_present_authzToken = true && that.isSetAuthzToken();
+      if (this_present_authzToken || that_present_authzToken) {
+        if (!(this_present_authzToken && that_present_authzToken))
+          return false;
+        if (!this.authzToken.equals(that.authzToken))
+          return false;
+      }
+
+      boolean this_present_domainId = true && this.isSetDomainId();
+      boolean that_present_domainId = true && that.isSetDomainId();
+      if (this_present_domainId || that_present_domainId) {
+        if (!(this_present_domainId && that_present_domainId))
+          return false;
+        if (!this.domainId.equals(that.domainId))
+          return false;
+      }
+
+      boolean this_present_groupId = true && this.isSetGroupId();
+      boolean that_present_groupId = true && that.isSetGroupId();
+      if (this_present_groupId || that_present_groupId) {
+        if (!(this_present_groupId && that_present_groupId))
+          return false;
+        if (!this.groupId.equals(that.groupId))
+          return false;
+      }
+
+      boolean this_present_adminIds = true && this.isSetAdminIds();
+      boolean that_present_adminIds = true && that.isSetAdminIds();
+      if (this_present_adminIds || that_present_adminIds) {
+        if (!(this_present_adminIds && that_present_adminIds))
+          return false;
+        if (!this.adminIds.equals(that.adminIds))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetAuthzToken()) ? 131071 : 524287);
+      if (isSetAuthzToken())
+        hashCode = hashCode * 8191 + authzToken.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetDomainId()) ? 131071 : 524287);
+      if (isSetDomainId())
+        hashCode = hashCode * 8191 + domainId.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetGroupId()) ? 131071 : 524287);
+      if (isSetGroupId())
+        hashCode = hashCode * 8191 + groupId.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetAdminIds()) ? 131071 : 524287);
+      if (isSetAdminIds())
+        hashCode = hashCode * 8191 + adminIds.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(addGroupAdmins_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAuthzToken()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authzToken, other.authzToken);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetDomainId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.domainId, other.domainId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGroupId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.groupId, other.groupId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetAdminIds()).compareTo(other.isSetAdminIds());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAdminIds()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.adminIds, other.adminIds);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+    }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("addGroupAdmins_args(");
+      boolean first = true;
+
+      sb.append("authzToken:");
+      if (this.authzToken == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.authzToken);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("domainId:");
+      if (this.domainId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.domainId);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("groupId:");
+      if (this.groupId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.groupId);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("adminIds:");
+      if (this.adminIds == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.adminIds);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (authzToken == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
+      }
+      if (domainId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'domainId' was not present! Struct: " + toString());
+      }
+      if (groupId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupId' was not present! Struct: " + toString());
+      }
+      if (adminIds == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'adminIds' was not present! Struct: " + toString());
+      }
+      // check for sub-struct validity
+      if (authzToken != null) {
+        authzToken.validate();
+      }
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+      try {
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class addGroupAdmins_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addGroupAdmins_argsStandardScheme getScheme() {
+        return new addGroupAdmins_argsStandardScheme();
+      }
+    }
+
+    private static class addGroupAdmins_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGroupAdmins_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, addGroupAdmins_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        while (true)
+        {
+          schemeField = iprot.readFieldBegin();
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+            break;
+          }
+          switch (schemeField.id) {
+            case 1: // AUTHZ_TOKEN
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+                struct.authzToken.read(iprot);
+                struct.setAuthzTokenIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // DOMAIN_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.domainId = iprot.readString();
+                struct.setDomainIdIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 3: // GROUP_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.groupId = iprot.readString();
+                struct.setGroupIdIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 4: // ADMIN_IDS
+              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+                {
+                  org.apache.thrift.protocol.TList _list8 = iprot.readListBegin();
+                  struct.adminIds = new java.util.ArrayList<java.lang.String>(_list8.size);
+                  java.lang.String _elem9;
+                  for (int _i10 = 0; _i10 < _list8.size; ++_i10)
+                  {
+                    _elem9 = iprot.readString();
+                    struct.adminIds.add(_elem9);
+                  }
+                  iprot.readListEnd();
+                }
+                struct.setAdminIdsIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            default:
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+          }
+          iprot.readFieldEnd();
+        }
+        iprot.readStructEnd();
+
+        // check for required fields of primitive type, which can't be checked in the validate method
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, addGroupAdmins_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.authzToken != null) {
+          oprot.writeFieldBegin(AUTHZ_TOKEN_FIELD_DESC);
+          struct.authzToken.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.domainId != null) {
+          oprot.writeFieldBegin(DOMAIN_ID_FIELD_DESC);
+          oprot.writeString(struct.domainId);
+          oprot.writeFieldEnd();
+        }
+        if (struct.groupId != null) {
+          oprot.writeFieldBegin(GROUP_ID_FIELD_DESC);
+          oprot.writeString(struct.groupId);
+          oprot.writeFieldEnd();
+        }
+        if (struct.adminIds != null) {
+          oprot.writeFieldBegin(ADMIN_IDS_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.adminIds.size()));
+            for (java.lang.String _iter11 : struct.adminIds)
+            {
+              oprot.writeString(_iter11);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class addGroupAdmins_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addGroupAdmins_argsTupleScheme getScheme() {
+        return new addGroupAdmins_argsTupleScheme();
+      }
+    }
+
+    private static class addGroupAdmins_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<addGroupAdmins_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, addGroupAdmins_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.authzToken.write(oprot);
+        oprot.writeString(struct.domainId);
+        oprot.writeString(struct.groupId);
+        {
+          oprot.writeI32(struct.adminIds.size());
+          for (java.lang.String _iter12 : struct.adminIds)
+          {
+            oprot.writeString(_iter12);
+          }
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, addGroupAdmins_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+        struct.authzToken.read(iprot);
+        struct.setAuthzTokenIsSet(true);
+        struct.domainId = iprot.readString();
+        struct.setDomainIdIsSet(true);
+        struct.groupId = iprot.readString();
+        struct.setGroupIdIsSet(true);
+        {
+          org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.adminIds = new java.util.ArrayList<java.lang.String>(_list13.size);
+          java.lang.String _elem14;
+          for (int _i15 = 0; _i15 < _list13.size; ++_i15)
+          {
+            _elem14 = iprot.readString();
+            struct.adminIds.add(_elem14);
+          }
+        }
+        struct.setAdminIdsIsSet(true);
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  public static class addGroupAdmins_result implements org.apache.thrift.TBase<addGroupAdmins_result, addGroupAdmins_result._Fields>, java.io.Serializable, Cloneable, Comparable<addGroupAdmins_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGroupAdmins_result");
+
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
+    private static final org.apache.thrift.protocol.TField GSE_FIELD_DESC = new org.apache.thrift.protocol.TField("gse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addGroupAdmins_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGroupAdmins_resultTupleSchemeFactory();
+
+    public boolean success; // required
+    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
+    public org.apache.airavata.model.error.AuthorizationException ae; // required
+
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      SUCCESS((short)0, "success"),
+      GSE((short)1, "gse"),
+      AE((short)2, "ae");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 0: // SUCCESS
+            return SUCCESS;
+          case 1: // GSE
+            return GSE;
+          case 2: // AE
+            return AE;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    private static final int __SUCCESS_ISSET_ID = 0;
+    private byte __isset_bitfield = 0;
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+      tmpMap.put(_Fields.GSE, new org.apache.thrift.meta_data.FieldMetaData("gse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException.class)));
+      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addGroupAdmins_result.class, metaDataMap);
+    }
+
+    public addGroupAdmins_result() {
+    }
+
+    public addGroupAdmins_result(
+      boolean success,
+      org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse,
+      org.apache.airavata.model.error.AuthorizationException ae)
+    {
+      this();
+      this.success = success;
+      setSuccessIsSet(true);
+      this.gse = gse;
+      this.ae = ae;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public addGroupAdmins_result(addGroupAdmins_result other) {
+      __isset_bitfield = other.__isset_bitfield;
+      this.success = other.success;
+      if (other.isSetGse()) {
+        this.gse = new org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException(other.gse);
+      }
+      if (other.isSetAe()) {
+        this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
+      }
+    }
+
+    public addGroupAdmins_result deepCopy() {
+      return new addGroupAdmins_result(this);
+    }
+
+    @Override
+    public void clear() {
+      setSuccessIsSet(false);
+      this.success = false;
+      this.gse = null;
+      this.ae = null;
+    }
+
+    public boolean isSuccess() {
+      return this.success;
+    }
+
+    public addGroupAdmins_result setSuccess(boolean success) {
+      this.success = success;
+      setSuccessIsSet(true);
+      return this;
+    }
+
+    public void unsetSuccess() {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    }
+
+    /** Returns true if field success is set (has been assigned a value) and false otherwise */
+    public boolean isSetSuccess() {
+      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    }
+
+    public void setSuccessIsSet(boolean value) {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
+    }
+
+    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException getGse() {
+      return this.gse;
+    }
+
+    public addGroupAdmins_result setGse(org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+      this.gse = gse;
+      return this;
+    }
+
+    public void unsetGse() {
+      this.gse = null;
+    }
+
+    /** Returns true if field gse is set (has been assigned a value) and false otherwise */
+    public boolean isSetGse() {
+      return this.gse != null;
+    }
+
+    public void setGseIsSet(boolean value) {
+      if (!value) {
+        this.gse = null;
+      }
+    }
+
+    public org.apache.airavata.model.error.AuthorizationException getAe() {
+      return this.ae;
+    }
+
+    public addGroupAdmins_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+      this.ae = ae;
+      return this;
+    }
+
+    public void unsetAe() {
+      this.ae = null;
+    }
+
+    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
+    public boolean isSetAe() {
+      return this.ae != null;
+    }
+
+    public void setAeIsSet(boolean value) {
+      if (!value) {
+        this.ae = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((java.lang.Boolean)value);
+        }
+        break;
+
+      case GSE:
+        if (value == null) {
+          unsetGse();
+        } else {
+          setGse((org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException)value);
+        }
+        break;
+
+      case AE:
+        if (value == null) {
+          unsetAe();
+        } else {
+          setAe((org.apache.airavata.model.error.AuthorizationException)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return isSuccess();
+
+      case GSE:
+        return getGse();
+
+      case AE:
+        return getAe();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case SUCCESS:
+        return isSetSuccess();
+      case GSE:
+        return isSetGse();
+      case AE:
+        return isSetAe();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof addGroupAdmins_result)
+        return this.equals((addGroupAdmins_result)that);
+      return false;
+    }
+
+    public boolean equals(addGroupAdmins_result that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_success = true;
+      boolean that_present_success = true;
+      if (this_present_success || that_present_success) {
+        if (!(this_present_success && that_present_success))
+          return false;
+        if (this.success != that.success)
+          return false;
+      }
+
+      boolean this_present_gse = true && this.isSetGse();
+      boolean that_present_gse = true && that.isSetGse();
+      if (this_present_gse || that_present_gse) {
+        if (!(this_present_gse && that_present_gse))
+          return false;
+        if (!this.gse.equals(that.gse))
+          return false;
+      }
+
+      boolean this_present_ae = true && this.isSetAe();
+      boolean that_present_ae = true && that.isSetAe();
+      if (this_present_ae || that_present_ae) {
+        if (!(this_present_ae && that_present_ae))
+          return false;
+        if (!this.ae.equals(that.ae))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((success) ? 131071 : 524287);
+
+      hashCode = hashCode * 8191 + ((isSetGse()) ? 131071 : 524287);
+      if (isSetGse())
+        hashCode = hashCode * 8191 + gse.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetAe()) ? 131071 : 524287);
+      if (isSetAe())
+        hashCode = hashCode * 8191 + ae.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(addGroupAdmins_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetSuccess()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetGse()).compareTo(other.isSetGse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gse, other.gse);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAe()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+      }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("addGroupAdmins_result(");
+      boolean first = true;
+
+      sb.append("success:");
+      sb.append(this.success);
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("gse:");
+      if (this.gse == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.gse);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("ae:");
+      if (this.ae == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.ae);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      // check for sub-struct validity
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+      try {
+        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+        __isset_bitfield = 0;
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class addGroupAdmins_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addGroupAdmins_resultStandardScheme getScheme() {
+        return new addGroupAdmins_resultStandardScheme();
+      }
+    }
+
+    private static class addGroupAdmins_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGroupAdmins_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, addGroupAdmins_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        while (true)
+        {
+          schemeField = iprot.readFieldBegin();
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+            break;
+          }
+          switch (schemeField.id) {
+            case 0: // SUCCESS
+              if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+                struct.success = iprot.readBool();
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 1: // GSE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.gse = new org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException();
+                struct.gse.read(iprot);
+                struct.setGseIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // AE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+                struct.ae.read(iprot);
+                struct.setAeIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            default:
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+          }
+          iprot.readFieldEnd();
+        }
+        iprot.readStructEnd();
+
+        // check for required fields of primitive type, which can't be checked in the validate method
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, addGroupAdmins_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.isSetSuccess()) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          oprot.writeBool(struct.success);
+          oprot.writeFieldEnd();
+        }
+        if (struct.gse != null) {
+          oprot.writeFieldBegin(GSE_FIELD_DESC);
+          struct.gse.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.ae != null) {
+          oprot.writeFieldBegin(AE_FIELD_DESC);
+          struct.ae.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class addGroupAdmins_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public addGroupAdmins_resultTupleScheme getScheme() {
+        return new addGroupAdmins_resultTupleScheme();
+      }
+    }
+
+    private static class addGroupAdmins_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<addGroupAdmins_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, addGroupAdmins_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetSuccess()) {
+          optionals.set(0);
+        }
+        if (struct.isSetGse()) {
+          optionals.set(1);
+        }
+        if (struct.isSetAe()) {
+          optionals.set(2);
+        }
+        oprot.writeBitSet(optionals, 3);
+        if (struct.isSetSuccess()) {
+          oprot.writeBool(struct.success);
+        }
+        if (struct.isSetGse()) {
+          struct.gse.write(oprot);
+        }
+        if (struct.isSetAe()) {
+          struct.ae.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, addGroupAdmins_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(3);
+        if (incoming.get(0)) {
+          struct.success = iprot.readBool();
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.gse = new org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException();
+          struct.gse.read(iprot);
+          struct.setGseIsSet(true);
+        }
+        if (incoming.get(2)) {
+          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+          struct.ae.read(iprot);
+          struct.setAeIsSet(true);
+        }
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  public static class removeGroupAdmins_args implements org.apache.thrift.TBase<removeGroupAdmins_args, removeGroupAdmins_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeGroupAdmins_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeGroupAdmins_args");
+
+    private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField DOMAIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("domainId", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)3);
+    private static final org.apache.thrift.protocol.TField ADMIN_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("adminIds", org.apache.thrift.protocol.TType.LIST, (short)4);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeGroupAdmins_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeGroupAdmins_argsTupleSchemeFactory();
+
+    public org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public java.lang.String domainId; // required
+    public java.lang.String groupId; // required
+    public java.util.List<java.lang.String> adminIds; // required
+
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      AUTHZ_TOKEN((short)1, "authzToken"),
+      DOMAIN_ID((short)2, "domainId"),
+      GROUP_ID((short)3, "groupId"),
+      ADMIN_IDS((short)4, "adminIds");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // AUTHZ_TOKEN
+            return AUTHZ_TOKEN;
+          case 2: // DOMAIN_ID
+            return DOMAIN_ID;
+          case 3: // GROUP_ID
+            return GROUP_ID;
+          case 4: // ADMIN_IDS
+            return ADMIN_IDS;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
+      tmpMap.put(_Fields.DOMAIN_ID, new org.apache.thrift.meta_data.FieldMetaData("domainId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.GROUP_ID, new org.apache.thrift.meta_data.FieldMetaData("groupId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.ADMIN_IDS, new org.apache.thrift.meta_data.FieldMetaData("adminIds", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(removeGroupAdmins_args.class, metaDataMap);
+    }
+
+    public removeGroupAdmins_args() {
+    }
+
+    public removeGroupAdmins_args(
+      org.apache.airavata.model.security.AuthzToken authzToken,
+      java.lang.String domainId,
+      java.lang.String groupId,
+      java.util.List<java.lang.String> adminIds)
+    {
+      this();
+      this.authzToken = authzToken;
+      this.domainId = domainId;
+      this.groupId = groupId;
+      this.adminIds = adminIds;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public removeGroupAdmins_args(removeGroupAdmins_args other) {
+      if (other.isSetAuthzToken()) {
+        this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
+      }
+      if (other.isSetDomainId()) {
+        this.domainId = other.domainId;
+      }
+      if (other.isSetGroupId()) {
+        this.groupId = other.groupId;
+      }
+      if (other.isSetAdminIds()) {
+        java.util.List<java.lang.String> __this__adminIds = new java.util.ArrayList<java.lang.String>(other.adminIds);
+        this.adminIds = __this__adminIds;
+      }
+    }
+
+    public removeGroupAdmins_args deepCopy() {
+      return new removeGroupAdmins_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.authzToken = null;
+      this.domainId = null;
+      this.groupId = null;
+      this.adminIds = null;
+    }
+
+    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
+      return this.authzToken;
+    }
+
+    public removeGroupAdmins_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+      this.authzToken = authzToken;
+      return this;
+    }
+
+    public void unsetAuthzToken() {
+      this.authzToken = null;
+    }
+
+    /** Returns true if field authzToken is set (has been assigned a value) and false otherwise */
+    public boolean isSetAuthzToken() {
+      return this.authzToken != null;
+    }
+
+    public void setAuthzTokenIsSet(boolean value) {
+      if (!value) {
+        this.authzToken = null;
+      }
+    }
+
+    public java.lang.String getDomainId() {
+      return this.domainId;
+    }
+
+    public removeGroupAdmins_args setDomainId(java.lang.String domainId) {
+      this.domainId = domainId;
+      return this;
+    }
+
+    public void unsetDomainId() {
+      this.domainId = null;
+    }
+
+    /** Returns true if field domainId is set (has been assigned a value) and false otherwise */
+    public boolean isSetDomainId() {
+      return this.domainId != null;
+    }
+
+    public void setDomainIdIsSet(boolean value) {
+      if (!value) {
+        this.domainId = null;
+      }
+    }
+
+    public java.lang.String getGroupId() {
+      return this.groupId;
+    }
+
+    public removeGroupAdmins_args setGroupId(java.lang.String groupId) {
+      this.groupId = groupId;
+      return this;
+    }
+
+    public void unsetGroupId() {
+      this.groupId = null;
+    }
+
+    /** Returns true if field groupId is set (has been assigned a value) and false otherwise */
+    public boolean isSetGroupId() {
+      return this.groupId != null;
+    }
+
+    public void setGroupIdIsSet(boolean value) {
+      if (!value) {
+        this.groupId = null;
+      }
+    }
+
+    public int getAdminIdsSize() {
+      return (this.adminIds == null) ? 0 : this.adminIds.size();
+    }
+
+    public java.util.Iterator<java.lang.String> getAdminIdsIterator() {
+      return (this.adminIds == null) ? null : this.adminIds.iterator();
+    }
+
+    public void addToAdminIds(java.lang.String elem) {
+      if (this.adminIds == null) {
+        this.adminIds = new java.util.ArrayList<java.lang.String>();
+      }
+      this.adminIds.add(elem);
+    }
+
+    public java.util.List<java.lang.String> getAdminIds() {
+      return this.adminIds;
+    }
+
+    public removeGroupAdmins_args setAdminIds(java.util.List<java.lang.String> adminIds) {
+      this.adminIds = adminIds;
+      return this;
+    }
+
+    public void unsetAdminIds() {
+      this.adminIds = null;
+    }
+
+    /** Returns true if field adminIds is set (has been assigned a value) and false otherwise */
+    public boolean isSetAdminIds() {
+      return this.adminIds != null;
+    }
+
+    public void setAdminIdsIsSet(boolean value) {
+      if (!value) {
+        this.adminIds = null;
+      }
... 4050 lines suppressed ...

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

[airavata] 03/13: Adding API methods GroupManagerServiceHandler

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

smarru pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit 8810c0461d3eea513192deff7043b6b097ef5259
Author: Sachin Kariyattin <sa...@gmail.com>
AuthorDate: Sun Dec 3 21:16:39 2017 -0500

    Adding API methods GroupManagerServiceHandler
---
 .../profile-service/profile-service-server/pom.xml |   5 +
 .../handlers/GroupManagerServiceHandler.java       | 237 +++++++++++++++++++++
 .../profile/server/ProfileServiceServer.java       |   5 +
 .../cpi/group_manager_cpiConstants.java            |   4 +-
 .../group-manager/group-manager-cpi.thrift         |   4 +-
 5 files changed, 251 insertions(+), 4 deletions(-)

diff --git a/airavata-services/profile-service/profile-service-server/pom.xml b/airavata-services/profile-service/profile-service-server/pom.xml
index 9163929..ba8febe 100644
--- a/airavata-services/profile-service/profile-service-server/pom.xml
+++ b/airavata-services/profile-service/profile-service-server/pom.xml
@@ -54,6 +54,11 @@
             <artifactId>iam-admin-services-core</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-api-server</artifactId>
+            <version>${project.version}</version>
+        </dependency>
     </dependencies>
     
 </project>
\ No newline at end of file
diff --git a/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/GroupManagerServiceHandler.java b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/GroupManagerServiceHandler.java
new file mode 100644
index 0000000..7d4b87d
--- /dev/null
+++ b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/GroupManagerServiceHandler.java
@@ -0,0 +1,237 @@
+package org.apache.airavata.service.profile.handlers;
+
+import org.apache.airavata.api.server.util.ThriftClientPool;
+import org.apache.airavata.common.utils.Constants;
+import org.apache.airavata.common.utils.ServerSettings;
+import org.apache.airavata.model.error.AuthorizationException;
+import org.apache.airavata.model.group.GroupModel;
+import org.apache.airavata.model.security.AuthzToken;
+import org.apache.airavata.service.profile.groupmanager.cpi.GroupManagerService;
+import org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException;
+import org.apache.airavata.service.security.interceptor.SecurityCheck;
+import org.apache.airavata.sharing.registry.models.GroupType;
+import org.apache.airavata.sharing.registry.models.UserGroup;
+import org.apache.airavata.sharing.registry.service.cpi.SharingRegistryService;
+import org.apache.commons.pool.impl.GenericObjectPool;
+import org.apache.thrift.TException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.List;
+import java.util.UUID;
+
+public class GroupManagerServiceHandler implements GroupManagerService.Iface {
+
+    private static final Logger logger = LoggerFactory.getLogger(GroupManagerServiceHandler.class);
+
+    private ThriftClientPool<SharingRegistryService.Client> sharingClientPool;
+
+    public GroupManagerServiceHandler() {
+        GenericObjectPool.Config poolConfig = new GenericObjectPool.Config();
+        poolConfig.maxActive = 100;
+        poolConfig.minIdle = 5;
+        poolConfig.whenExhaustedAction = GenericObjectPool.WHEN_EXHAUSTED_BLOCK;
+        poolConfig.testOnBorrow = true;
+        poolConfig.testWhileIdle = true;
+        poolConfig.numTestsPerEvictionRun = 10;
+        poolConfig.maxWait = 3000;
+
+        sharingClientPool = new ThriftClientPool<>(
+                tProtocol -> new SharingRegistryService.Client(tProtocol), poolConfig, ServerSettings.getSharingRegistryHost(),
+                Integer.parseInt(ServerSettings.getSharingRegistryPort()));
+    }
+
+    @Override
+    @SecurityCheck
+    public String createGroup(AuthzToken authzToken, GroupModel groupModel) throws GroupManagerServiceException, AuthorizationException, TException {
+        try {
+            //TODO Validations for authorization
+            SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
+
+            UserGroup sharingUserGroup = new UserGroup();
+            sharingUserGroup.setGroupId(UUID.randomUUID().toString());
+            sharingUserGroup.setName(groupModel.getName());
+            sharingUserGroup.setDescription(groupModel.getDescription());
+            sharingUserGroup.setGroupType(GroupType.USER_LEVEL_GROUP);
+            sharingUserGroup.setDomainId(authzToken.getClaimsMap().get(Constants.GATEWAY_ID));
+
+            String groupId = sharingClient.createGroup(sharingUserGroup);
+            sharingClient.addUsersToGroup(authzToken.getClaimsMap().get(Constants.GATEWAY_ID), groupModel.getMembers(), groupId);
+            return groupId;
+        }
+        catch (Exception e) {
+            String msg = "Error Creating Group" ;
+            logger.error(msg, e);
+            GroupManagerServiceException exception = new GroupManagerServiceException();
+            exception.setMessage(msg + " More info : " + e.getMessage());
+            throw exception;
+        }
+    }
+
+    @Override
+    @SecurityCheck
+    public boolean updateGroup(AuthzToken authzToken, GroupModel groupModel) throws GroupManagerServiceException, AuthorizationException, TException {
+        try {
+            //TODO Validations for authorization
+            SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
+
+            UserGroup sharingUserGroup = new UserGroup();
+            sharingUserGroup.setGroupId(groupModel.getId());
+            sharingUserGroup.setName(groupModel.getName());
+            sharingUserGroup.setDescription(groupModel.getDescription());
+            sharingUserGroup.setGroupType(GroupType.USER_LEVEL_GROUP);
+            sharingUserGroup.setDomainId(authzToken.getClaimsMap().get(Constants.GATEWAY_ID));
+
+            //adding and removal of users should be handle separately
+            sharingClient.updateGroup(sharingUserGroup);
+            return true;
+        }
+        catch (Exception e) {
+            String msg = "Error Updating Group" ;
+            logger.error(msg, e);
+            GroupManagerServiceException exception = new GroupManagerServiceException();
+            exception.setMessage(msg + " More info : " + e.getMessage());
+            throw exception;
+        }
+    }
+
+    @Override
+    @SecurityCheck
+    public boolean deleteGroup(AuthzToken authzToken, String groupId, String ownerId) throws GroupManagerServiceException, AuthorizationException, TException {
+        try {
+            //TODO Validations for authorization
+            SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
+
+            sharingClient.deleteGroup(authzToken.getClaimsMap().get(Constants.GATEWAY_ID), groupId);
+            return true;
+        }
+        catch (Exception e) {
+            String msg = "Error Deleting Group. Group ID: " + groupId ;
+            logger.error(msg, e);
+            GroupManagerServiceException exception = new GroupManagerServiceException();
+            exception.setMessage(msg + " More info : " + e.getMessage());
+            throw exception;
+        }
+    }
+
+    @Override
+    @SecurityCheck
+    public GroupModel getGroup(AuthzToken authzToken, String groupId) throws GroupManagerServiceException, AuthorizationException, TException {
+        try {
+            SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
+            UserGroup userGroup = sharingClient.getGroup(authzToken.getClaimsMap().get(Constants.GATEWAY_ID), groupId);
+
+            GroupModel groupModel = new GroupModel();
+            groupModel.setId(userGroup.getGroupId());
+            groupModel.setName(userGroup.getName());
+            groupModel.setDescription(userGroup.getDescription());
+            groupModel.setOwnerId(userGroup.getOwnerId());
+
+            sharingClient.getGroupMembersOfTypeUser(authzToken.getClaimsMap().get(Constants.GATEWAY_ID), groupId, 0, -1).stream().forEach(user->
+                    groupModel.addToMembers(user.getUserId())
+            );
+
+            return groupModel;
+        }
+        catch (Exception e) {
+            String msg = "Error Retreiving Group. Group ID: " + groupId ;
+            logger.error(msg, e);
+            GroupManagerServiceException exception = new GroupManagerServiceException();
+            exception.setMessage(msg + " More info : " + e.getMessage());
+            throw exception;
+        }
+    }
+
+    @Override
+    @SecurityCheck
+    public List<GroupModel> getAllGroupsUserBelongs(AuthzToken authzToken, String userName) throws GroupManagerServiceException, AuthorizationException, TException {
+        try {
+            throw new UnsupportedOperationException("Method not supported yet");
+        }
+        catch (Exception e) {
+            String msg = "Error Retreiving All Groups for User. User ID: " + userName ;
+            logger.error(msg, e);
+            GroupManagerServiceException exception = new GroupManagerServiceException();
+            exception.setMessage(msg + " More info : " + e.getMessage());
+            throw exception;
+        }
+    }
+
+    @Override
+    @SecurityCheck
+    public boolean transferGroupOwnership(AuthzToken authzToken, String domainId, String groupId, String newOwnerId) throws GroupManagerServiceException, AuthorizationException, TException {
+       try{
+           SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
+           return sharingClient.transferGroupOwnership(domainId, groupId, newOwnerId);
+       }
+       catch (Exception e) {
+           String msg = "Error Transferring Group Ownership";
+           logger.error(msg, e);
+           GroupManagerServiceException exception = new GroupManagerServiceException();
+           exception.setMessage(msg + " More info : " + e.getMessage());
+           throw exception;
+       }
+
+    }
+
+    @Override
+    @SecurityCheck
+    public boolean addGroupAdmins(AuthzToken authzToken, String domainId, String groupId, List<String> adminIds) throws GroupManagerServiceException, AuthorizationException, TException {
+        try {
+            SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
+            return sharingClient.addGroupAdmins(domainId, groupId, adminIds);
+        }
+        catch (Exception e) {
+            String msg = "Error Adding Admins to Group. Group ID: " + groupId;
+            logger.error(msg, e);
+            GroupManagerServiceException exception = new GroupManagerServiceException();
+            exception.setMessage(msg + " More info : " + e.getMessage());
+            throw exception;
+        }
+    }
+
+    @Override
+    public boolean removeGroupAdmins(AuthzToken authzToken, String domainId, String groupId, List<String> adminIds) throws GroupManagerServiceException, AuthorizationException, TException {
+        try {
+            SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
+            return sharingClient.removeGroupAdmins(domainId, groupId, adminIds);
+        }
+        catch (Exception e) {
+            String msg = "Error Removing Admins from the Group. Group ID: " + groupId;
+            logger.error(msg, e);
+            GroupManagerServiceException exception = new GroupManagerServiceException();
+            exception.setMessage(msg + " More info : " + e.getMessage());
+            throw exception;
+        }
+    }
+
+    @Override
+    public boolean hasAdminAccess(AuthzToken authzToken, String domainId, String groupId, String adminId) throws GroupManagerServiceException, AuthorizationException, TException {
+        try {
+            SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
+            return sharingClient.hasAdminAccess(domainId, groupId, adminId);
+        }
+        catch (Exception e) {
+            String msg = "Error Checking Admin Access for the Group. Group ID: " + groupId + " Admin ID: " + adminId;
+            logger.error(msg, e);
+            GroupManagerServiceException exception = new GroupManagerServiceException();
+            exception.setMessage(msg + " More info : " + e.getMessage());
+            throw exception;
+        }
+    }
+
+    @Override
+    public boolean hasOwnerAccess(AuthzToken authzToken, String domainId, String groupId, String ownerId) throws GroupManagerServiceException, AuthorizationException, TException {
+        try {
+            SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
+            return sharingClient.hasOwnerAccess(domainId, groupId, ownerId);
+        }
+        catch (Exception e) {
+            String msg = "Error Checking Owner Access for the Group. Group ID: " + groupId + " Owner ID: " + ownerId;
+            logger.error(msg, e);
+            GroupManagerServiceException exception = new GroupManagerServiceException();
+            exception.setMessage(msg + " More info : " + e.getMessage());
+            throw exception;
+        }
+    }
+}
diff --git a/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/server/ProfileServiceServer.java b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/server/ProfileServiceServer.java
index 96d6f83..c371173 100644
--- a/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/server/ProfileServiceServer.java
+++ b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/server/ProfileServiceServer.java
@@ -23,6 +23,9 @@ package org.apache.airavata.service.profile.server;
 
 import org.apache.airavata.common.utils.IServer;
 import org.apache.airavata.common.utils.ServerSettings;
+import org.apache.airavata.service.profile.groupmanager.cpi.GroupManagerService;
+import org.apache.airavata.service.profile.groupmanager.cpi.group_manager_cpiConstants;
+import org.apache.airavata.service.profile.handlers.GroupManagerServiceHandler;
 import org.apache.airavata.service.profile.handlers.IamAdminServicesHandler;
 import org.apache.airavata.service.profile.iam.admin.services.cpi.IamAdminServices;
 import org.apache.airavata.service.profile.iam.admin.services.cpi.iam_admin_services_cpiConstants;
@@ -88,12 +91,14 @@ public class ProfileServiceServer implements IServer {
             UserProfileService.Processor userProfileProcessor = new UserProfileService.Processor(new UserProfileServiceHandler());
             TenantProfileService.Processor teneantProfileProcessor = new TenantProfileService.Processor(new TenantProfileServiceHandler());
             IamAdminServices.Processor iamAdminServicesProcessor = new IamAdminServices.Processor(new IamAdminServicesHandler());
+            GroupManagerService.Processor groupmanagerProcessor = new GroupManagerService.Processor(new GroupManagerServiceHandler());
 
             // create a multiplexed processor
             TMultiplexedProcessor profileServiceProcessor = new TMultiplexedProcessor();
             profileServiceProcessor.registerProcessor(profile_user_cpiConstants.USER_PROFILE_CPI_NAME, userProfileProcessor);
             profileServiceProcessor.registerProcessor(profile_tenant_cpiConstants.TENANT_PROFILE_CPI_NAME, teneantProfileProcessor);
             profileServiceProcessor.registerProcessor(iam_admin_services_cpiConstants.IAM_ADMIN_SERVICES_CPI_NAME, iamAdminServicesProcessor);
+            profileServiceProcessor.registerProcessor(group_manager_cpiConstants.GROUP_MANAGER_CPI_NAME, groupmanagerProcessor);
 
             TServerTransport serverTransport;
 
diff --git a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/groupmanager/cpi/group_manager_cpiConstants.java b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/groupmanager/cpi/group_manager_cpiConstants.java
index 3b8f5d2..63b69d3 100644
--- a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/groupmanager/cpi/group_manager_cpiConstants.java
+++ b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/groupmanager/cpi/group_manager_cpiConstants.java
@@ -25,8 +25,8 @@ package org.apache.airavata.service.profile.groupmanager.cpi;
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 public class group_manager_cpiConstants {
 
-  public static final java.lang.String USER_PROFILE_CPI_VERSION = "0.17";
+  public static final java.lang.String GROUP_MANAGER_CPI_VERSION = "0.17";
 
-  public static final java.lang.String USER_PROFILE_CPI_NAME = "GroupManagerService";
+  public static final java.lang.String GROUP_MANAGER_CPI_NAME = "GroupManagerService";
 
 }
diff --git a/thrift-interface-descriptions/service-cpis/profile-service/group-manager/group-manager-cpi.thrift b/thrift-interface-descriptions/service-cpis/profile-service/group-manager/group-manager-cpi.thrift
index d56760a..a63b5e1 100644
--- a/thrift-interface-descriptions/service-cpis/profile-service/group-manager/group-manager-cpi.thrift
+++ b/thrift-interface-descriptions/service-cpis/profile-service/group-manager/group-manager-cpi.thrift
@@ -31,8 +31,8 @@ include "group_manager_cpi_errors.thrift"
 namespace java org.apache.airavata.service.profile.groupmanager.cpi
 namespace php Airavata.Service.Profile.Groupmanager.CPI
 
-const string USER_PROFILE_CPI_VERSION = "0.17"
-const string USER_PROFILE_CPI_NAME = "GroupManagerService"
+const string GROUP_MANAGER_CPI_VERSION = "0.17"
+const string GROUP_MANAGER_CPI_NAME = "GroupManagerService"
 
 service GroupManagerService {
 

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

[airavata] 13/13: Adding GroupManager client sample

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

smarru pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit 4ec92a79afbbcf4ed0c92be69c33379065d60ae4
Author: Sachin Kariyattin <sa...@gmail.com>
AuthorDate: Wed Dec 6 01:38:15 2017 -0500

    Adding GroupManager client sample
---
 .../profile/client/samples/GroupManagerSample.java | 41 ++++++++++++++++++++++
 .../client/ProfileServiceClientFactory.java        | 15 ++++++++
 2 files changed, 56 insertions(+)

diff --git a/airavata-services/profile-service/profile-service-client-sdks/java-client-samples/src/main/java/org/apache/airavata/service/profile/client/samples/GroupManagerSample.java b/airavata-services/profile-service/profile-service-client-sdks/java-client-samples/src/main/java/org/apache/airavata/service/profile/client/samples/GroupManagerSample.java
new file mode 100644
index 0000000..71fdd70
--- /dev/null
+++ b/airavata-services/profile-service/profile-service-client-sdks/java-client-samples/src/main/java/org/apache/airavata/service/profile/client/samples/GroupManagerSample.java
@@ -0,0 +1,41 @@
+package org.apache.airavata.service.profile.client.samples;
+
+import org.apache.airavata.common.utils.Constants;
+import org.apache.airavata.model.security.AuthzToken;
+import org.apache.airavata.service.profile.client.ProfileServiceClientFactory;
+import org.apache.airavata.service.profile.client.util.ProfileServiceClientUtil;
+import org.apache.airavata.service.profile.groupmanager.cpi.GroupManagerService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class GroupManagerSample {
+
+    private static final Logger logger = LoggerFactory.getLogger(UserProfileSample.class);
+    private static GroupManagerService.Client groupMangerClient;
+    private static String testGatewayId = "test-gateway-465";
+    private static AuthzToken authzToken = new AuthzToken("empy_token");
+
+    public static void main(String args[]) throws Exception {
+        try {
+            String profileServiceServerHost = ProfileServiceClientUtil.getProfileServiceServerHost();
+            int profileServiceServerPort = ProfileServiceClientUtil.getProfileServiceServerPort();
+
+            groupMangerClient = ProfileServiceClientFactory.createGroupManagerServiceClient(profileServiceServerHost, profileServiceServerPort);
+            Map<String, String> claimsMap = new HashMap<>();
+            claimsMap.put(Constants.GATEWAY_ID,testGatewayId);
+            authzToken.setClaimsMap(claimsMap);
+
+            //NOTE: Only these two methods can be tested as other methods require us to create a group.
+            // createGroup() needs createUser() to be executed. Currently ownerId is set from createUser()
+            // method which requires a sharingServiceClient. Hence, verifying only this method for now.
+            System.out.println("hasAdminAccess() should return [false]: "+ groupMangerClient.hasAdminAccess(authzToken,"test-group-1", "test-user-1"));
+        }
+        catch (Exception ex) {
+            ex.printStackTrace();
+            logger.error("GroupManager client-sample Exception: " + ex, ex);
+        }
+    }
+}
diff --git a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/client/ProfileServiceClientFactory.java b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/client/ProfileServiceClientFactory.java
index f41bc77..f447327 100644
--- a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/client/ProfileServiceClientFactory.java
+++ b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/client/ProfileServiceClientFactory.java
@@ -20,6 +20,9 @@
  */
 package org.apache.airavata.service.profile.client;
 
+import org.apache.airavata.service.profile.groupmanager.cpi.GroupManagerService;
+import org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException;
+import org.apache.airavata.service.profile.groupmanager.cpi.group_manager_cpiConstants;
 import org.apache.airavata.service.profile.iam.admin.services.cpi.IamAdminServices;
 import org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException;
 import org.apache.airavata.service.profile.iam.admin.services.cpi.iam_admin_services_cpiConstants;
@@ -75,4 +78,16 @@ public class ProfileServiceClientFactory {
             throw new IamAdminServicesException(e.getMessage());
         }
     }
+
+    public static GroupManagerService.Client createGroupManagerServiceClient(String serverHost, int serverPort)  throws GroupManagerServiceException {
+        try {
+            TTransport transport = new TSocket(serverHost, serverPort);
+            transport.open();
+            TProtocol protocol = new TBinaryProtocol(transport);
+            TMultiplexedProtocol multiplexedProtocol = new TMultiplexedProtocol(protocol, group_manager_cpiConstants.GROUP_MANAGER_CPI_NAME);
+            return new GroupManagerService.Client(multiplexedProtocol);
+        } catch (TTransportException e) {
+            throw new GroupManagerServiceException(e.getMessage());
+        }
+    }
 }
\ No newline at end of file

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

[airavata] 07/13: Removing API methods from AiravataServerHandler and correcting build errors

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

smarru pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit fa2afd84a411474a0ffcaf743d9479ffbe233e70
Author: Sachin Kariyattin <sa...@gmail.com>
AuthorDate: Mon Dec 4 21:54:02 2017 -0500

    Removing API methods from AiravataServerHandler and correcting build errors
---
 .../api/server/handler/AiravataServerHandler.java  |   115 -
 .../java/org/apache/airavata/api/Airavata.java     | 54553 ++++++++-----------
 .../groupmanager/cpi/GroupManagerService.java      |    50 -
 .../airavata-apis/airavata_api.thrift              |    30 -
 4 files changed, 23621 insertions(+), 31127 deletions(-)

diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
index 4990fe2..6e8020b 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
@@ -4778,121 +4778,6 @@ public class AiravataServerHandler implements Airavata.Iface {
         }
     }
 
-    @Override
-    @SecurityCheck
-    public String createGroup(AuthzToken authzToken, GroupModel groupModel) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
-        try {
-            //TODO Validations for authorization
-            SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
-
-            UserGroup sharingUserGroup = new UserGroup();
-            sharingUserGroup.setGroupId(UUID.randomUUID().toString());
-            sharingUserGroup.setName(groupModel.getName());
-            sharingUserGroup.setDescription(groupModel.getDescription());
-            sharingUserGroup.setGroupType(GroupType.USER_LEVEL_GROUP);
-            sharingUserGroup.setDomainId(authzToken.getClaimsMap().get(Constants.GATEWAY_ID));
-
-            String groupId = sharingClient.createGroup(sharingUserGroup);
-            sharingClient.addUsersToGroup(authzToken.getClaimsMap().get(Constants.GATEWAY_ID), groupModel.getMembers(), groupId);
-            return groupId;
-        } catch (Exception e) {
-            String msg = "Error Creating Group" ;
-            logger.error(msg, e);
-            AiravataSystemException exception = new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
-            exception.setMessage(msg + " More info : " + e.getMessage());
-            throw exception;
-        }
-    }
-
-    @Override
-    @SecurityCheck
-    public boolean updateGroup(AuthzToken authzToken, GroupModel groupModel) throws InvalidRequestException,
-            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
-        try {
-            //TODO Validations for authorization
-            SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
-
-            UserGroup sharingUserGroup = new UserGroup();
-            sharingUserGroup.setGroupId(groupModel.getId());
-            sharingUserGroup.setName(groupModel.getName());
-            sharingUserGroup.setDescription(groupModel.getDescription());
-            sharingUserGroup.setGroupType(GroupType.USER_LEVEL_GROUP);
-            sharingUserGroup.setDomainId(authzToken.getClaimsMap().get(Constants.GATEWAY_ID));
-
-            //adding and removal of users should be handle separately
-            sharingClient.updateGroup(sharingUserGroup);
-            return true;
-        } catch (Exception e) {
-            String msg = "Error Updating Group" ;
-            logger.error(msg, e);
-            AiravataSystemException exception = new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
-            exception.setMessage(msg + " More info : " + e.getMessage());
-            throw exception;
-        }
-    }
-
-    @Override
-    @SecurityCheck
-    public boolean deleteGroup(AuthzToken authzToken, String groupId, String ownerId) throws
-            InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
-        try {
-            //TODO Validations for authorization
-            SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
-
-            sharingClient.deleteGroup(authzToken.getClaimsMap().get(Constants.GATEWAY_ID), groupId);
-            return true;
-        } catch (Exception e) {
-            String msg = "Error Deleting Group. Group ID: " + groupId ;
-            logger.error(msg, e);
-            AiravataSystemException exception = new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
-            exception.setMessage(msg + " More info : " + e.getMessage());
-            throw exception;
-        }
-    }
-
-    @Override
-    @SecurityCheck
-    public GroupModel getGroup(AuthzToken authzToken, String groupId) throws InvalidRequestException,
-            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
-        try {
-            SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
-            UserGroup userGroup = sharingClient.getGroup(authzToken.getClaimsMap().get(Constants.GATEWAY_ID), groupId);
-
-            GroupModel groupModel = new GroupModel();
-            groupModel.setId(userGroup.getGroupId());
-            groupModel.setName(userGroup.getName());
-            groupModel.setDescription(userGroup.getDescription());
-            groupModel.setOwnerId(userGroup.getOwnerId());
-
-            sharingClient.getGroupMembersOfTypeUser(authzToken.getClaimsMap().get(Constants.GATEWAY_ID), groupId, 0, -1).stream().forEach(user->
-                    groupModel.addToMembers(user.getUserId())
-            );
-
-            return groupModel;
-        } catch (Exception e) {
-            String msg = "Error Retreiving Group. Group ID: " + groupId ;
-            logger.error(msg, e);
-            AiravataSystemException exception = new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
-            exception.setMessage(msg + " More info : " + e.getMessage());
-            throw exception;
-        }
-    }
-
-    @Override
-    @SecurityCheck
-    public List<GroupModel> getAllGroupsUserBelongs(AuthzToken authzToken, String userName)
-            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
-        try {
-            throw new UnsupportedOperationException("Method not supported yet");
-        } catch (Exception e) {
-            String msg = "Error Retreiving All Groups for User. User ID: " + userName ;
-            logger.error(msg, e);
-            AiravataSystemException exception = new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
-            exception.setMessage(msg + " More info : " + e.getMessage());
-            throw exception;
-        }
-    }
-
     private void submitExperiment(String gatewayId,String experimentId) throws AiravataException {
         ExperimentSubmitEvent event = new ExperimentSubmitEvent(experimentId, gatewayId);
         MessageContext messageContext = new MessageContext(event, MessageType.EXPERIMENT, "LAUNCH.EXP-" + UUID.randomUUID().toString(), gatewayId);
diff --git a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
index 36ab707..4c54ecc 100644
--- a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
+++ b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (1.0.0-dev)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.api;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (1.0.0-dev)")
 public class Airavata {
 
   public interface Iface {
@@ -3009,16 +3009,6 @@ public class Airavata {
 
     public java.util.List<java.lang.String> getAllAccessibleUsers(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourceId, org.apache.airavata.model.group.ResourceType resourceType, org.apache.airavata.model.group.ResourcePermissionType permissionType) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error [...]
 
-    public java.lang.String createGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
-
-    public boolean updateGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
-
-    public boolean deleteGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String ownerId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
-
-    public org.apache.airavata.model.group.GroupModel getGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
-
-    public java.util.List<org.apache.airavata.model.group.GroupModel> getAllGroupsUserBelongs(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
-
   }
 
   public interface AsyncIface {
@@ -3357,16 +3347,6 @@ public class Airavata {
 
     public void getAllAccessibleUsers(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourceId, org.apache.airavata.model.group.ResourceType resourceType, org.apache.airavata.model.group.ResourcePermissionType permissionType, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException;
 
-    public void createGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;
-
-    public void updateGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
-
-    public void deleteGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String ownerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
-
-    public void getGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.group.GroupModel> resultHandler) throws org.apache.thrift.TException;
-
-    public void getAllGroupsUserBelongs(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.group.GroupModel>> resultHandler) throws org.apache.thrift.TException;
-
   }
 
   public static class Client extends org.apache.thrift.TServiceClient implements Iface {
@@ -9531,187 +9511,6 @@ public class Airavata {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllAccessibleUsers failed: unknown result");
     }
 
-    public java.lang.String createGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      send_createGroup(authzToken, groupModel);
-      return recv_createGroup();
-    }
-
-    public void send_createGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel) throws org.apache.thrift.TException
-    {
-      createGroup_args args = new createGroup_args();
-      args.setAuthzToken(authzToken);
-      args.setGroupModel(groupModel);
-      sendBase("createGroup", args);
-    }
-
-    public java.lang.String recv_createGroup() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      createGroup_result result = new createGroup_result();
-      receiveBase(result, "createGroup");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.ire != null) {
-        throw result.ire;
-      }
-      if (result.ace != null) {
-        throw result.ace;
-      }
-      if (result.ase != null) {
-        throw result.ase;
-      }
-      if (result.ae != null) {
-        throw result.ae;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createGroup failed: unknown result");
-    }
-
-    public boolean updateGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      send_updateGroup(authzToken, groupModel);
-      return recv_updateGroup();
-    }
-
-    public void send_updateGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel) throws org.apache.thrift.TException
-    {
-      updateGroup_args args = new updateGroup_args();
-      args.setAuthzToken(authzToken);
-      args.setGroupModel(groupModel);
-      sendBase("updateGroup", args);
-    }
-
-    public boolean recv_updateGroup() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      updateGroup_result result = new updateGroup_result();
-      receiveBase(result, "updateGroup");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.ire != null) {
-        throw result.ire;
-      }
-      if (result.ace != null) {
-        throw result.ace;
-      }
-      if (result.ase != null) {
-        throw result.ase;
-      }
-      if (result.ae != null) {
-        throw result.ae;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateGroup failed: unknown result");
-    }
-
-    public boolean deleteGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String ownerId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      send_deleteGroup(authzToken, groupId, ownerId);
-      return recv_deleteGroup();
-    }
-
-    public void send_deleteGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String ownerId) throws org.apache.thrift.TException
-    {
-      deleteGroup_args args = new deleteGroup_args();
-      args.setAuthzToken(authzToken);
-      args.setGroupId(groupId);
-      args.setOwnerId(ownerId);
-      sendBase("deleteGroup", args);
-    }
-
-    public boolean recv_deleteGroup() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      deleteGroup_result result = new deleteGroup_result();
-      receiveBase(result, "deleteGroup");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.ire != null) {
-        throw result.ire;
-      }
-      if (result.ace != null) {
-        throw result.ace;
-      }
-      if (result.ase != null) {
-        throw result.ase;
-      }
-      if (result.ae != null) {
-        throw result.ae;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteGroup failed: unknown result");
-    }
-
-    public org.apache.airavata.model.group.GroupModel getGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      send_getGroup(authzToken, groupId);
-      return recv_getGroup();
-    }
-
-    public void send_getGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId) throws org.apache.thrift.TException
-    {
-      getGroup_args args = new getGroup_args();
-      args.setAuthzToken(authzToken);
-      args.setGroupId(groupId);
-      sendBase("getGroup", args);
-    }
-
-    public org.apache.airavata.model.group.GroupModel recv_getGroup() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      getGroup_result result = new getGroup_result();
-      receiveBase(result, "getGroup");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.ire != null) {
-        throw result.ire;
-      }
-      if (result.ace != null) {
-        throw result.ace;
-      }
-      if (result.ase != null) {
-        throw result.ase;
-      }
-      if (result.ae != null) {
-        throw result.ae;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroup failed: unknown result");
-    }
-
-    public java.util.List<org.apache.airavata.model.group.GroupModel> getAllGroupsUserBelongs(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      send_getAllGroupsUserBelongs(authzToken, userName);
-      return recv_getAllGroupsUserBelongs();
-    }
-
-    public void send_getAllGroupsUserBelongs(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userName) throws org.apache.thrift.TException
-    {
-      getAllGroupsUserBelongs_args args = new getAllGroupsUserBelongs_args();
-      args.setAuthzToken(authzToken);
-      args.setUserName(userName);
-      sendBase("getAllGroupsUserBelongs", args);
-    }
-
-    public java.util.List<org.apache.airavata.model.group.GroupModel> recv_getAllGroupsUserBelongs() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      getAllGroupsUserBelongs_result result = new getAllGroupsUserBelongs_result();
-      receiveBase(result, "getAllGroupsUserBelongs");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.ire != null) {
-        throw result.ire;
-      }
-      if (result.ace != null) {
-        throw result.ace;
-      }
-      if (result.ase != null) {
-        throw result.ase;
-      }
-      if (result.ae != null) {
-        throw result.ae;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllGroupsUserBelongs 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> {
@@ -15992,184 +15791,6 @@ public class Airavata {
       }
     }
 
-    public void createGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      createGroup_call method_call = new createGroup_call(authzToken, groupModel, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    public static class createGroup_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.String> {
-      private org.apache.airavata.model.security.AuthzToken authzToken;
-      private org.apache.airavata.model.group.GroupModel groupModel;
-      public createGroup_call(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> 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.authzToken = authzToken;
-        this.groupModel = groupModel;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        createGroup_args args = new createGroup_args();
-        args.setAuthzToken(authzToken);
-        args.setGroupModel(groupModel);
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public java.lang.String getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new java.lang.IllegalStateException("Method call not finished!");
-        }
-        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
-        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_createGroup();
-      }
-    }
-
-    public void updateGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      updateGroup_call method_call = new updateGroup_call(authzToken, groupModel, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    public static class updateGroup_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
-      private org.apache.airavata.model.security.AuthzToken authzToken;
-      private org.apache.airavata.model.group.GroupModel groupModel;
-      public updateGroup_call(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
-        super(client, protocolFactory, transport, resultHandler, false);
-        this.authzToken = authzToken;
-        this.groupModel = groupModel;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        updateGroup_args args = new updateGroup_args();
-        args.setAuthzToken(authzToken);
-        args.setGroupModel(groupModel);
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public java.lang.Boolean getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new java.lang.IllegalStateException("Method call not finished!");
-        }
-        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
-        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_updateGroup();
-      }
-    }
-
-    public void deleteGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String ownerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      deleteGroup_call method_call = new deleteGroup_call(authzToken, groupId, ownerId, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    public static class deleteGroup_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
-      private org.apache.airavata.model.security.AuthzToken authzToken;
-      private java.lang.String groupId;
-      private java.lang.String ownerId;
-      public deleteGroup_call(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String ownerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
-        super(client, protocolFactory, transport, resultHandler, false);
-        this.authzToken = authzToken;
-        this.groupId = groupId;
-        this.ownerId = ownerId;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        deleteGroup_args args = new deleteGroup_args();
-        args.setAuthzToken(authzToken);
-        args.setGroupId(groupId);
-        args.setOwnerId(ownerId);
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public java.lang.Boolean getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new java.lang.IllegalStateException("Method call not finished!");
-        }
-        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
-        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_deleteGroup();
-      }
-    }
-
-    public void getGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.group.GroupModel> resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      getGroup_call method_call = new getGroup_call(authzToken, groupId, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    public static class getGroup_call extends org.apache.thrift.async.TAsyncMethodCall<org.apache.airavata.model.group.GroupModel> {
-      private org.apache.airavata.model.security.AuthzToken authzToken;
-      private java.lang.String groupId;
-      public getGroup_call(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.group.GroupModel> 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.authzToken = authzToken;
-        this.groupId = groupId;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        getGroup_args args = new getGroup_args();
-        args.setAuthzToken(authzToken);
-        args.setGroupId(groupId);
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public org.apache.airavata.model.group.GroupModel getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new java.lang.IllegalStateException("Method call not finished!");
-        }
-        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
-        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_getGroup();
-      }
-    }
-
-    public void getAllGroupsUserBelongs(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.group.GroupModel>> resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      getAllGroupsUserBelongs_call method_call = new getAllGroupsUserBelongs_call(authzToken, userName, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    public static class getAllGroupsUserBelongs_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<org.apache.airavata.model.group.GroupModel>> {
-      private org.apache.airavata.model.security.AuthzToken authzToken;
-      private java.lang.String userName;
-      public getAllGroupsUserBelongs_call(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.group.GroupModel>> 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.authzToken = authzToken;
-        this.userName = userName;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllGroupsUserBelongs", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        getAllGroupsUserBelongs_args args = new getAllGroupsUserBelongs_args();
-        args.setAuthzToken(authzToken);
-        args.setUserName(userName);
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public java.util.List<org.apache.airavata.model.group.GroupModel> getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new java.lang.IllegalStateException("Method call not finished!");
-        }
-        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
-        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_getAllGroupsUserBelongs();
-      }
-    }
-
   }
 
   public static class Processor<I extends Iface> extends org.apache.thrift.TBaseProcessor<I> implements org.apache.thrift.TProcessor {
@@ -16350,11 +15971,6 @@ public class Airavata {
       processMap.put("shareResourceWithUsers", new shareResourceWithUsers());
       processMap.put("revokeSharingOfResourceFromUsers", new revokeSharingOfResourceFromUsers());
       processMap.put("getAllAccessibleUsers", new getAllAccessibleUsers());
-      processMap.put("createGroup", new createGroup());
-      processMap.put("updateGroup", new updateGroup());
-      processMap.put("deleteGroup", new deleteGroup());
-      processMap.put("getGroup", new getGroup());
-      processMap.put("getAllGroupsUserBelongs", new getAllGroupsUserBelongs());
       return processMap;
     }
 
@@ -21436,158 +21052,6 @@ public class Airavata {
       }
     }
 
-    public static class createGroup<I extends Iface> extends org.apache.thrift.ProcessFunction<I, createGroup_args> {
-      public createGroup() {
-        super("createGroup");
-      }
-
-      public createGroup_args getEmptyArgsInstance() {
-        return new createGroup_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public createGroup_result getResult(I iface, createGroup_args args) throws org.apache.thrift.TException {
-        createGroup_result result = new createGroup_result();
-        try {
-          result.success = iface.createGroup(args.authzToken, args.groupModel);
-        } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
-          result.ire = ire;
-        } catch (org.apache.airavata.model.error.AiravataClientException ace) {
-          result.ace = ace;
-        } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
-          result.ase = ase;
-        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
-          result.ae = ae;
-        }
-        return result;
-      }
-    }
-
-    public static class updateGroup<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateGroup_args> {
-      public updateGroup() {
-        super("updateGroup");
-      }
-
-      public updateGroup_args getEmptyArgsInstance() {
-        return new updateGroup_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public updateGroup_result getResult(I iface, updateGroup_args args) throws org.apache.thrift.TException {
-        updateGroup_result result = new updateGroup_result();
-        try {
-          result.success = iface.updateGroup(args.authzToken, args.groupModel);
-          result.setSuccessIsSet(true);
-        } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
-          result.ire = ire;
-        } catch (org.apache.airavata.model.error.AiravataClientException ace) {
-          result.ace = ace;
-        } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
-          result.ase = ase;
-        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
-          result.ae = ae;
-        }
-        return result;
-      }
-    }
-
-    public static class deleteGroup<I extends Iface> extends org.apache.thrift.ProcessFunction<I, deleteGroup_args> {
-      public deleteGroup() {
-        super("deleteGroup");
-      }
-
-      public deleteGroup_args getEmptyArgsInstance() {
-        return new deleteGroup_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public deleteGroup_result getResult(I iface, deleteGroup_args args) throws org.apache.thrift.TException {
-        deleteGroup_result result = new deleteGroup_result();
-        try {
-          result.success = iface.deleteGroup(args.authzToken, args.groupId, args.ownerId);
-          result.setSuccessIsSet(true);
-        } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
-          result.ire = ire;
-        } catch (org.apache.airavata.model.error.AiravataClientException ace) {
-          result.ace = ace;
-        } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
-          result.ase = ase;
-        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
-          result.ae = ae;
-        }
-        return result;
-      }
-    }
-
-    public static class getGroup<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getGroup_args> {
-      public getGroup() {
-        super("getGroup");
-      }
-
-      public getGroup_args getEmptyArgsInstance() {
-        return new getGroup_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public getGroup_result getResult(I iface, getGroup_args args) throws org.apache.thrift.TException {
-        getGroup_result result = new getGroup_result();
-        try {
-          result.success = iface.getGroup(args.authzToken, args.groupId);
-        } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
-          result.ire = ire;
-        } catch (org.apache.airavata.model.error.AiravataClientException ace) {
-          result.ace = ace;
-        } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
-          result.ase = ase;
-        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
-          result.ae = ae;
-        }
-        return result;
-      }
-    }
-
-    public static class getAllGroupsUserBelongs<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAllGroupsUserBelongs_args> {
-      public getAllGroupsUserBelongs() {
-        super("getAllGroupsUserBelongs");
-      }
-
-      public getAllGroupsUserBelongs_args getEmptyArgsInstance() {
-        return new getAllGroupsUserBelongs_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public getAllGroupsUserBelongs_result getResult(I iface, getAllGroupsUserBelongs_args args) throws org.apache.thrift.TException {
-        getAllGroupsUserBelongs_result result = new getAllGroupsUserBelongs_result();
-        try {
-          result.success = iface.getAllGroupsUserBelongs(args.authzToken, args.userName);
-        } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
-          result.ire = ire;
-        } catch (org.apache.airavata.model.error.AiravataClientException ace) {
-          result.ace = ace;
-        } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
-          result.ase = ase;
-        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
-          result.ae = ae;
-        }
-        return result;
-      }
-    }
-
   }
 
   public static class AsyncProcessor<I extends AsyncIface> extends org.apache.thrift.TBaseAsyncProcessor<I> {
@@ -21768,11 +21232,6 @@ public class Airavata {
       processMap.put("shareResourceWithUsers", new shareResourceWithUsers());
       processMap.put("revokeSharingOfResourceFromUsers", new revokeSharingOfResourceFromUsers());
       processMap.put("getAllAccessibleUsers", new getAllAccessibleUsers());
-      processMap.put("createGroup", new createGroup());
-      processMap.put("updateGroup", new updateGroup());
-      processMap.put("deleteGroup", new deleteGroup());
-      processMap.put("getGroup", new getGroup());
-      processMap.put("getAllGroupsUserBelongs", new getAllGroupsUserBelongs());
       return processMap;
     }
 
@@ -34705,393 +34164,6 @@ public class Airavata {
       }
     }
 
-    public static class createGroup<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createGroup_args, java.lang.String> {
-      public createGroup() {
-        super("createGroup");
-      }
-
-      public createGroup_args getEmptyArgsInstance() {
-        return new createGroup_args();
-      }
-
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            createGroup_result result = new createGroup_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-            } catch (org.apache.thrift.transport.TTransportException e) {
-              _LOGGER.error("TTransportException writing to internal frame buffer", e);
-              fb.close();
-            } catch (java.lang.Exception e) {
-              _LOGGER.error("Exception writing to internal frame buffer", e);
-              onError(e);
-            }
-          }
-          public void onError(java.lang.Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TSerializable msg;
-            createGroup_result result = new createGroup_result();
-            if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
-              result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
-              result.setIreIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.airavata.model.error.AiravataClientException) {
-              result.ace = (org.apache.airavata.model.error.AiravataClientException) e;
-              result.setAceIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.airavata.model.error.AiravataSystemException) {
-              result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
-              result.setAseIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-              result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-              result.setAeIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
-              _LOGGER.error("TTransportException inside handler", e);
-              fb.close();
-              return;
-            } else if (e instanceof org.apache.thrift.TApplicationException) {
-              _LOGGER.error("TApplicationException inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TApplicationException)e;
-            } else {
-              _LOGGER.error("Exception inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-            } catch (java.lang.Exception ex) {
-              _LOGGER.error("Exception writing to internal frame buffer", ex);
-              fb.close();
-            }
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, createGroup_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.createGroup(args.authzToken, args.groupModel,resultHandler);
-      }
-    }
-
-    public static class updateGroup<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateGroup_args, java.lang.Boolean> {
-      public updateGroup() {
-        super("updateGroup");
-      }
-
-      public updateGroup_args getEmptyArgsInstance() {
-        return new updateGroup_args();
-      }
-
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            updateGroup_result result = new updateGroup_result();
-            result.success = o;
-            result.setSuccessIsSet(true);
-            try {
-              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-            } catch (org.apache.thrift.transport.TTransportException e) {
-              _LOGGER.error("TTransportException writing to internal frame buffer", e);
-              fb.close();
-            } catch (java.lang.Exception e) {
-              _LOGGER.error("Exception writing to internal frame buffer", e);
-              onError(e);
-            }
-          }
-          public void onError(java.lang.Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TSerializable msg;
-            updateGroup_result result = new updateGroup_result();
-            if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
-              result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
-              result.setIreIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.airavata.model.error.AiravataClientException) {
-              result.ace = (org.apache.airavata.model.error.AiravataClientException) e;
-              result.setAceIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.airavata.model.error.AiravataSystemException) {
-              result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
-              result.setAseIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-              result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-              result.setAeIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
-              _LOGGER.error("TTransportException inside handler", e);
-              fb.close();
-              return;
-            } else if (e instanceof org.apache.thrift.TApplicationException) {
-              _LOGGER.error("TApplicationException inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TApplicationException)e;
-            } else {
-              _LOGGER.error("Exception inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-            } catch (java.lang.Exception ex) {
-              _LOGGER.error("Exception writing to internal frame buffer", ex);
-              fb.close();
-            }
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, updateGroup_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateGroup(args.authzToken, args.groupModel,resultHandler);
-      }
-    }
-
-    public static class deleteGroup<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteGroup_args, java.lang.Boolean> {
-      public deleteGroup() {
-        super("deleteGroup");
-      }
-
-      public deleteGroup_args getEmptyArgsInstance() {
-        return new deleteGroup_args();
-      }
-
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            deleteGroup_result result = new deleteGroup_result();
-            result.success = o;
-            result.setSuccessIsSet(true);
-            try {
-              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-            } catch (org.apache.thrift.transport.TTransportException e) {
-              _LOGGER.error("TTransportException writing to internal frame buffer", e);
-              fb.close();
-            } catch (java.lang.Exception e) {
-              _LOGGER.error("Exception writing to internal frame buffer", e);
-              onError(e);
-            }
-          }
-          public void onError(java.lang.Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TSerializable msg;
-            deleteGroup_result result = new deleteGroup_result();
-            if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
-              result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
-              result.setIreIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.airavata.model.error.AiravataClientException) {
-              result.ace = (org.apache.airavata.model.error.AiravataClientException) e;
-              result.setAceIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.airavata.model.error.AiravataSystemException) {
-              result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
-              result.setAseIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-              result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-              result.setAeIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
-              _LOGGER.error("TTransportException inside handler", e);
-              fb.close();
-              return;
-            } else if (e instanceof org.apache.thrift.TApplicationException) {
-              _LOGGER.error("TApplicationException inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TApplicationException)e;
-            } else {
-              _LOGGER.error("Exception inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-            } catch (java.lang.Exception ex) {
-              _LOGGER.error("Exception writing to internal frame buffer", ex);
-              fb.close();
-            }
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, deleteGroup_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteGroup(args.authzToken, args.groupId, args.ownerId,resultHandler);
-      }
-    }
-
-    public static class getGroup<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroup_args, org.apache.airavata.model.group.GroupModel> {
-      public getGroup() {
-        super("getGroup");
-      }
-
-      public getGroup_args getEmptyArgsInstance() {
-        return new getGroup_args();
-      }
-
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.group.GroupModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.group.GroupModel>() { 
-          public void onComplete(org.apache.airavata.model.group.GroupModel o) {
-            getGroup_result result = new getGroup_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-            } catch (org.apache.thrift.transport.TTransportException e) {
-              _LOGGER.error("TTransportException writing to internal frame buffer", e);
-              fb.close();
-            } catch (java.lang.Exception e) {
-              _LOGGER.error("Exception writing to internal frame buffer", e);
-              onError(e);
-            }
-          }
-          public void onError(java.lang.Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TSerializable msg;
-            getGroup_result result = new getGroup_result();
-            if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
-              result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
-              result.setIreIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.airavata.model.error.AiravataClientException) {
-              result.ace = (org.apache.airavata.model.error.AiravataClientException) e;
-              result.setAceIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.airavata.model.error.AiravataSystemException) {
-              result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
-              result.setAseIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-              result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-              result.setAeIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
-              _LOGGER.error("TTransportException inside handler", e);
-              fb.close();
-              return;
-            } else if (e instanceof org.apache.thrift.TApplicationException) {
-              _LOGGER.error("TApplicationException inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TApplicationException)e;
-            } else {
-              _LOGGER.error("Exception inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-            } catch (java.lang.Exception ex) {
-              _LOGGER.error("Exception writing to internal frame buffer", ex);
-              fb.close();
-            }
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, getGroup_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.group.GroupModel> resultHandler) throws org.apache.thrift.TException {
-        iface.getGroup(args.authzToken, args.groupId,resultHandler);
-      }
-    }
-
-    public static class getAllGroupsUserBelongs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllGroupsUserBelongs_args, java.util.List<org.apache.airavata.model.group.GroupModel>> {
-      public getAllGroupsUserBelongs() {
-        super("getAllGroupsUserBelongs");
-      }
-
-      public getAllGroupsUserBelongs_args getEmptyArgsInstance() {
-        return new getAllGroupsUserBelongs_args();
-      }
-
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.group.GroupModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.group.GroupModel>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.model.group.GroupModel> o) {
-            getAllGroupsUserBelongs_result result = new getAllGroupsUserBelongs_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-            } catch (org.apache.thrift.transport.TTransportException e) {
-              _LOGGER.error("TTransportException writing to internal frame buffer", e);
-              fb.close();
-            } catch (java.lang.Exception e) {
-              _LOGGER.error("Exception writing to internal frame buffer", e);
-              onError(e);
-            }
-          }
-          public void onError(java.lang.Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TSerializable msg;
-            getAllGroupsUserBelongs_result result = new getAllGroupsUserBelongs_result();
-            if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
-              result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
-              result.setIreIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.airavata.model.error.AiravataClientException) {
-              result.ace = (org.apache.airavata.model.error.AiravataClientException) e;
-              result.setAceIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.airavata.model.error.AiravataSystemException) {
-              result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
-              result.setAseIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-              result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-              result.setAeIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
-              _LOGGER.error("TTransportException inside handler", e);
-              fb.close();
-              return;
-            } else if (e instanceof org.apache.thrift.TApplicationException) {
-              _LOGGER.error("TApplicationException inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TApplicationException)e;
-            } else {
-              _LOGGER.error("Exception inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-            } catch (java.lang.Exception ex) {
-              _LOGGER.error("Exception writing to internal frame buffer", ex);
-              fb.close();
-            }
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, getAllGroupsUserBelongs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.group.GroupModel>> resultHandler) throws org.apache.thrift.TException {
-        iface.getAllGroupsUserBelongs(args.authzToken, args.userName,resultHandler);
-      }
-    }
-
   }
 
   public static class getAPIVersion_args implements org.apache.thrift.TBase<getAPIVersion_args, getAPIVersion_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAPIVersion_args>   {
@@ -71896,7 +70968,7 @@ public class Airavata {
         this.userName = other.userName;
       }
       if (other.isSetFilters()) {
-        java.util.Map<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String> __this__filters = new java.util.HashMap<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String>(other.filters.size());
+        java.util.Map<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String> __this__filters = new java.util.EnumMap<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String>(org.apache.airavata.model.experiment.ProjectSearchFields.class);
         for (java.util.Map.Entry<org.apache.airavata.model.experiment.ProjectSearchFields, java.lang.String> other_element : other.filters.entrySet()) {
 
           org.apache.airavata.model.experiment.ProjectSearchFields other_element_key = other_element.getKey();
@@ -72008,7 +71080,7 @@ public class Airavata {
 
     public void putToFilters(org.apache.airavata.model.experiment.ProjectSearchFields key, java.lang.String val) {
       if (this.filters == null) {
-        this.filters = new java.util.HashMap<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String>();
+        this.filters = new java.util.EnumMap<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String>(org.apache.airavata.model.experiment.ProjectSearchFields.class);
       }
       this.filters.put(key, val);
     }
@@ -72497,14 +71569,17 @@ public class Airavata {
               if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
                 {
                   org.apache.thrift.protocol.TMap _map68 = iprot.readMapBegin();
-                  struct.filters = new java.util.HashMap<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String>(2*_map68.size);
+                  struct.filters = new java.util.EnumMap<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String>(org.apache.airavata.model.experiment.ProjectSearchFields.class);
                   org.apache.airavata.model.experiment.ProjectSearchFields _key69;
                   java.lang.String _val70;
                   for (int _i71 = 0; _i71 < _map68.size; ++_i71)
                   {
                     _key69 = org.apache.airavata.model.experiment.ProjectSearchFields.findByValue(iprot.readI32());
                     _val70 = iprot.readString();
-                    struct.filters.put(_key69, _val70);
+                    if (_key69 != null)
+                    {
+                      struct.filters.put(_key69, _val70);
+                    }
                   }
                   iprot.readMapEnd();
                 }
@@ -72641,14 +71716,17 @@ public class Airavata {
         if (incoming.get(0)) {
           {
             org.apache.thrift.protocol.TMap _map74 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-            struct.filters = new java.util.HashMap<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String>(2*_map74.size);
+            struct.filters = new java.util.EnumMap<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String>(org.apache.airavata.model.experiment.ProjectSearchFields.class);
             org.apache.airavata.model.experiment.ProjectSearchFields _key75;
             java.lang.String _val76;
             for (int _i77 = 0; _i77 < _map74.size; ++_i77)
             {
               _key75 = org.apache.airavata.model.experiment.ProjectSearchFields.findByValue(iprot.readI32());
               _val76 = iprot.readString();
-              struct.filters.put(_key75, _val76);
+              if (_key75 != null)
+              {
+                struct.filters.put(_key75, _val76);
+              }
             }
           }
           struct.setFiltersIsSet(true);
@@ -73656,7 +72734,7 @@ public class Airavata {
         this.userName = other.userName;
       }
       if (other.isSetFilters()) {
-        java.util.Map<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String> __this__filters = new java.util.HashMap<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String>(other.filters.size());
+        java.util.Map<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String> __this__filters = new java.util.EnumMap<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String>(org.apache.airavata.model.experiment.ExperimentSearchFields.class);
         for (java.util.Map.Entry<org.apache.airavata.model.experiment.ExperimentSearchFields, java.lang.String> other_element : other.filters.entrySet()) {
 
           org.apache.airavata.model.experiment.ExperimentSearchFields other_element_key = other_element.getKey();
@@ -73768,7 +72846,7 @@ public class Airavata {
 
     public void putToFilters(org.apache.airavata.model.experiment.ExperimentSearchFields key, java.lang.String val) {
       if (this.filters == null) {
-        this.filters = new java.util.HashMap<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String>();
+        this.filters = new java.util.EnumMap<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String>(org.apache.airavata.model.experiment.ExperimentSearchFields.class);
       }
       this.filters.put(key, val);
     }
@@ -74257,14 +73335,17 @@ public class Airavata {
               if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
                 {
                   org.apache.thrift.protocol.TMap _map86 = iprot.readMapBegin();
-                  struct.filters = new java.util.HashMap<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String>(2*_map86.size);
+                  struct.filters = new java.util.EnumMap<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String>(org.apache.airavata.model.experiment.ExperimentSearchFields.class);
                   org.apache.airavata.model.experiment.ExperimentSearchFields _key87;
                   java.lang.String _val88;
                   for (int _i89 = 0; _i89 < _map86.size; ++_i89)
                   {
                     _key87 = org.apache.airavata.model.experiment.ExperimentSearchFields.findByValue(iprot.readI32());
                     _val88 = iprot.readString();
-                    struct.filters.put(_key87, _val88);
+                    if (_key87 != null)
+                    {
+                      struct.filters.put(_key87, _val88);
+                    }
                   }
                   iprot.readMapEnd();
                 }
@@ -74401,14 +73482,17 @@ public class Airavata {
         if (incoming.get(0)) {
           {
             org.apache.thrift.protocol.TMap _map92 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-            struct.filters = new java.util.HashMap<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String>(2*_map92.size);
+            struct.filters = new java.util.EnumMap<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String>(org.apache.airavata.model.experiment.ExperimentSearchFields.class);
             org.apache.airavata.model.experiment.ExperimentSearchFields _key93;
             java.lang.String _val94;
             for (int _i95 = 0; _i95 < _map92.size; ++_i95)
             {
               _key93 = org.apache.airavata.model.experiment.ExperimentSearchFields.findByValue(iprot.readI32());
               _val94 = iprot.readString();
-              struct.filters.put(_key93, _val94);
+              if (_key93 != null)
+              {
+                struct.filters.put(_key93, _val94);
+              }
             }
           }
           struct.setFiltersIsSet(true);
@@ -102520,6712 +101604,14 @@ public class Airavata {
         }
         break;
 
-      case PNFE:
-        if (value == null) {
-          unsetPnfe();
-        } else {
-          setPnfe((org.apache.airavata.model.error.ProjectNotFoundException)value);
-        }
-        break;
-
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      case SUCCESS:
-        return getSuccess();
-
-      case IRE:
-        return getIre();
-
-      case ENF:
-        return getEnf();
-
-      case ACE:
-        return getAce();
-
-      case ASE:
-        return getAse();
-
-      case AE:
-        return getAe();
-
-      case PNFE:
-        return getPnfe();
-
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new java.lang.IllegalArgumentException();
-      }
-
-      switch (field) {
-      case SUCCESS:
-        return isSetSuccess();
-      case IRE:
-        return isSetIre();
-      case ENF:
-        return isSetEnf();
-      case ACE:
-        return isSetAce();
-      case ASE:
-        return isSetAse();
-      case AE:
-        return isSetAe();
-      case PNFE:
-        return isSetPnfe();
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof cloneExperimentByAdmin_result)
-        return this.equals((cloneExperimentByAdmin_result)that);
-      return false;
-    }
-
-    public boolean equals(cloneExperimentByAdmin_result that) {
-      if (that == null)
-        return false;
-      if (this == that)
-        return true;
-
-      boolean this_present_success = true && this.isSetSuccess();
-      boolean that_present_success = true && that.isSetSuccess();
-      if (this_present_success || that_present_success) {
-        if (!(this_present_success && that_present_success))
-          return false;
-        if (!this.success.equals(that.success))
-          return false;
-      }
-
-      boolean this_present_ire = true && this.isSetIre();
-      boolean that_present_ire = true && that.isSetIre();
-      if (this_present_ire || that_present_ire) {
-        if (!(this_present_ire && that_present_ire))
-          return false;
-        if (!this.ire.equals(that.ire))
-          return false;
-      }
-
-      boolean this_present_enf = true && this.isSetEnf();
-      boolean that_present_enf = true && that.isSetEnf();
-      if (this_present_enf || that_present_enf) {
-        if (!(this_present_enf && that_present_enf))
-          return false;
-        if (!this.enf.equals(that.enf))
-          return false;
-      }
-
-      boolean this_present_ace = true && this.isSetAce();
-      boolean that_present_ace = true && that.isSetAce();
-      if (this_present_ace || that_present_ace) {
-        if (!(this_present_ace && that_present_ace))
-          return false;
-        if (!this.ace.equals(that.ace))
-          return false;
-      }
-
-      boolean this_present_ase = true && this.isSetAse();
-      boolean that_present_ase = true && that.isSetAse();
-      if (this_present_ase || that_present_ase) {
-        if (!(this_present_ase && that_present_ase))
-          return false;
-        if (!this.ase.equals(that.ase))
-          return false;
-      }
-
-      boolean this_present_ae = true && this.isSetAe();
-      boolean that_present_ae = true && that.isSetAe();
-      if (this_present_ae || that_present_ae) {
-        if (!(this_present_ae && that_present_ae))
-          return false;
-        if (!this.ae.equals(that.ae))
-          return false;
-      }
-
-      boolean this_present_pnfe = true && this.isSetPnfe();
-      boolean that_present_pnfe = true && that.isSetPnfe();
-      if (this_present_pnfe || that_present_pnfe) {
-        if (!(this_present_pnfe && that_present_pnfe))
-          return false;
-        if (!this.pnfe.equals(that.pnfe))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
-      if (isSetSuccess())
-        hashCode = hashCode * 8191 + success.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetIre()) ? 131071 : 524287);
-      if (isSetIre())
-        hashCode = hashCode * 8191 + ire.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetEnf()) ? 131071 : 524287);
-      if (isSetEnf())
-        hashCode = hashCode * 8191 + enf.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetAce()) ? 131071 : 524287);
-      if (isSetAce())
-        hashCode = hashCode * 8191 + ace.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetAse()) ? 131071 : 524287);
-      if (isSetAse())
-        hashCode = hashCode * 8191 + ase.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetAe()) ? 131071 : 524287);
-      if (isSetAe())
-        hashCode = hashCode * 8191 + ae.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetPnfe()) ? 131071 : 524287);
-      if (isSetPnfe())
-        hashCode = hashCode * 8191 + pnfe.hashCode();
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(cloneExperimentByAdmin_result other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetSuccess()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetIre()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ire, other.ire);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetEnf()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.enf, other.enf);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAce()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ace, other.ace);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAse()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ase, other.ase);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAe()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetPnfe()).compareTo(other.isSetPnfe());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetPnfe()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pnfe, other.pnfe);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      scheme(iprot).read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      scheme(oprot).write(oprot, this);
-      }
-
-    @Override
-    public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("cloneExperimentByAdmin_result(");
-      boolean first = true;
-
-      sb.append("success:");
-      if (this.success == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.success);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ire:");
-      if (this.ire == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ire);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("enf:");
-      if (this.enf == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.enf);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ace:");
-      if (this.ace == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ace);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ase:");
-      if (this.ase == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ase);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ae:");
-      if (this.ae == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ae);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("pnfe:");
-      if (this.pnfe == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.pnfe);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      // check for sub-struct validity
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-      try {
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class cloneExperimentByAdmin_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public cloneExperimentByAdmin_resultStandardScheme getScheme() {
-        return new cloneExperimentByAdmin_resultStandardScheme();
-      }
-    }
-
-    private static class cloneExperimentByAdmin_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<cloneExperimentByAdmin_result> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, cloneExperimentByAdmin_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.success = iprot.readString();
-                struct.setSuccessIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 1: // IRE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
-                struct.ire.read(iprot);
-                struct.setIreIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 2: // ENF
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.enf = new org.apache.airavata.model.error.ExperimentNotFoundException();
-                struct.enf.read(iprot);
-                struct.setEnfIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 3: // ACE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ace = new org.apache.airavata.model.error.AiravataClientException();
-                struct.ace.read(iprot);
-                struct.setAceIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 4: // ASE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ase = new org.apache.airavata.model.error.AiravataSystemException();
-                struct.ase.read(iprot);
-                struct.setAseIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 5: // AE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ae = new org.apache.airavata.model.error.AuthorizationException();
-                struct.ae.read(iprot);
-                struct.setAeIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 6: // PNFE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.pnfe = new org.apache.airavata.model.error.ProjectNotFoundException();
-                struct.pnfe.read(iprot);
-                struct.setPnfeIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, cloneExperimentByAdmin_result struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.success != null) {
-          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          oprot.writeString(struct.success);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ire != null) {
-          oprot.writeFieldBegin(IRE_FIELD_DESC);
-          struct.ire.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.enf != null) {
-          oprot.writeFieldBegin(ENF_FIELD_DESC);
-          struct.enf.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ace != null) {
-          oprot.writeFieldBegin(ACE_FIELD_DESC);
-          struct.ace.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ase != null) {
-          oprot.writeFieldBegin(ASE_FIELD_DESC);
-          struct.ase.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ae != null) {
-          oprot.writeFieldBegin(AE_FIELD_DESC);
-          struct.ae.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.pnfe != null) {
-          oprot.writeFieldBegin(PNFE_FIELD_DESC);
-          struct.pnfe.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class cloneExperimentByAdmin_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public cloneExperimentByAdmin_resultTupleScheme getScheme() {
-        return new cloneExperimentByAdmin_resultTupleScheme();
-      }
-    }
-
-    private static class cloneExperimentByAdmin_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<cloneExperimentByAdmin_result> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, cloneExperimentByAdmin_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet optionals = new java.util.BitSet();
-        if (struct.isSetSuccess()) {
-          optionals.set(0);
-        }
-        if (struct.isSetIre()) {
-          optionals.set(1);
-        }
-        if (struct.isSetEnf()) {
-          optionals.set(2);
-        }
-        if (struct.isSetAce()) {
-          optionals.set(3);
-        }
-        if (struct.isSetAse()) {
-          optionals.set(4);
-        }
-        if (struct.isSetAe()) {
-          optionals.set(5);
-        }
-        if (struct.isSetPnfe()) {
-          optionals.set(6);
-        }
-        oprot.writeBitSet(optionals, 7);
-        if (struct.isSetSuccess()) {
-          oprot.writeString(struct.success);
-        }
-        if (struct.isSetIre()) {
-          struct.ire.write(oprot);
-        }
-        if (struct.isSetEnf()) {
-          struct.enf.write(oprot);
-        }
-        if (struct.isSetAce()) {
-          struct.ace.write(oprot);
-        }
-        if (struct.isSetAse()) {
-          struct.ase.write(oprot);
-        }
-        if (struct.isSetAe()) {
-          struct.ae.write(oprot);
-        }
-        if (struct.isSetPnfe()) {
-          struct.pnfe.write(oprot);
-        }
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, cloneExperimentByAdmin_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet incoming = iprot.readBitSet(7);
-        if (incoming.get(0)) {
-          struct.success = iprot.readString();
-          struct.setSuccessIsSet(true);
-        }
-        if (incoming.get(1)) {
-          struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
-          struct.ire.read(iprot);
-          struct.setIreIsSet(true);
-        }
-        if (incoming.get(2)) {
-          struct.enf = new org.apache.airavata.model.error.ExperimentNotFoundException();
-          struct.enf.read(iprot);
-          struct.setEnfIsSet(true);
-        }
-        if (incoming.get(3)) {
-          struct.ace = new org.apache.airavata.model.error.AiravataClientException();
-          struct.ace.read(iprot);
-          struct.setAceIsSet(true);
-        }
-        if (incoming.get(4)) {
-          struct.ase = new org.apache.airavata.model.error.AiravataSystemException();
-          struct.ase.read(iprot);
-          struct.setAseIsSet(true);
-        }
-        if (incoming.get(5)) {
-          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
-          struct.ae.read(iprot);
-          struct.setAeIsSet(true);
-        }
-        if (incoming.get(6)) {
-          struct.pnfe = new org.apache.airavata.model.error.ProjectNotFoundException();
-          struct.pnfe.read(iprot);
-          struct.setPnfeIsSet(true);
-        }
-      }
-    }
-
-    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-    }
-  }
-
-  public static class terminateExperiment_args implements org.apache.thrift.TBase<terminateExperiment_args, terminateExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<terminateExperiment_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("terminateExperiment_args");
-
-    private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField AIRAVATA_EXPERIMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("airavataExperimentId", org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)3);
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new terminateExperiment_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new terminateExperiment_argsTupleSchemeFactory();
-
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String airavataExperimentId; // required
-    public java.lang.String gatewayId; // 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 {
-      AUTHZ_TOKEN((short)1, "authzToken"),
-      AIRAVATA_EXPERIMENT_ID((short)2, "airavataExperimentId"),
-      GATEWAY_ID((short)3, "gatewayId");
-
-      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-      static {
-        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 1: // AUTHZ_TOKEN
-            return AUTHZ_TOKEN;
-          case 2: // AIRAVATA_EXPERIMENT_ID
-            return AIRAVATA_EXPERIMENT_ID;
-          case 3: // GATEWAY_ID
-            return GATEWAY_ID;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(java.lang.String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final java.lang.String _fieldName;
-
-      _Fields(short thriftId, java.lang.String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public java.lang.String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
-      tmpMap.put(_Fields.AIRAVATA_EXPERIMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("airavataExperimentId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(terminateExperiment_args.class, metaDataMap);
-    }
-
-    public terminateExperiment_args() {
-    }
-
-    public terminateExperiment_args(
-      org.apache.airavata.model.security.AuthzToken authzToken,
-      java.lang.String airavataExperimentId,
-      java.lang.String gatewayId)
-    {
-      this();
-      this.authzToken = authzToken;
-      this.airavataExperimentId = airavataExperimentId;
-      this.gatewayId = gatewayId;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public terminateExperiment_args(terminateExperiment_args other) {
-      if (other.isSetAuthzToken()) {
-        this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
-      }
-      if (other.isSetAiravataExperimentId()) {
-        this.airavataExperimentId = other.airavataExperimentId;
-      }
-      if (other.isSetGatewayId()) {
-        this.gatewayId = other.gatewayId;
-      }
-    }
-
-    public terminateExperiment_args deepCopy() {
-      return new terminateExperiment_args(this);
-    }
-
-    @Override
-    public void clear() {
-      this.authzToken = null;
-      this.airavataExperimentId = null;
-      this.gatewayId = null;
-    }
-
-    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
-      return this.authzToken;
-    }
-
-    public terminateExperiment_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
-      this.authzToken = authzToken;
-      return this;
-    }
-
-    public void unsetAuthzToken() {
-      this.authzToken = null;
-    }
-
-    /** Returns true if field authzToken is set (has been assigned a value) and false otherwise */
-    public boolean isSetAuthzToken() {
-      return this.authzToken != null;
-    }
-
-    public void setAuthzTokenIsSet(boolean value) {
-      if (!value) {
-        this.authzToken = null;
-      }
-    }
-
-    public java.lang.String getAiravataExperimentId() {
-      return this.airavataExperimentId;
-    }
-
-    public terminateExperiment_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
-      this.airavataExperimentId = airavataExperimentId;
-      return this;
-    }
-
-    public void unsetAiravataExperimentId() {
-      this.airavataExperimentId = null;
-    }
-
-    /** Returns true if field airavataExperimentId is set (has been assigned a value) and false otherwise */
-    public boolean isSetAiravataExperimentId() {
-      return this.airavataExperimentId != null;
-    }
-
-    public void setAiravataExperimentIdIsSet(boolean value) {
-      if (!value) {
-        this.airavataExperimentId = null;
-      }
-    }
-
-    public java.lang.String getGatewayId() {
-      return this.gatewayId;
-    }
-
-    public terminateExperiment_args setGatewayId(java.lang.String gatewayId) {
-      this.gatewayId = gatewayId;
-      return this;
-    }
-
-    public void unsetGatewayId() {
-      this.gatewayId = null;
-    }
-
-    /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
-    public boolean isSetGatewayId() {
-      return this.gatewayId != null;
-    }
-
-    public void setGatewayIdIsSet(boolean value) {
-      if (!value) {
-        this.gatewayId = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      case AUTHZ_TOKEN:
-        if (value == null) {
-          unsetAuthzToken();
-        } else {
-          setAuthzToken((org.apache.airavata.model.security.AuthzToken)value);
-        }
-        break;
-
-      case AIRAVATA_EXPERIMENT_ID:
-        if (value == null) {
-          unsetAiravataExperimentId();
-        } else {
-          setAiravataExperimentId((java.lang.String)value);
-        }
-        break;
-
-      case GATEWAY_ID:
-        if (value == null) {
-          unsetGatewayId();
-        } else {
-          setGatewayId((java.lang.String)value);
-        }
-        break;
-
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      case AUTHZ_TOKEN:
-        return getAuthzToken();
-
-      case AIRAVATA_EXPERIMENT_ID:
-        return getAiravataExperimentId();
-
-      case GATEWAY_ID:
-        return getGatewayId();
-
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new java.lang.IllegalArgumentException();
-      }
-
-      switch (field) {
-      case AUTHZ_TOKEN:
-        return isSetAuthzToken();
-      case AIRAVATA_EXPERIMENT_ID:
-        return isSetAiravataExperimentId();
-      case GATEWAY_ID:
-        return isSetGatewayId();
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof terminateExperiment_args)
-        return this.equals((terminateExperiment_args)that);
-      return false;
-    }
-
-    public boolean equals(terminateExperiment_args that) {
-      if (that == null)
-        return false;
-      if (this == that)
-        return true;
-
-      boolean this_present_authzToken = true && this.isSetAuthzToken();
-      boolean that_present_authzToken = true && that.isSetAuthzToken();
-      if (this_present_authzToken || that_present_authzToken) {
-        if (!(this_present_authzToken && that_present_authzToken))
-          return false;
-        if (!this.authzToken.equals(that.authzToken))
-          return false;
-      }
-
-      boolean this_present_airavataExperimentId = true && this.isSetAiravataExperimentId();
-      boolean that_present_airavataExperimentId = true && that.isSetAiravataExperimentId();
-      if (this_present_airavataExperimentId || that_present_airavataExperimentId) {
-        if (!(this_present_airavataExperimentId && that_present_airavataExperimentId))
-          return false;
-        if (!this.airavataExperimentId.equals(that.airavataExperimentId))
-          return false;
-      }
-
-      boolean this_present_gatewayId = true && this.isSetGatewayId();
-      boolean that_present_gatewayId = true && that.isSetGatewayId();
-      if (this_present_gatewayId || that_present_gatewayId) {
-        if (!(this_present_gatewayId && that_present_gatewayId))
-          return false;
-        if (!this.gatewayId.equals(that.gatewayId))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      hashCode = hashCode * 8191 + ((isSetAuthzToken()) ? 131071 : 524287);
-      if (isSetAuthzToken())
-        hashCode = hashCode * 8191 + authzToken.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetAiravataExperimentId()) ? 131071 : 524287);
-      if (isSetAiravataExperimentId())
-        hashCode = hashCode * 8191 + airavataExperimentId.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetGatewayId()) ? 131071 : 524287);
-      if (isSetGatewayId())
-        hashCode = hashCode * 8191 + gatewayId.hashCode();
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(terminateExperiment_args other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAuthzToken()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authzToken, other.authzToken);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAiravataExperimentId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.airavataExperimentId, other.airavataExperimentId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetGatewayId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      scheme(iprot).read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      scheme(oprot).write(oprot, this);
-    }
-
-    @Override
-    public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("terminateExperiment_args(");
-      boolean first = true;
-
-      sb.append("authzToken:");
-      if (this.authzToken == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.authzToken);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("airavataExperimentId:");
-      if (this.airavataExperimentId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.airavataExperimentId);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("gatewayId:");
-      if (this.gatewayId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.gatewayId);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      if (authzToken == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
-      }
-      // check for sub-struct validity
-      if (authzToken != null) {
-        authzToken.validate();
-      }
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-      try {
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class terminateExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public terminateExperiment_argsStandardScheme getScheme() {
-        return new terminateExperiment_argsStandardScheme();
-      }
-    }
-
-    private static class terminateExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<terminateExperiment_args> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, terminateExperiment_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 1: // AUTHZ_TOKEN
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
-                struct.authzToken.read(iprot);
-                struct.setAuthzTokenIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 2: // AIRAVATA_EXPERIMENT_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.airavataExperimentId = iprot.readString();
-                struct.setAiravataExperimentIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 3: // GATEWAY_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.gatewayId = iprot.readString();
-                struct.setGatewayIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, terminateExperiment_args struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.authzToken != null) {
-          oprot.writeFieldBegin(AUTHZ_TOKEN_FIELD_DESC);
-          struct.authzToken.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.airavataExperimentId != null) {
-          oprot.writeFieldBegin(AIRAVATA_EXPERIMENT_ID_FIELD_DESC);
-          oprot.writeString(struct.airavataExperimentId);
-          oprot.writeFieldEnd();
-        }
-        if (struct.gatewayId != null) {
-          oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
-          oprot.writeString(struct.gatewayId);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class terminateExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public terminateExperiment_argsTupleScheme getScheme() {
-        return new terminateExperiment_argsTupleScheme();
-      }
-    }
-
-    private static class terminateExperiment_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<terminateExperiment_args> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, terminateExperiment_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.authzToken.write(oprot);
-        java.util.BitSet optionals = new java.util.BitSet();
-        if (struct.isSetAiravataExperimentId()) {
-          optionals.set(0);
-        }
-        if (struct.isSetGatewayId()) {
-          optionals.set(1);
-        }
-        oprot.writeBitSet(optionals, 2);
-        if (struct.isSetAiravataExperimentId()) {
-          oprot.writeString(struct.airavataExperimentId);
-        }
-        if (struct.isSetGatewayId()) {
-          oprot.writeString(struct.gatewayId);
-        }
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, terminateExperiment_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
-        struct.authzToken.read(iprot);
-        struct.setAuthzTokenIsSet(true);
-        java.util.BitSet incoming = iprot.readBitSet(2);
-        if (incoming.get(0)) {
-          struct.airavataExperimentId = iprot.readString();
-          struct.setAiravataExperimentIdIsSet(true);
-        }
-        if (incoming.get(1)) {
-          struct.gatewayId = iprot.readString();
-          struct.setGatewayIdIsSet(true);
-        }
-      }
-    }
-
-    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-    }
-  }
-
-  public static class terminateExperiment_result implements org.apache.thrift.TBase<terminateExperiment_result, terminateExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<terminateExperiment_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("terminateExperiment_result");
-
-    private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField ENF_FIELD_DESC = new org.apache.thrift.protocol.TField("enf", org.apache.thrift.protocol.TType.STRUCT, (short)2);
-    private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)3);
-    private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)4);
-    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)5);
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new terminateExperiment_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new terminateExperiment_resultTupleSchemeFactory();
-
-    public org.apache.airavata.model.error.InvalidRequestException ire; // required
-    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
-    public org.apache.airavata.model.error.AiravataClientException ace; // required
-    public org.apache.airavata.model.error.AiravataSystemException ase; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // 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 {
-      IRE((short)1, "ire"),
-      ENF((short)2, "enf"),
-      ACE((short)3, "ace"),
-      ASE((short)4, "ase"),
-      AE((short)5, "ae");
-
-      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-      static {
-        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 1: // IRE
-            return IRE;
-          case 2: // ENF
-            return ENF;
-          case 3: // ACE
-            return ACE;
-          case 4: // ASE
-            return ASE;
-          case 5: // AE
-            return AE;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(java.lang.String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final java.lang.String _fieldName;
-
-      _Fields(short thriftId, java.lang.String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public java.lang.String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.IRE, new org.apache.thrift.meta_data.FieldMetaData("ire", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.InvalidRequestException.class)));
-      tmpMap.put(_Fields.ENF, new org.apache.thrift.meta_data.FieldMetaData("enf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.ExperimentNotFoundException.class)));
-      tmpMap.put(_Fields.ACE, new org.apache.thrift.meta_data.FieldMetaData("ace", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AiravataClientException.class)));
-      tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AiravataSystemException.class)));
-      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(terminateExperiment_result.class, metaDataMap);
-    }
-
-    public terminateExperiment_result() {
-    }
-
-    public terminateExperiment_result(
-      org.apache.airavata.model.error.InvalidRequestException ire,
-      org.apache.airavata.model.error.ExperimentNotFoundException enf,
-      org.apache.airavata.model.error.AiravataClientException ace,
-      org.apache.airavata.model.error.AiravataSystemException ase,
-      org.apache.airavata.model.error.AuthorizationException ae)
-    {
-      this();
-      this.ire = ire;
-      this.enf = enf;
-      this.ace = ace;
-      this.ase = ase;
-      this.ae = ae;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public terminateExperiment_result(terminateExperiment_result other) {
-      if (other.isSetIre()) {
-        this.ire = new org.apache.airavata.model.error.InvalidRequestException(other.ire);
-      }
-      if (other.isSetEnf()) {
-        this.enf = new org.apache.airavata.model.error.ExperimentNotFoundException(other.enf);
-      }
-      if (other.isSetAce()) {
-        this.ace = new org.apache.airavata.model.error.AiravataClientException(other.ace);
-      }
-      if (other.isSetAse()) {
-        this.ase = new org.apache.airavata.model.error.AiravataSystemException(other.ase);
-      }
-      if (other.isSetAe()) {
-        this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
-      }
-    }
-
-    public terminateExperiment_result deepCopy() {
-      return new terminateExperiment_result(this);
-    }
-
-    @Override
-    public void clear() {
-      this.ire = null;
-      this.enf = null;
-      this.ace = null;
-      this.ase = null;
-      this.ae = null;
-    }
-
-    public org.apache.airavata.model.error.InvalidRequestException getIre() {
-      return this.ire;
-    }
-
-    public terminateExperiment_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
-      this.ire = ire;
-      return this;
-    }
-
-    public void unsetIre() {
-      this.ire = null;
-    }
-
-    /** Returns true if field ire is set (has been assigned a value) and false otherwise */
-    public boolean isSetIre() {
-      return this.ire != null;
-    }
-
-    public void setIreIsSet(boolean value) {
-      if (!value) {
-        this.ire = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
-      return this.enf;
-    }
-
-    public terminateExperiment_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
-      this.enf = enf;
-      return this;
-    }
-
-    public void unsetEnf() {
-      this.enf = null;
-    }
-
-    /** Returns true if field enf is set (has been assigned a value) and false otherwise */
-    public boolean isSetEnf() {
-      return this.enf != null;
-    }
-
-    public void setEnfIsSet(boolean value) {
-      if (!value) {
-        this.enf = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.AiravataClientException getAce() {
-      return this.ace;
-    }
-
-    public terminateExperiment_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
-      this.ace = ace;
-      return this;
-    }
-
-    public void unsetAce() {
-      this.ace = null;
-    }
-
-    /** Returns true if field ace is set (has been assigned a value) and false otherwise */
-    public boolean isSetAce() {
-      return this.ace != null;
-    }
-
-    public void setAceIsSet(boolean value) {
-      if (!value) {
-        this.ace = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.AiravataSystemException getAse() {
-      return this.ase;
-    }
-
-    public terminateExperiment_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
-      this.ase = ase;
-      return this;
-    }
-
-    public void unsetAse() {
-      this.ase = null;
-    }
-
-    /** Returns true if field ase is set (has been assigned a value) and false otherwise */
-    public boolean isSetAse() {
-      return this.ase != null;
-    }
-
-    public void setAseIsSet(boolean value) {
-      if (!value) {
-        this.ase = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.AuthorizationException getAe() {
-      return this.ae;
-    }
-
-    public terminateExperiment_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
-      this.ae = ae;
-      return this;
-    }
-
-    public void unsetAe() {
-      this.ae = null;
-    }
-
-    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
-    public boolean isSetAe() {
-      return this.ae != null;
-    }
-
-    public void setAeIsSet(boolean value) {
-      if (!value) {
-        this.ae = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      case IRE:
-        if (value == null) {
-          unsetIre();
-        } else {
-          setIre((org.apache.airavata.model.error.InvalidRequestException)value);
-        }
-        break;
-
-      case ENF:
-        if (value == null) {
-          unsetEnf();
-        } else {
-          setEnf((org.apache.airavata.model.error.ExperimentNotFoundException)value);
-        }
-        break;
-
-      case ACE:
-        if (value == null) {
-          unsetAce();
-        } else {
-          setAce((org.apache.airavata.model.error.AiravataClientException)value);
-        }
-        break;
-
-      case ASE:
-        if (value == null) {
-          unsetAse();
-        } else {
-          setAse((org.apache.airavata.model.error.AiravataSystemException)value);
-        }
-        break;
-
-      case AE:
-        if (value == null) {
-          unsetAe();
-        } else {
-          setAe((org.apache.airavata.model.error.AuthorizationException)value);
-        }
-        break;
-
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      case IRE:
-        return getIre();
-
-      case ENF:
-        return getEnf();
-
-      case ACE:
-        return getAce();
-
-      case ASE:
-        return getAse();
-
-      case AE:
-        return getAe();
-
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new java.lang.IllegalArgumentException();
-      }
-
-      switch (field) {
-      case IRE:
-        return isSetIre();
-      case ENF:
-        return isSetEnf();
-      case ACE:
-        return isSetAce();
-      case ASE:
-        return isSetAse();
-      case AE:
-        return isSetAe();
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof terminateExperiment_result)
-        return this.equals((terminateExperiment_result)that);
-      return false;
-    }
-
-    public boolean equals(terminateExperiment_result that) {
-      if (that == null)
-        return false;
-      if (this == that)
-        return true;
-
-      boolean this_present_ire = true && this.isSetIre();
-      boolean that_present_ire = true && that.isSetIre();
-      if (this_present_ire || that_present_ire) {
-        if (!(this_present_ire && that_present_ire))
-          return false;
-        if (!this.ire.equals(that.ire))
-          return false;
-      }
-
-      boolean this_present_enf = true && this.isSetEnf();
-      boolean that_present_enf = true && that.isSetEnf();
-      if (this_present_enf || that_present_enf) {
-        if (!(this_present_enf && that_present_enf))
-          return false;
-        if (!this.enf.equals(that.enf))
-          return false;
-      }
-
-      boolean this_present_ace = true && this.isSetAce();
-      boolean that_present_ace = true && that.isSetAce();
-      if (this_present_ace || that_present_ace) {
-        if (!(this_present_ace && that_present_ace))
-          return false;
-        if (!this.ace.equals(that.ace))
-          return false;
-      }
-
-      boolean this_present_ase = true && this.isSetAse();
-      boolean that_present_ase = true && that.isSetAse();
-      if (this_present_ase || that_present_ase) {
-        if (!(this_present_ase && that_present_ase))
-          return false;
-        if (!this.ase.equals(that.ase))
-          return false;
-      }
-
-      boolean this_present_ae = true && this.isSetAe();
-      boolean that_present_ae = true && that.isSetAe();
-      if (this_present_ae || that_present_ae) {
-        if (!(this_present_ae && that_present_ae))
-          return false;
-        if (!this.ae.equals(that.ae))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      hashCode = hashCode * 8191 + ((isSetIre()) ? 131071 : 524287);
-      if (isSetIre())
-        hashCode = hashCode * 8191 + ire.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetEnf()) ? 131071 : 524287);
-      if (isSetEnf())
-        hashCode = hashCode * 8191 + enf.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetAce()) ? 131071 : 524287);
-      if (isSetAce())
-        hashCode = hashCode * 8191 + ace.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetAse()) ? 131071 : 524287);
-      if (isSetAse())
-        hashCode = hashCode * 8191 + ase.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetAe()) ? 131071 : 524287);
-      if (isSetAe())
-        hashCode = hashCode * 8191 + ae.hashCode();
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(terminateExperiment_result other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetIre()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ire, other.ire);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetEnf()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.enf, other.enf);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAce()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ace, other.ace);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAse()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ase, other.ase);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAe()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      scheme(iprot).read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      scheme(oprot).write(oprot, this);
-      }
-
-    @Override
-    public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("terminateExperiment_result(");
-      boolean first = true;
-
-      sb.append("ire:");
-      if (this.ire == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ire);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("enf:");
-      if (this.enf == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.enf);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ace:");
-      if (this.ace == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ace);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ase:");
-      if (this.ase == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ase);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ae:");
-      if (this.ae == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ae);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      // check for sub-struct validity
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-      try {
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class terminateExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public terminateExperiment_resultStandardScheme getScheme() {
-        return new terminateExperiment_resultStandardScheme();
-      }
-    }
-
-    private static class terminateExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<terminateExperiment_result> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, terminateExperiment_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 1: // IRE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
-                struct.ire.read(iprot);
-                struct.setIreIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 2: // ENF
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.enf = new org.apache.airavata.model.error.ExperimentNotFoundException();
-                struct.enf.read(iprot);
-                struct.setEnfIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 3: // ACE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ace = new org.apache.airavata.model.error.AiravataClientException();
-                struct.ace.read(iprot);
-                struct.setAceIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 4: // ASE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ase = new org.apache.airavata.model.error.AiravataSystemException();
-                struct.ase.read(iprot);
-                struct.setAseIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 5: // AE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ae = new org.apache.airavata.model.error.AuthorizationException();
-                struct.ae.read(iprot);
-                struct.setAeIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, terminateExperiment_result struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.ire != null) {
-          oprot.writeFieldBegin(IRE_FIELD_DESC);
-          struct.ire.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.enf != null) {
-          oprot.writeFieldBegin(ENF_FIELD_DESC);
-          struct.enf.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ace != null) {
-          oprot.writeFieldBegin(ACE_FIELD_DESC);
-          struct.ace.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ase != null) {
-          oprot.writeFieldBegin(ASE_FIELD_DESC);
-          struct.ase.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ae != null) {
-          oprot.writeFieldBegin(AE_FIELD_DESC);
-          struct.ae.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class terminateExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public terminateExperiment_resultTupleScheme getScheme() {
-        return new terminateExperiment_resultTupleScheme();
-      }
-    }
-
-    private static class terminateExperiment_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<terminateExperiment_result> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, terminateExperiment_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet optionals = new java.util.BitSet();
-        if (struct.isSetIre()) {
-          optionals.set(0);
-        }
-        if (struct.isSetEnf()) {
-          optionals.set(1);
-        }
-        if (struct.isSetAce()) {
-          optionals.set(2);
-        }
-        if (struct.isSetAse()) {
-          optionals.set(3);
-        }
-        if (struct.isSetAe()) {
-          optionals.set(4);
-        }
-        oprot.writeBitSet(optionals, 5);
-        if (struct.isSetIre()) {
-          struct.ire.write(oprot);
-        }
-        if (struct.isSetEnf()) {
-          struct.enf.write(oprot);
-        }
-        if (struct.isSetAce()) {
-          struct.ace.write(oprot);
-        }
-        if (struct.isSetAse()) {
-          struct.ase.write(oprot);
-        }
-        if (struct.isSetAe()) {
-          struct.ae.write(oprot);
-        }
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, terminateExperiment_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet incoming = iprot.readBitSet(5);
-        if (incoming.get(0)) {
-          struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
-          struct.ire.read(iprot);
-          struct.setIreIsSet(true);
-        }
-        if (incoming.get(1)) {
-          struct.enf = new org.apache.airavata.model.error.ExperimentNotFoundException();
-          struct.enf.read(iprot);
-          struct.setEnfIsSet(true);
-        }
-        if (incoming.get(2)) {
-          struct.ace = new org.apache.airavata.model.error.AiravataClientException();
-          struct.ace.read(iprot);
-          struct.setAceIsSet(true);
-        }
-        if (incoming.get(3)) {
-          struct.ase = new org.apache.airavata.model.error.AiravataSystemException();
-          struct.ase.read(iprot);
-          struct.setAseIsSet(true);
-        }
-        if (incoming.get(4)) {
-          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
-          struct.ae.read(iprot);
-          struct.setAeIsSet(true);
-        }
-      }
-    }
-
-    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-    }
-  }
-
-  public static class registerApplicationModule_args implements org.apache.thrift.TBase<registerApplicationModule_args, registerApplicationModule_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerApplicationModule_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerApplicationModule_args");
-
-    private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField APPLICATION_MODULE_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationModule", org.apache.thrift.protocol.TType.STRUCT, (short)3);
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerApplicationModule_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerApplicationModule_argsTupleSchemeFactory();
-
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
-    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule; // 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 {
-      AUTHZ_TOKEN((short)1, "authzToken"),
-      GATEWAY_ID((short)2, "gatewayId"),
-      APPLICATION_MODULE((short)3, "applicationModule");
-
-      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-      static {
-        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 1: // AUTHZ_TOKEN
-            return AUTHZ_TOKEN;
-          case 2: // GATEWAY_ID
-            return GATEWAY_ID;
-          case 3: // APPLICATION_MODULE
-            return APPLICATION_MODULE;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(java.lang.String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final java.lang.String _fieldName;
-
-      _Fields(short thriftId, java.lang.String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public java.lang.String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
-      tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.APPLICATION_MODULE, new org.apache.thrift.meta_data.FieldMetaData("applicationModule", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule.class)));
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(registerApplicationModule_args.class, metaDataMap);
-    }
-
-    public registerApplicationModule_args() {
-    }
-
-    public registerApplicationModule_args(
-      org.apache.airavata.model.security.AuthzToken authzToken,
-      java.lang.String gatewayId,
-      org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule)
-    {
-      this();
-      this.authzToken = authzToken;
-      this.gatewayId = gatewayId;
-      this.applicationModule = applicationModule;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public registerApplicationModule_args(registerApplicationModule_args other) {
-      if (other.isSetAuthzToken()) {
-        this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
-      }
-      if (other.isSetGatewayId()) {
-        this.gatewayId = other.gatewayId;
-      }
-      if (other.isSetApplicationModule()) {
-        this.applicationModule = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule(other.applicationModule);
-      }
-    }
-
-    public registerApplicationModule_args deepCopy() {
-      return new registerApplicationModule_args(this);
-    }
-
-    @Override
-    public void clear() {
-      this.authzToken = null;
-      this.gatewayId = null;
-      this.applicationModule = null;
-    }
-
-    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
-      return this.authzToken;
-    }
-
-    public registerApplicationModule_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
-      this.authzToken = authzToken;
-      return this;
-    }
-
-    public void unsetAuthzToken() {
-      this.authzToken = null;
-    }
-
-    /** Returns true if field authzToken is set (has been assigned a value) and false otherwise */
-    public boolean isSetAuthzToken() {
-      return this.authzToken != null;
-    }
-
-    public void setAuthzTokenIsSet(boolean value) {
-      if (!value) {
-        this.authzToken = null;
-      }
-    }
-
-    public java.lang.String getGatewayId() {
-      return this.gatewayId;
-    }
-
-    public registerApplicationModule_args setGatewayId(java.lang.String gatewayId) {
-      this.gatewayId = gatewayId;
-      return this;
-    }
-
-    public void unsetGatewayId() {
-      this.gatewayId = null;
-    }
-
-    /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
-    public boolean isSetGatewayId() {
-      return this.gatewayId != null;
-    }
-
-    public void setGatewayIdIsSet(boolean value) {
-      if (!value) {
-        this.gatewayId = null;
-      }
-    }
-
-    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule getApplicationModule() {
-      return this.applicationModule;
-    }
-
-    public registerApplicationModule_args setApplicationModule(org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) {
-      this.applicationModule = applicationModule;
-      return this;
-    }
-
-    public void unsetApplicationModule() {
-      this.applicationModule = null;
-    }
-
-    /** Returns true if field applicationModule is set (has been assigned a value) and false otherwise */
-    public boolean isSetApplicationModule() {
-      return this.applicationModule != null;
-    }
-
-    public void setApplicationModuleIsSet(boolean value) {
-      if (!value) {
-        this.applicationModule = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      case AUTHZ_TOKEN:
-        if (value == null) {
-          unsetAuthzToken();
-        } else {
-          setAuthzToken((org.apache.airavata.model.security.AuthzToken)value);
-        }
-        break;
-
-      case GATEWAY_ID:
-        if (value == null) {
-          unsetGatewayId();
-        } else {
-          setGatewayId((java.lang.String)value);
-        }
-        break;
-
-      case APPLICATION_MODULE:
-        if (value == null) {
-          unsetApplicationModule();
-        } else {
-          setApplicationModule((org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule)value);
-        }
-        break;
-
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      case AUTHZ_TOKEN:
-        return getAuthzToken();
-
-      case GATEWAY_ID:
-        return getGatewayId();
-
-      case APPLICATION_MODULE:
-        return getApplicationModule();
-
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new java.lang.IllegalArgumentException();
-      }
-
-      switch (field) {
-      case AUTHZ_TOKEN:
-        return isSetAuthzToken();
-      case GATEWAY_ID:
-        return isSetGatewayId();
-      case APPLICATION_MODULE:
-        return isSetApplicationModule();
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof registerApplicationModule_args)
-        return this.equals((registerApplicationModule_args)that);
-      return false;
-    }
-
-    public boolean equals(registerApplicationModule_args that) {
-      if (that == null)
-        return false;
-      if (this == that)
-        return true;
-
-      boolean this_present_authzToken = true && this.isSetAuthzToken();
-      boolean that_present_authzToken = true && that.isSetAuthzToken();
-      if (this_present_authzToken || that_present_authzToken) {
-        if (!(this_present_authzToken && that_present_authzToken))
-          return false;
-        if (!this.authzToken.equals(that.authzToken))
-          return false;
-      }
-
-      boolean this_present_gatewayId = true && this.isSetGatewayId();
-      boolean that_present_gatewayId = true && that.isSetGatewayId();
-      if (this_present_gatewayId || that_present_gatewayId) {
-        if (!(this_present_gatewayId && that_present_gatewayId))
-          return false;
-        if (!this.gatewayId.equals(that.gatewayId))
-          return false;
-      }
-
-      boolean this_present_applicationModule = true && this.isSetApplicationModule();
-      boolean that_present_applicationModule = true && that.isSetApplicationModule();
-      if (this_present_applicationModule || that_present_applicationModule) {
-        if (!(this_present_applicationModule && that_present_applicationModule))
-          return false;
-        if (!this.applicationModule.equals(that.applicationModule))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      hashCode = hashCode * 8191 + ((isSetAuthzToken()) ? 131071 : 524287);
-      if (isSetAuthzToken())
-        hashCode = hashCode * 8191 + authzToken.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetGatewayId()) ? 131071 : 524287);
-      if (isSetGatewayId())
-        hashCode = hashCode * 8191 + gatewayId.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetApplicationModule()) ? 131071 : 524287);
-      if (isSetApplicationModule())
-        hashCode = hashCode * 8191 + applicationModule.hashCode();
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(registerApplicationModule_args other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAuthzToken()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authzToken, other.authzToken);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetGatewayId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetApplicationModule()).compareTo(other.isSetApplicationModule());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetApplicationModule()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.applicationModule, other.applicationModule);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      scheme(iprot).read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      scheme(oprot).write(oprot, this);
-    }
-
-    @Override
-    public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("registerApplicationModule_args(");
-      boolean first = true;
-
-      sb.append("authzToken:");
-      if (this.authzToken == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.authzToken);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("gatewayId:");
-      if (this.gatewayId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.gatewayId);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("applicationModule:");
-      if (this.applicationModule == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.applicationModule);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      if (authzToken == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
-      }
-      if (gatewayId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
-      }
-      if (applicationModule == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'applicationModule' was not present! Struct: " + toString());
-      }
-      // check for sub-struct validity
-      if (authzToken != null) {
-        authzToken.validate();
-      }
-      if (applicationModule != null) {
-        applicationModule.validate();
-      }
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-      try {
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class registerApplicationModule_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public registerApplicationModule_argsStandardScheme getScheme() {
-        return new registerApplicationModule_argsStandardScheme();
-      }
-    }
-
-    private static class registerApplicationModule_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerApplicationModule_args> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, registerApplicationModule_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 1: // AUTHZ_TOKEN
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
-                struct.authzToken.read(iprot);
-                struct.setAuthzTokenIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 2: // GATEWAY_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.gatewayId = iprot.readString();
-                struct.setGatewayIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 3: // APPLICATION_MODULE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.applicationModule = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule();
-                struct.applicationModule.read(iprot);
-                struct.setApplicationModuleIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, registerApplicationModule_args struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.authzToken != null) {
-          oprot.writeFieldBegin(AUTHZ_TOKEN_FIELD_DESC);
-          struct.authzToken.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.gatewayId != null) {
-          oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
-          oprot.writeString(struct.gatewayId);
-          oprot.writeFieldEnd();
-        }
-        if (struct.applicationModule != null) {
-          oprot.writeFieldBegin(APPLICATION_MODULE_FIELD_DESC);
-          struct.applicationModule.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class registerApplicationModule_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public registerApplicationModule_argsTupleScheme getScheme() {
-        return new registerApplicationModule_argsTupleScheme();
-      }
-    }
-
-    private static class registerApplicationModule_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<registerApplicationModule_args> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, registerApplicationModule_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.authzToken.write(oprot);
-        oprot.writeString(struct.gatewayId);
-        struct.applicationModule.write(oprot);
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, registerApplicationModule_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
-        struct.authzToken.read(iprot);
-        struct.setAuthzTokenIsSet(true);
-        struct.gatewayId = iprot.readString();
-        struct.setGatewayIdIsSet(true);
-        struct.applicationModule = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule();
-        struct.applicationModule.read(iprot);
-        struct.setApplicationModuleIsSet(true);
-      }
-    }
-
-    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-    }
-  }
-
-  public static class registerApplicationModule_result implements org.apache.thrift.TBase<registerApplicationModule_result, registerApplicationModule_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerApplicationModule_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerApplicationModule_result");
-
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
-    private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
-    private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
-    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)4);
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerApplicationModule_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerApplicationModule_resultTupleSchemeFactory();
-
-    public java.lang.String success; // required
-    public org.apache.airavata.model.error.InvalidRequestException ire; // required
-    public org.apache.airavata.model.error.AiravataClientException ace; // required
-    public org.apache.airavata.model.error.AiravataSystemException ase; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
-
-    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      SUCCESS((short)0, "success"),
-      IRE((short)1, "ire"),
-      ACE((short)2, "ace"),
-      ASE((short)3, "ase"),
-      AE((short)4, "ae");
-
-      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-      static {
-        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 0: // SUCCESS
-            return SUCCESS;
-          case 1: // IRE
-            return IRE;
-          case 2: // ACE
-            return ACE;
-          case 3: // ASE
-            return ASE;
-          case 4: // AE
-            return AE;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(java.lang.String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final java.lang.String _fieldName;
-
-      _Fields(short thriftId, java.lang.String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public java.lang.String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.IRE, new org.apache.thrift.meta_data.FieldMetaData("ire", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.InvalidRequestException.class)));
-      tmpMap.put(_Fields.ACE, new org.apache.thrift.meta_data.FieldMetaData("ace", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AiravataClientException.class)));
-      tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AiravataSystemException.class)));
-      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(registerApplicationModule_result.class, metaDataMap);
-    }
-
-    public registerApplicationModule_result() {
-    }
-
-    public registerApplicationModule_result(
-      java.lang.String success,
-      org.apache.airavata.model.error.InvalidRequestException ire,
-      org.apache.airavata.model.error.AiravataClientException ace,
-      org.apache.airavata.model.error.AiravataSystemException ase,
-      org.apache.airavata.model.error.AuthorizationException ae)
-    {
-      this();
-      this.success = success;
-      this.ire = ire;
-      this.ace = ace;
-      this.ase = ase;
-      this.ae = ae;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public registerApplicationModule_result(registerApplicationModule_result other) {
-      if (other.isSetSuccess()) {
-        this.success = other.success;
-      }
-      if (other.isSetIre()) {
-        this.ire = new org.apache.airavata.model.error.InvalidRequestException(other.ire);
-      }
-      if (other.isSetAce()) {
-        this.ace = new org.apache.airavata.model.error.AiravataClientException(other.ace);
-      }
-      if (other.isSetAse()) {
-        this.ase = new org.apache.airavata.model.error.AiravataSystemException(other.ase);
-      }
-      if (other.isSetAe()) {
-        this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
-      }
-    }
-
-    public registerApplicationModule_result deepCopy() {
-      return new registerApplicationModule_result(this);
-    }
-
-    @Override
-    public void clear() {
-      this.success = null;
-      this.ire = null;
-      this.ace = null;
-      this.ase = null;
-      this.ae = null;
-    }
-
-    public java.lang.String getSuccess() {
-      return this.success;
-    }
-
-    public registerApplicationModule_result setSuccess(java.lang.String success) {
-      this.success = success;
-      return this;
-    }
-
-    public void unsetSuccess() {
-      this.success = null;
-    }
-
-    /** Returns true if field success is set (has been assigned a value) and false otherwise */
-    public boolean isSetSuccess() {
-      return this.success != null;
-    }
-
-    public void setSuccessIsSet(boolean value) {
-      if (!value) {
-        this.success = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.InvalidRequestException getIre() {
-      return this.ire;
-    }
-
-    public registerApplicationModule_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
-      this.ire = ire;
-      return this;
-    }
-
-    public void unsetIre() {
-      this.ire = null;
-    }
-
-    /** Returns true if field ire is set (has been assigned a value) and false otherwise */
-    public boolean isSetIre() {
-      return this.ire != null;
-    }
-
-    public void setIreIsSet(boolean value) {
-      if (!value) {
-        this.ire = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.AiravataClientException getAce() {
-      return this.ace;
-    }
-
-    public registerApplicationModule_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
-      this.ace = ace;
-      return this;
-    }
-
-    public void unsetAce() {
-      this.ace = null;
-    }
-
-    /** Returns true if field ace is set (has been assigned a value) and false otherwise */
-    public boolean isSetAce() {
-      return this.ace != null;
-    }
-
-    public void setAceIsSet(boolean value) {
-      if (!value) {
-        this.ace = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.AiravataSystemException getAse() {
-      return this.ase;
-    }
-
-    public registerApplicationModule_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
-      this.ase = ase;
-      return this;
-    }
-
-    public void unsetAse() {
-      this.ase = null;
-    }
-
-    /** Returns true if field ase is set (has been assigned a value) and false otherwise */
-    public boolean isSetAse() {
-      return this.ase != null;
-    }
-
-    public void setAseIsSet(boolean value) {
-      if (!value) {
-        this.ase = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.AuthorizationException getAe() {
-      return this.ae;
-    }
-
-    public registerApplicationModule_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
-      this.ae = ae;
-      return this;
-    }
-
-    public void unsetAe() {
-      this.ae = null;
-    }
-
-    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
-    public boolean isSetAe() {
-      return this.ae != null;
-    }
-
-    public void setAeIsSet(boolean value) {
-      if (!value) {
-        this.ae = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      case SUCCESS:
-        if (value == null) {
-          unsetSuccess();
-        } else {
-          setSuccess((java.lang.String)value);
-        }
-        break;
-
-      case IRE:
-        if (value == null) {
-          unsetIre();
-        } else {
-          setIre((org.apache.airavata.model.error.InvalidRequestException)value);
-        }
-        break;
-
-      case ACE:
-        if (value == null) {
-          unsetAce();
-        } else {
-          setAce((org.apache.airavata.model.error.AiravataClientException)value);
-        }
-        break;
-
-      case ASE:
-        if (value == null) {
-          unsetAse();
-        } else {
-          setAse((org.apache.airavata.model.error.AiravataSystemException)value);
-        }
-        break;
-
-      case AE:
-        if (value == null) {
-          unsetAe();
-        } else {
-          setAe((org.apache.airavata.model.error.AuthorizationException)value);
-        }
-        break;
-
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      case SUCCESS:
-        return getSuccess();
-
-      case IRE:
-        return getIre();
-
-      case ACE:
-        return getAce();
-
-      case ASE:
-        return getAse();
-
-      case AE:
-        return getAe();
-
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new java.lang.IllegalArgumentException();
-      }
-
-      switch (field) {
-      case SUCCESS:
-        return isSetSuccess();
-      case IRE:
-        return isSetIre();
-      case ACE:
-        return isSetAce();
-      case ASE:
-        return isSetAse();
-      case AE:
-        return isSetAe();
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof registerApplicationModule_result)
-        return this.equals((registerApplicationModule_result)that);
-      return false;
-    }
-
-    public boolean equals(registerApplicationModule_result that) {
-      if (that == null)
-        return false;
-      if (this == that)
-        return true;
-
-      boolean this_present_success = true && this.isSetSuccess();
-      boolean that_present_success = true && that.isSetSuccess();
-      if (this_present_success || that_present_success) {
-        if (!(this_present_success && that_present_success))
-          return false;
-        if (!this.success.equals(that.success))
-          return false;
-      }
-
-      boolean this_present_ire = true && this.isSetIre();
-      boolean that_present_ire = true && that.isSetIre();
-      if (this_present_ire || that_present_ire) {
-        if (!(this_present_ire && that_present_ire))
-          return false;
-        if (!this.ire.equals(that.ire))
-          return false;
-      }
-
-      boolean this_present_ace = true && this.isSetAce();
-      boolean that_present_ace = true && that.isSetAce();
-      if (this_present_ace || that_present_ace) {
-        if (!(this_present_ace && that_present_ace))
-          return false;
-        if (!this.ace.equals(that.ace))
-          return false;
-      }
-
-      boolean this_present_ase = true && this.isSetAse();
-      boolean that_present_ase = true && that.isSetAse();
-      if (this_present_ase || that_present_ase) {
-        if (!(this_present_ase && that_present_ase))
-          return false;
-        if (!this.ase.equals(that.ase))
-          return false;
-      }
-
-      boolean this_present_ae = true && this.isSetAe();
-      boolean that_present_ae = true && that.isSetAe();
-      if (this_present_ae || that_present_ae) {
-        if (!(this_present_ae && that_present_ae))
-          return false;
-        if (!this.ae.equals(that.ae))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
-      if (isSetSuccess())
-        hashCode = hashCode * 8191 + success.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetIre()) ? 131071 : 524287);
-      if (isSetIre())
-        hashCode = hashCode * 8191 + ire.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetAce()) ? 131071 : 524287);
-      if (isSetAce())
-        hashCode = hashCode * 8191 + ace.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetAse()) ? 131071 : 524287);
-      if (isSetAse())
-        hashCode = hashCode * 8191 + ase.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetAe()) ? 131071 : 524287);
-      if (isSetAe())
-        hashCode = hashCode * 8191 + ae.hashCode();
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(registerApplicationModule_result other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetSuccess()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetIre()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ire, other.ire);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAce()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ace, other.ace);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAse()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ase, other.ase);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAe()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      scheme(iprot).read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      scheme(oprot).write(oprot, this);
-      }
-
-    @Override
-    public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("registerApplicationModule_result(");
-      boolean first = true;
-
-      sb.append("success:");
-      if (this.success == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.success);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ire:");
-      if (this.ire == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ire);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ace:");
-      if (this.ace == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ace);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ase:");
-      if (this.ase == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ase);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ae:");
-      if (this.ae == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ae);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      // check for sub-struct validity
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-      try {
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class registerApplicationModule_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public registerApplicationModule_resultStandardScheme getScheme() {
-        return new registerApplicationModule_resultStandardScheme();
-      }
-    }
-
-    private static class registerApplicationModule_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerApplicationModule_result> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, registerApplicationModule_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.success = iprot.readString();
-                struct.setSuccessIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 1: // IRE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
-                struct.ire.read(iprot);
-                struct.setIreIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 2: // ACE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ace = new org.apache.airavata.model.error.AiravataClientException();
-                struct.ace.read(iprot);
-                struct.setAceIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 3: // ASE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ase = new org.apache.airavata.model.error.AiravataSystemException();
-                struct.ase.read(iprot);
-                struct.setAseIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 4: // AE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ae = new org.apache.airavata.model.error.AuthorizationException();
-                struct.ae.read(iprot);
-                struct.setAeIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, registerApplicationModule_result struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.success != null) {
-          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          oprot.writeString(struct.success);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ire != null) {
-          oprot.writeFieldBegin(IRE_FIELD_DESC);
-          struct.ire.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ace != null) {
-          oprot.writeFieldBegin(ACE_FIELD_DESC);
-          struct.ace.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ase != null) {
-          oprot.writeFieldBegin(ASE_FIELD_DESC);
-          struct.ase.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ae != null) {
-          oprot.writeFieldBegin(AE_FIELD_DESC);
-          struct.ae.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class registerApplicationModule_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public registerApplicationModule_resultTupleScheme getScheme() {
-        return new registerApplicationModule_resultTupleScheme();
-      }
-    }
-
-    private static class registerApplicationModule_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<registerApplicationModule_result> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, registerApplicationModule_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet optionals = new java.util.BitSet();
-        if (struct.isSetSuccess()) {
-          optionals.set(0);
-        }
-        if (struct.isSetIre()) {
-          optionals.set(1);
-        }
-        if (struct.isSetAce()) {
-          optionals.set(2);
-        }
-        if (struct.isSetAse()) {
-          optionals.set(3);
-        }
-        if (struct.isSetAe()) {
-          optionals.set(4);
-        }
-        oprot.writeBitSet(optionals, 5);
-        if (struct.isSetSuccess()) {
-          oprot.writeString(struct.success);
-        }
-        if (struct.isSetIre()) {
-          struct.ire.write(oprot);
-        }
-        if (struct.isSetAce()) {
-          struct.ace.write(oprot);
-        }
-        if (struct.isSetAse()) {
-          struct.ase.write(oprot);
-        }
-        if (struct.isSetAe()) {
-          struct.ae.write(oprot);
-        }
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, registerApplicationModule_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet incoming = iprot.readBitSet(5);
-        if (incoming.get(0)) {
-          struct.success = iprot.readString();
-          struct.setSuccessIsSet(true);
-        }
-        if (incoming.get(1)) {
-          struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
-          struct.ire.read(iprot);
-          struct.setIreIsSet(true);
-        }
-        if (incoming.get(2)) {
-          struct.ace = new org.apache.airavata.model.error.AiravataClientException();
-          struct.ace.read(iprot);
-          struct.setAceIsSet(true);
-        }
-        if (incoming.get(3)) {
-          struct.ase = new org.apache.airavata.model.error.AiravataSystemException();
-          struct.ase.read(iprot);
-          struct.setAseIsSet(true);
-        }
-        if (incoming.get(4)) {
-          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
-          struct.ae.read(iprot);
-          struct.setAeIsSet(true);
-        }
-      }
-    }
-
-    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-    }
-  }
-
-  public static class getApplicationModule_args implements org.apache.thrift.TBase<getApplicationModule_args, getApplicationModule_args._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationModule_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationModule_args");
-
-    private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField APP_MODULE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("appModuleId", org.apache.thrift.protocol.TType.STRING, (short)2);
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationModule_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationModule_argsTupleSchemeFactory();
-
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String appModuleId; // 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 {
-      AUTHZ_TOKEN((short)1, "authzToken"),
-      APP_MODULE_ID((short)2, "appModuleId");
-
-      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-      static {
-        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 1: // AUTHZ_TOKEN
-            return AUTHZ_TOKEN;
-          case 2: // APP_MODULE_ID
-            return APP_MODULE_ID;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(java.lang.String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final java.lang.String _fieldName;
-
-      _Fields(short thriftId, java.lang.String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public java.lang.String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
-      tmpMap.put(_Fields.APP_MODULE_ID, new org.apache.thrift.meta_data.FieldMetaData("appModuleId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getApplicationModule_args.class, metaDataMap);
-    }
-
-    public getApplicationModule_args() {
-    }
-
-    public getApplicationModule_args(
-      org.apache.airavata.model.security.AuthzToken authzToken,
-      java.lang.String appModuleId)
-    {
-      this();
-      this.authzToken = authzToken;
-      this.appModuleId = appModuleId;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public getApplicationModule_args(getApplicationModule_args other) {
-      if (other.isSetAuthzToken()) {
-        this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
-      }
-      if (other.isSetAppModuleId()) {
-        this.appModuleId = other.appModuleId;
-      }
-    }
-
-    public getApplicationModule_args deepCopy() {
-      return new getApplicationModule_args(this);
-    }
-
-    @Override
-    public void clear() {
-      this.authzToken = null;
-      this.appModuleId = null;
-    }
-
-    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
-      return this.authzToken;
-    }
-
-    public getApplicationModule_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
-      this.authzToken = authzToken;
-      return this;
-    }
-
-    public void unsetAuthzToken() {
-      this.authzToken = null;
-    }
-
-    /** Returns true if field authzToken is set (has been assigned a value) and false otherwise */
-    public boolean isSetAuthzToken() {
-      return this.authzToken != null;
-    }
-
-    public void setAuthzTokenIsSet(boolean value) {
-      if (!value) {
-        this.authzToken = null;
-      }
-    }
-
-    public java.lang.String getAppModuleId() {
-      return this.appModuleId;
-    }
-
-    public getApplicationModule_args setAppModuleId(java.lang.String appModuleId) {
-      this.appModuleId = appModuleId;
-      return this;
-    }
-
-    public void unsetAppModuleId() {
-      this.appModuleId = null;
-    }
-
-    /** Returns true if field appModuleId is set (has been assigned a value) and false otherwise */
-    public boolean isSetAppModuleId() {
-      return this.appModuleId != null;
-    }
-
-    public void setAppModuleIdIsSet(boolean value) {
-      if (!value) {
-        this.appModuleId = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      case AUTHZ_TOKEN:
-        if (value == null) {
-          unsetAuthzToken();
-        } else {
-          setAuthzToken((org.apache.airavata.model.security.AuthzToken)value);
-        }
-        break;
-
-      case APP_MODULE_ID:
-        if (value == null) {
-          unsetAppModuleId();
-        } else {
-          setAppModuleId((java.lang.String)value);
-        }
-        break;
-
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      case AUTHZ_TOKEN:
-        return getAuthzToken();
-
-      case APP_MODULE_ID:
-        return getAppModuleId();
-
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new java.lang.IllegalArgumentException();
-      }
-
-      switch (field) {
-      case AUTHZ_TOKEN:
-        return isSetAuthzToken();
-      case APP_MODULE_ID:
-        return isSetAppModuleId();
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof getApplicationModule_args)
-        return this.equals((getApplicationModule_args)that);
-      return false;
-    }
-
-    public boolean equals(getApplicationModule_args that) {
-      if (that == null)
-        return false;
-      if (this == that)
-        return true;
-
-      boolean this_present_authzToken = true && this.isSetAuthzToken();
-      boolean that_present_authzToken = true && that.isSetAuthzToken();
-      if (this_present_authzToken || that_present_authzToken) {
-        if (!(this_present_authzToken && that_present_authzToken))
-          return false;
-        if (!this.authzToken.equals(that.authzToken))
-          return false;
-      }
-
-      boolean this_present_appModuleId = true && this.isSetAppModuleId();
-      boolean that_present_appModuleId = true && that.isSetAppModuleId();
-      if (this_present_appModuleId || that_present_appModuleId) {
-        if (!(this_present_appModuleId && that_present_appModuleId))
-          return false;
-        if (!this.appModuleId.equals(that.appModuleId))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      hashCode = hashCode * 8191 + ((isSetAuthzToken()) ? 131071 : 524287);
-      if (isSetAuthzToken())
-        hashCode = hashCode * 8191 + authzToken.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetAppModuleId()) ? 131071 : 524287);
-      if (isSetAppModuleId())
-        hashCode = hashCode * 8191 + appModuleId.hashCode();
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(getApplicationModule_args other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAuthzToken()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authzToken, other.authzToken);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetAppModuleId()).compareTo(other.isSetAppModuleId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAppModuleId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.appModuleId, other.appModuleId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      scheme(iprot).read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      scheme(oprot).write(oprot, this);
-    }
-
-    @Override
-    public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getApplicationModule_args(");
-      boolean first = true;
-
-      sb.append("authzToken:");
-      if (this.authzToken == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.authzToken);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("appModuleId:");
-      if (this.appModuleId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.appModuleId);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      if (authzToken == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
-      }
-      if (appModuleId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'appModuleId' was not present! Struct: " + toString());
-      }
-      // check for sub-struct validity
-      if (authzToken != null) {
-        authzToken.validate();
-      }
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-      try {
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class getApplicationModule_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getApplicationModule_argsStandardScheme getScheme() {
-        return new getApplicationModule_argsStandardScheme();
-      }
-    }
-
-    private static class getApplicationModule_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getApplicationModule_args> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getApplicationModule_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 1: // AUTHZ_TOKEN
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
-                struct.authzToken.read(iprot);
-                struct.setAuthzTokenIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 2: // APP_MODULE_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.appModuleId = iprot.readString();
-                struct.setAppModuleIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getApplicationModule_args struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.authzToken != null) {
-          oprot.writeFieldBegin(AUTHZ_TOKEN_FIELD_DESC);
-          struct.authzToken.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.appModuleId != null) {
-          oprot.writeFieldBegin(APP_MODULE_ID_FIELD_DESC);
-          oprot.writeString(struct.appModuleId);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class getApplicationModule_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getApplicationModule_argsTupleScheme getScheme() {
-        return new getApplicationModule_argsTupleScheme();
-      }
-    }
-
-    private static class getApplicationModule_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getApplicationModule_args> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getApplicationModule_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.authzToken.write(oprot);
-        oprot.writeString(struct.appModuleId);
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getApplicationModule_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
-        struct.authzToken.read(iprot);
-        struct.setAuthzTokenIsSet(true);
-        struct.appModuleId = iprot.readString();
-        struct.setAppModuleIdIsSet(true);
-      }
-    }
-
-    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-    }
-  }
-
-  public static class getApplicationModule_result implements org.apache.thrift.TBase<getApplicationModule_result, getApplicationModule_result._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationModule_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationModule_result");
-
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
-    private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
-    private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
-    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)4);
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationModule_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationModule_resultTupleSchemeFactory();
-
-    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule success; // required
-    public org.apache.airavata.model.error.InvalidRequestException ire; // required
-    public org.apache.airavata.model.error.AiravataClientException ace; // required
-    public org.apache.airavata.model.error.AiravataSystemException ase; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
-
-    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      SUCCESS((short)0, "success"),
-      IRE((short)1, "ire"),
-      ACE((short)2, "ace"),
-      ASE((short)3, "ase"),
-      AE((short)4, "ae");
-
-      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-      static {
-        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 0: // SUCCESS
-            return SUCCESS;
-          case 1: // IRE
-            return IRE;
-          case 2: // ACE
-            return ACE;
-          case 3: // ASE
-            return ASE;
-          case 4: // AE
-            return AE;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(java.lang.String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final java.lang.String _fieldName;
-
-      _Fields(short thriftId, java.lang.String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public java.lang.String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule.class)));
-      tmpMap.put(_Fields.IRE, new org.apache.thrift.meta_data.FieldMetaData("ire", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.InvalidRequestException.class)));
-      tmpMap.put(_Fields.ACE, new org.apache.thrift.meta_data.FieldMetaData("ace", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AiravataClientException.class)));
-      tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AiravataSystemException.class)));
-      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getApplicationModule_result.class, metaDataMap);
-    }
-
-    public getApplicationModule_result() {
-    }
-
-    public getApplicationModule_result(
-      org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule success,
-      org.apache.airavata.model.error.InvalidRequestException ire,
-      org.apache.airavata.model.error.AiravataClientException ace,
-      org.apache.airavata.model.error.AiravataSystemException ase,
-      org.apache.airavata.model.error.AuthorizationException ae)
-    {
-      this();
-      this.success = success;
-      this.ire = ire;
-      this.ace = ace;
-      this.ase = ase;
-      this.ae = ae;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public getApplicationModule_result(getApplicationModule_result other) {
-      if (other.isSetSuccess()) {
-        this.success = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule(other.success);
-      }
-      if (other.isSetIre()) {
-        this.ire = new org.apache.airavata.model.error.InvalidRequestException(other.ire);
-      }
-      if (other.isSetAce()) {
-        this.ace = new org.apache.airavata.model.error.AiravataClientException(other.ace);
-      }
-      if (other.isSetAse()) {
-        this.ase = new org.apache.airavata.model.error.AiravataSystemException(other.ase);
-      }
-      if (other.isSetAe()) {
-        this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
-      }
-    }
-
-    public getApplicationModule_result deepCopy() {
-      return new getApplicationModule_result(this);
-    }
-
-    @Override
-    public void clear() {
-      this.success = null;
-      this.ire = null;
-      this.ace = null;
-      this.ase = null;
-      this.ae = null;
-    }
-
-    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule getSuccess() {
-      return this.success;
-    }
-
-    public getApplicationModule_result setSuccess(org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule success) {
-      this.success = success;
-      return this;
-    }
-
-    public void unsetSuccess() {
-      this.success = null;
-    }
-
-    /** Returns true if field success is set (has been assigned a value) and false otherwise */
-    public boolean isSetSuccess() {
-      return this.success != null;
-    }
-
-    public void setSuccessIsSet(boolean value) {
-      if (!value) {
-        this.success = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.InvalidRequestException getIre() {
-      return this.ire;
-    }
-
-    public getApplicationModule_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
-      this.ire = ire;
-      return this;
-    }
-
-    public void unsetIre() {
-      this.ire = null;
-    }
-
-    /** Returns true if field ire is set (has been assigned a value) and false otherwise */
-    public boolean isSetIre() {
-      return this.ire != null;
-    }
-
-    public void setIreIsSet(boolean value) {
-      if (!value) {
-        this.ire = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.AiravataClientException getAce() {
-      return this.ace;
-    }
-
-    public getApplicationModule_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
-      this.ace = ace;
-      return this;
-    }
-
-    public void unsetAce() {
-      this.ace = null;
-    }
-
-    /** Returns true if field ace is set (has been assigned a value) and false otherwise */
-    public boolean isSetAce() {
-      return this.ace != null;
-    }
-
-    public void setAceIsSet(boolean value) {
-      if (!value) {
-        this.ace = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.AiravataSystemException getAse() {
-      return this.ase;
-    }
-
-    public getApplicationModule_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
-      this.ase = ase;
-      return this;
-    }
-
-    public void unsetAse() {
-      this.ase = null;
-    }
-
-    /** Returns true if field ase is set (has been assigned a value) and false otherwise */
-    public boolean isSetAse() {
-      return this.ase != null;
-    }
-
-    public void setAseIsSet(boolean value) {
-      if (!value) {
-        this.ase = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.AuthorizationException getAe() {
-      return this.ae;
-    }
-
-    public getApplicationModule_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
-      this.ae = ae;
-      return this;
-    }
-
-    public void unsetAe() {
-      this.ae = null;
-    }
-
-    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
-    public boolean isSetAe() {
-      return this.ae != null;
-    }
-
-    public void setAeIsSet(boolean value) {
-      if (!value) {
-        this.ae = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      case SUCCESS:
-        if (value == null) {
-          unsetSuccess();
-        } else {
-          setSuccess((org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule)value);
-        }
-        break;
-
-      case IRE:
-        if (value == null) {
-          unsetIre();
-        } else {
-          setIre((org.apache.airavata.model.error.InvalidRequestException)value);
-        }
-        break;
-
-      case ACE:
-        if (value == null) {
-          unsetAce();
-        } else {
-          setAce((org.apache.airavata.model.error.AiravataClientException)value);
-        }
-        break;
-
-      case ASE:
-        if (value == null) {
-          unsetAse();
-        } else {
-          setAse((org.apache.airavata.model.error.AiravataSystemException)value);
-        }
-        break;
-
-      case AE:
-        if (value == null) {
-          unsetAe();
-        } else {
-          setAe((org.apache.airavata.model.error.AuthorizationException)value);
-        }
-        break;
-
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      case SUCCESS:
-        return getSuccess();
-
-      case IRE:
-        return getIre();
-
-      case ACE:
-        return getAce();
-
-      case ASE:
-        return getAse();
-
-      case AE:
-        return getAe();
-
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new java.lang.IllegalArgumentException();
-      }
-
-      switch (field) {
-      case SUCCESS:
-        return isSetSuccess();
-      case IRE:
-        return isSetIre();
-      case ACE:
-        return isSetAce();
-      case ASE:
-        return isSetAse();
-      case AE:
-        return isSetAe();
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof getApplicationModule_result)
-        return this.equals((getApplicationModule_result)that);
-      return false;
-    }
-
-    public boolean equals(getApplicationModule_result that) {
-      if (that == null)
-        return false;
-      if (this == that)
-        return true;
-
-      boolean this_present_success = true && this.isSetSuccess();
-      boolean that_present_success = true && that.isSetSuccess();
-      if (this_present_success || that_present_success) {
-        if (!(this_present_success && that_present_success))
-          return false;
-        if (!this.success.equals(that.success))
-          return false;
-      }
-
-      boolean this_present_ire = true && this.isSetIre();
-      boolean that_present_ire = true && that.isSetIre();
-      if (this_present_ire || that_present_ire) {
-        if (!(this_present_ire && that_present_ire))
-          return false;
-        if (!this.ire.equals(that.ire))
-          return false;
-      }
-
-      boolean this_present_ace = true && this.isSetAce();
-      boolean that_present_ace = true && that.isSetAce();
-      if (this_present_ace || that_present_ace) {
-        if (!(this_present_ace && that_present_ace))
-          return false;
-        if (!this.ace.equals(that.ace))
-          return false;
-      }
-
-      boolean this_present_ase = true && this.isSetAse();
-      boolean that_present_ase = true && that.isSetAse();
-      if (this_present_ase || that_present_ase) {
-        if (!(this_present_ase && that_present_ase))
-          return false;
-        if (!this.ase.equals(that.ase))
-          return false;
-      }
-
-      boolean this_present_ae = true && this.isSetAe();
-      boolean that_present_ae = true && that.isSetAe();
-      if (this_present_ae || that_present_ae) {
-        if (!(this_present_ae && that_present_ae))
-          return false;
-        if (!this.ae.equals(that.ae))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
-      if (isSetSuccess())
-        hashCode = hashCode * 8191 + success.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetIre()) ? 131071 : 524287);
-      if (isSetIre())
-        hashCode = hashCode * 8191 + ire.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetAce()) ? 131071 : 524287);
-      if (isSetAce())
-        hashCode = hashCode * 8191 + ace.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetAse()) ? 131071 : 524287);
-      if (isSetAse())
-        hashCode = hashCode * 8191 + ase.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetAe()) ? 131071 : 524287);
-      if (isSetAe())
-        hashCode = hashCode * 8191 + ae.hashCode();
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(getApplicationModule_result other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetSuccess()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetIre()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ire, other.ire);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAce()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ace, other.ace);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAse()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ase, other.ase);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAe()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      scheme(iprot).read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      scheme(oprot).write(oprot, this);
-      }
-
-    @Override
-    public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getApplicationModule_result(");
-      boolean first = true;
-
-      sb.append("success:");
-      if (this.success == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.success);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ire:");
-      if (this.ire == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ire);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ace:");
-      if (this.ace == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ace);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ase:");
-      if (this.ase == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ase);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ae:");
-      if (this.ae == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ae);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      // check for sub-struct validity
-      if (success != null) {
-        success.validate();
-      }
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-      try {
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class getApplicationModule_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getApplicationModule_resultStandardScheme getScheme() {
-        return new getApplicationModule_resultStandardScheme();
-      }
-    }
-
-    private static class getApplicationModule_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getApplicationModule_result> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getApplicationModule_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.success = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule();
-                struct.success.read(iprot);
-                struct.setSuccessIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 1: // IRE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
-                struct.ire.read(iprot);
-                struct.setIreIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 2: // ACE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ace = new org.apache.airavata.model.error.AiravataClientException();
-                struct.ace.read(iprot);
-                struct.setAceIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 3: // ASE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ase = new org.apache.airavata.model.error.AiravataSystemException();
-                struct.ase.read(iprot);
-                struct.setAseIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 4: // AE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ae = new org.apache.airavata.model.error.AuthorizationException();
-                struct.ae.read(iprot);
-                struct.setAeIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getApplicationModule_result struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.success != null) {
-          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          struct.success.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ire != null) {
-          oprot.writeFieldBegin(IRE_FIELD_DESC);
-          struct.ire.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ace != null) {
-          oprot.writeFieldBegin(ACE_FIELD_DESC);
-          struct.ace.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ase != null) {
-          oprot.writeFieldBegin(ASE_FIELD_DESC);
-          struct.ase.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ae != null) {
-          oprot.writeFieldBegin(AE_FIELD_DESC);
-          struct.ae.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class getApplicationModule_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getApplicationModule_resultTupleScheme getScheme() {
-        return new getApplicationModule_resultTupleScheme();
-      }
-    }
-
-    private static class getApplicationModule_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getApplicationModule_result> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getApplicationModule_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet optionals = new java.util.BitSet();
-        if (struct.isSetSuccess()) {
-          optionals.set(0);
-        }
-        if (struct.isSetIre()) {
-          optionals.set(1);
-        }
-        if (struct.isSetAce()) {
-          optionals.set(2);
-        }
-        if (struct.isSetAse()) {
-          optionals.set(3);
-        }
-        if (struct.isSetAe()) {
-          optionals.set(4);
-        }
-        oprot.writeBitSet(optionals, 5);
-        if (struct.isSetSuccess()) {
-          struct.success.write(oprot);
-        }
-        if (struct.isSetIre()) {
-          struct.ire.write(oprot);
-        }
-        if (struct.isSetAce()) {
-          struct.ace.write(oprot);
-        }
-        if (struct.isSetAse()) {
-          struct.ase.write(oprot);
-        }
-        if (struct.isSetAe()) {
-          struct.ae.write(oprot);
-        }
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getApplicationModule_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet incoming = iprot.readBitSet(5);
-        if (incoming.get(0)) {
-          struct.success = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule();
-          struct.success.read(iprot);
-          struct.setSuccessIsSet(true);
-        }
-        if (incoming.get(1)) {
-          struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
-          struct.ire.read(iprot);
-          struct.setIreIsSet(true);
-        }
-        if (incoming.get(2)) {
-          struct.ace = new org.apache.airavata.model.error.AiravataClientException();
-          struct.ace.read(iprot);
-          struct.setAceIsSet(true);
-        }
-        if (incoming.get(3)) {
-          struct.ase = new org.apache.airavata.model.error.AiravataSystemException();
-          struct.ase.read(iprot);
-          struct.setAseIsSet(true);
-        }
-        if (incoming.get(4)) {
-          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
-          struct.ae.read(iprot);
-          struct.setAeIsSet(true);
-        }
-      }
-    }
-
-    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-    }
-  }
-
-  public static class updateApplicationModule_args implements org.apache.thrift.TBase<updateApplicationModule_args, updateApplicationModule_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateApplicationModule_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateApplicationModule_args");
-
-    private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField APP_MODULE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("appModuleId", org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField APPLICATION_MODULE_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationModule", org.apache.thrift.protocol.TType.STRUCT, (short)3);
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateApplicationModule_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateApplicationModule_argsTupleSchemeFactory();
-
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String appModuleId; // required
-    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule; // 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 {
-      AUTHZ_TOKEN((short)1, "authzToken"),
-      APP_MODULE_ID((short)2, "appModuleId"),
-      APPLICATION_MODULE((short)3, "applicationModule");
-
-      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-      static {
-        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 1: // AUTHZ_TOKEN
-            return AUTHZ_TOKEN;
-          case 2: // APP_MODULE_ID
-            return APP_MODULE_ID;
-          case 3: // APPLICATION_MODULE
-            return APPLICATION_MODULE;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(java.lang.String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final java.lang.String _fieldName;
-
-      _Fields(short thriftId, java.lang.String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public java.lang.String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
-      tmpMap.put(_Fields.APP_MODULE_ID, new org.apache.thrift.meta_data.FieldMetaData("appModuleId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.APPLICATION_MODULE, new org.apache.thrift.meta_data.FieldMetaData("applicationModule", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule.class)));
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateApplicationModule_args.class, metaDataMap);
-    }
-
-    public updateApplicationModule_args() {
-    }
-
-    public updateApplicationModule_args(
-      org.apache.airavata.model.security.AuthzToken authzToken,
-      java.lang.String appModuleId,
-      org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule)
-    {
-      this();
-      this.authzToken = authzToken;
-      this.appModuleId = appModuleId;
-      this.applicationModule = applicationModule;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public updateApplicationModule_args(updateApplicationModule_args other) {
-      if (other.isSetAuthzToken()) {
-        this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
-      }
-      if (other.isSetAppModuleId()) {
-        this.appModuleId = other.appModuleId;
-      }
-      if (other.isSetApplicationModule()) {
-        this.applicationModule = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule(other.applicationModule);
-      }
-    }
-
-    public updateApplicationModule_args deepCopy() {
-      return new updateApplicationModule_args(this);
-    }
-
-    @Override
-    public void clear() {
-      this.authzToken = null;
-      this.appModuleId = null;
-      this.applicationModule = null;
-    }
-
-    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
-      return this.authzToken;
-    }
-
-    public updateApplicationModule_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
-      this.authzToken = authzToken;
-      return this;
-    }
-
-    public void unsetAuthzToken() {
-      this.authzToken = null;
-    }
-
-    /** Returns true if field authzToken is set (has been assigned a value) and false otherwise */
-    public boolean isSetAuthzToken() {
-      return this.authzToken != null;
-    }
-
-    public void setAuthzTokenIsSet(boolean value) {
-      if (!value) {
-        this.authzToken = null;
-      }
-    }
-
-    public java.lang.String getAppModuleId() {
-      return this.appModuleId;
-    }
-
-    public updateApplicationModule_args setAppModuleId(java.lang.String appModuleId) {
-      this.appModuleId = appModuleId;
-      return this;
-    }
-
-    public void unsetAppModuleId() {
-      this.appModuleId = null;
-    }
-
-    /** Returns true if field appModuleId is set (has been assigned a value) and false otherwise */
-    public boolean isSetAppModuleId() {
-      return this.appModuleId != null;
-    }
-
-    public void setAppModuleIdIsSet(boolean value) {
-      if (!value) {
-        this.appModuleId = null;
-      }
-    }
-
-    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule getApplicationModule() {
-      return this.applicationModule;
-    }
-
-    public updateApplicationModule_args setApplicationModule(org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) {
-      this.applicationModule = applicationModule;
-      return this;
-    }
-
-    public void unsetApplicationModule() {
-      this.applicationModule = null;
-    }
-
-    /** Returns true if field applicationModule is set (has been assigned a value) and false otherwise */
-    public boolean isSetApplicationModule() {
-      return this.applicationModule != null;
-    }
-
-    public void setApplicationModuleIsSet(boolean value) {
-      if (!value) {
-        this.applicationModule = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      case AUTHZ_TOKEN:
-        if (value == null) {
-          unsetAuthzToken();
-        } else {
-          setAuthzToken((org.apache.airavata.model.security.AuthzToken)value);
-        }
-        break;
-
-      case APP_MODULE_ID:
-        if (value == null) {
-          unsetAppModuleId();
-        } else {
-          setAppModuleId((java.lang.String)value);
-        }
-        break;
-
-      case APPLICATION_MODULE:
-        if (value == null) {
-          unsetApplicationModule();
-        } else {
-          setApplicationModule((org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule)value);
-        }
-        break;
-
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      case AUTHZ_TOKEN:
-        return getAuthzToken();
-
-      case APP_MODULE_ID:
-        return getAppModuleId();
-
-      case APPLICATION_MODULE:
-        return getApplicationModule();
-
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new java.lang.IllegalArgumentException();
-      }
-
-      switch (field) {
-      case AUTHZ_TOKEN:
-        return isSetAuthzToken();
-      case APP_MODULE_ID:
-        return isSetAppModuleId();
-      case APPLICATION_MODULE:
-        return isSetApplicationModule();
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof updateApplicationModule_args)
-        return this.equals((updateApplicationModule_args)that);
-      return false;
-    }
-
-    public boolean equals(updateApplicationModule_args that) {
-      if (that == null)
-        return false;
-      if (this == that)
-        return true;
-
-      boolean this_present_authzToken = true && this.isSetAuthzToken();
-      boolean that_present_authzToken = true && that.isSetAuthzToken();
-      if (this_present_authzToken || that_present_authzToken) {
-        if (!(this_present_authzToken && that_present_authzToken))
-          return false;
-        if (!this.authzToken.equals(that.authzToken))
-          return false;
-      }
-
-      boolean this_present_appModuleId = true && this.isSetAppModuleId();
-      boolean that_present_appModuleId = true && that.isSetAppModuleId();
-      if (this_present_appModuleId || that_present_appModuleId) {
-        if (!(this_present_appModuleId && that_present_appModuleId))
-          return false;
-        if (!this.appModuleId.equals(that.appModuleId))
-          return false;
-      }
-
-      boolean this_present_applicationModule = true && this.isSetApplicationModule();
-      boolean that_present_applicationModule = true && that.isSetApplicationModule();
-      if (this_present_applicationModule || that_present_applicationModule) {
-        if (!(this_present_applicationModule && that_present_applicationModule))
-          return false;
-        if (!this.applicationModule.equals(that.applicationModule))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      hashCode = hashCode * 8191 + ((isSetAuthzToken()) ? 131071 : 524287);
-      if (isSetAuthzToken())
-        hashCode = hashCode * 8191 + authzToken.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetAppModuleId()) ? 131071 : 524287);
-      if (isSetAppModuleId())
-        hashCode = hashCode * 8191 + appModuleId.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetApplicationModule()) ? 131071 : 524287);
-      if (isSetApplicationModule())
-        hashCode = hashCode * 8191 + applicationModule.hashCode();
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(updateApplicationModule_args other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAuthzToken()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authzToken, other.authzToken);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetAppModuleId()).compareTo(other.isSetAppModuleId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAppModuleId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.appModuleId, other.appModuleId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetApplicationModule()).compareTo(other.isSetApplicationModule());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetApplicationModule()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.applicationModule, other.applicationModule);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      scheme(iprot).read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      scheme(oprot).write(oprot, this);
-    }
-
-    @Override
-    public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("updateApplicationModule_args(");
-      boolean first = true;
-
-      sb.append("authzToken:");
-      if (this.authzToken == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.authzToken);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("appModuleId:");
-      if (this.appModuleId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.appModuleId);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("applicationModule:");
-      if (this.applicationModule == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.applicationModule);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      if (authzToken == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
-      }
-      if (appModuleId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'appModuleId' was not present! Struct: " + toString());
-      }
-      if (applicationModule == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'applicationModule' was not present! Struct: " + toString());
-      }
-      // check for sub-struct validity
-      if (authzToken != null) {
-        authzToken.validate();
-      }
-      if (applicationModule != null) {
-        applicationModule.validate();
-      }
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-      try {
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class updateApplicationModule_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public updateApplicationModule_argsStandardScheme getScheme() {
-        return new updateApplicationModule_argsStandardScheme();
-      }
-    }
-
-    private static class updateApplicationModule_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateApplicationModule_args> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, updateApplicationModule_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 1: // AUTHZ_TOKEN
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
-                struct.authzToken.read(iprot);
-                struct.setAuthzTokenIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 2: // APP_MODULE_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.appModuleId = iprot.readString();
-                struct.setAppModuleIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 3: // APPLICATION_MODULE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.applicationModule = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule();
-                struct.applicationModule.read(iprot);
-                struct.setApplicationModuleIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, updateApplicationModule_args struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.authzToken != null) {
-          oprot.writeFieldBegin(AUTHZ_TOKEN_FIELD_DESC);
-          struct.authzToken.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.appModuleId != null) {
-          oprot.writeFieldBegin(APP_MODULE_ID_FIELD_DESC);
-          oprot.writeString(struct.appModuleId);
-          oprot.writeFieldEnd();
-        }
-        if (struct.applicationModule != null) {
-          oprot.writeFieldBegin(APPLICATION_MODULE_FIELD_DESC);
-          struct.applicationModule.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class updateApplicationModule_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public updateApplicationModule_argsTupleScheme getScheme() {
-        return new updateApplicationModule_argsTupleScheme();
-      }
-    }
-
-    private static class updateApplicationModule_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<updateApplicationModule_args> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, updateApplicationModule_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.authzToken.write(oprot);
-        oprot.writeString(struct.appModuleId);
-        struct.applicationModule.write(oprot);
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, updateApplicationModule_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
-        struct.authzToken.read(iprot);
-        struct.setAuthzTokenIsSet(true);
-        struct.appModuleId = iprot.readString();
-        struct.setAppModuleIdIsSet(true);
-        struct.applicationModule = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule();
-        struct.applicationModule.read(iprot);
-        struct.setApplicationModuleIsSet(true);
-      }
-    }
-
-    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-    }
-  }
-
-  public static class updateApplicationModule_result implements org.apache.thrift.TBase<updateApplicationModule_result, updateApplicationModule_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateApplicationModule_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateApplicationModule_result");
-
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
-    private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
-    private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
-    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)4);
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateApplicationModule_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateApplicationModule_resultTupleSchemeFactory();
-
-    public boolean success; // required
-    public org.apache.airavata.model.error.InvalidRequestException ire; // required
-    public org.apache.airavata.model.error.AiravataClientException ace; // required
-    public org.apache.airavata.model.error.AiravataSystemException ase; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
-
-    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      SUCCESS((short)0, "success"),
-      IRE((short)1, "ire"),
-      ACE((short)2, "ace"),
-      ASE((short)3, "ase"),
-      AE((short)4, "ae");
-
-      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-      static {
-        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 0: // SUCCESS
-            return SUCCESS;
-          case 1: // IRE
-            return IRE;
-          case 2: // ACE
-            return ACE;
-          case 3: // ASE
-            return ASE;
-          case 4: // AE
-            return AE;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(java.lang.String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final java.lang.String _fieldName;
-
-      _Fields(short thriftId, java.lang.String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public java.lang.String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    private static final int __SUCCESS_ISSET_ID = 0;
-    private byte __isset_bitfield = 0;
-    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
-      tmpMap.put(_Fields.IRE, new org.apache.thrift.meta_data.FieldMetaData("ire", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.InvalidRequestException.class)));
-      tmpMap.put(_Fields.ACE, new org.apache.thrift.meta_data.FieldMetaData("ace", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AiravataClientException.class)));
-      tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AiravataSystemException.class)));
-      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateApplicationModule_result.class, metaDataMap);
-    }
-
-    public updateApplicationModule_result() {
-    }
-
-    public updateApplicationModule_result(
-      boolean success,
-      org.apache.airavata.model.error.InvalidRequestException ire,
-      org.apache.airavata.model.error.AiravataClientException ace,
-      org.apache.airavata.model.error.AiravataSystemException ase,
-      org.apache.airavata.model.error.AuthorizationException ae)
-    {
-      this();
-      this.success = success;
-      setSuccessIsSet(true);
-      this.ire = ire;
-      this.ace = ace;
-      this.ase = ase;
-      this.ae = ae;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public updateApplicationModule_result(updateApplicationModule_result other) {
-      __isset_bitfield = other.__isset_bitfield;
-      this.success = other.success;
-      if (other.isSetIre()) {
-        this.ire = new org.apache.airavata.model.error.InvalidRequestException(other.ire);
-      }
-      if (other.isSetAce()) {
-        this.ace = new org.apache.airavata.model.error.AiravataClientException(other.ace);
-      }
-      if (other.isSetAse()) {
-        this.ase = new org.apache.airavata.model.error.AiravataSystemException(other.ase);
-      }
-      if (other.isSetAe()) {
-        this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
-      }
-    }
-
-    public updateApplicationModule_result deepCopy() {
-      return new updateApplicationModule_result(this);
-    }
-
-    @Override
-    public void clear() {
-      setSuccessIsSet(false);
-      this.success = false;
-      this.ire = null;
-      this.ace = null;
-      this.ase = null;
-      this.ae = null;
-    }
-
-    public boolean isSuccess() {
-      return this.success;
-    }
-
-    public updateApplicationModule_result setSuccess(boolean success) {
-      this.success = success;
-      setSuccessIsSet(true);
-      return this;
-    }
-
-    public void unsetSuccess() {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
-    }
-
-    /** Returns true if field success is set (has been assigned a value) and false otherwise */
-    public boolean isSetSuccess() {
-      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
-    }
-
-    public void setSuccessIsSet(boolean value) {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
-    }
-
-    public org.apache.airavata.model.error.InvalidRequestException getIre() {
-      return this.ire;
-    }
-
-    public updateApplicationModule_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
-      this.ire = ire;
-      return this;
-    }
-
-    public void unsetIre() {
-      this.ire = null;
-    }
-
-    /** Returns true if field ire is set (has been assigned a value) and false otherwise */
-    public boolean isSetIre() {
-      return this.ire != null;
-    }
-
-    public void setIreIsSet(boolean value) {
-      if (!value) {
-        this.ire = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.AiravataClientException getAce() {
-      return this.ace;
-    }
-
-    public updateApplicationModule_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
-      this.ace = ace;
-      return this;
-    }
-
-    public void unsetAce() {
-      this.ace = null;
-    }
-
-    /** Returns true if field ace is set (has been assigned a value) and false otherwise */
-    public boolean isSetAce() {
-      return this.ace != null;
-    }
-
-    public void setAceIsSet(boolean value) {
-      if (!value) {
-        this.ace = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.AiravataSystemException getAse() {
-      return this.ase;
-    }
-
-    public updateApplicationModule_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
-      this.ase = ase;
-      return this;
-    }
-
-    public void unsetAse() {
-      this.ase = null;
-    }
-
-    /** Returns true if field ase is set (has been assigned a value) and false otherwise */
-    public boolean isSetAse() {
-      return this.ase != null;
-    }
-
-    public void setAseIsSet(boolean value) {
-      if (!value) {
-        this.ase = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.AuthorizationException getAe() {
-      return this.ae;
-    }
-
-    public updateApplicationModule_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
-      this.ae = ae;
-      return this;
-    }
-
-    public void unsetAe() {
-      this.ae = null;
-    }
-
-    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
-    public boolean isSetAe() {
-      return this.ae != null;
-    }
-
-    public void setAeIsSet(boolean value) {
-      if (!value) {
-        this.ae = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      case SUCCESS:
-        if (value == null) {
-          unsetSuccess();
-        } else {
-          setSuccess((java.lang.Boolean)value);
-        }
-        break;
-
-      case IRE:
-        if (value == null) {
-          unsetIre();
-        } else {
-          setIre((org.apache.airavata.model.error.InvalidRequestException)value);
-        }
-        break;
-
-      case ACE:
-        if (value == null) {
-          unsetAce();
-        } else {
-          setAce((org.apache.airavata.model.error.AiravataClientException)value);
-        }
-        break;
-
-      case ASE:
-        if (value == null) {
-          unsetAse();
-        } else {
-          setAse((org.apache.airavata.model.error.AiravataSystemException)value);
-        }
-        break;
-
-      case AE:
-        if (value == null) {
-          unsetAe();
-        } else {
-          setAe((org.apache.airavata.model.error.AuthorizationException)value);
-        }
-        break;
-
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      case SUCCESS:
-        return isSuccess();
-
-      case IRE:
-        return getIre();
-
-      case ACE:
-        return getAce();
-
-      case ASE:
-        return getAse();
-
-      case AE:
-        return getAe();
-
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new java.lang.IllegalArgumentException();
-      }
-
-      switch (field) {
-      case SUCCESS:
-        return isSetSuccess();
-      case IRE:
-        return isSetIre();
-      case ACE:
-        return isSetAce();
-      case ASE:
-        return isSetAse();
-      case AE:
-        return isSetAe();
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof updateApplicationModule_result)
-        return this.equals((updateApplicationModule_result)that);
-      return false;
-    }
-
-    public boolean equals(updateApplicationModule_result that) {
-      if (that == null)
-        return false;
-      if (this == that)
-        return true;
-
-      boolean this_present_success = true;
-      boolean that_present_success = true;
-      if (this_present_success || that_present_success) {
-        if (!(this_present_success && that_present_success))
-          return false;
-        if (this.success != that.success)
-          return false;
-      }
-
-      boolean this_present_ire = true && this.isSetIre();
-      boolean that_present_ire = true && that.isSetIre();
-      if (this_present_ire || that_present_ire) {
-        if (!(this_present_ire && that_present_ire))
-          return false;
-        if (!this.ire.equals(that.ire))
-          return false;
-      }
-
-      boolean this_present_ace = true && this.isSetAce();
-      boolean that_present_ace = true && that.isSetAce();
-      if (this_present_ace || that_present_ace) {
-        if (!(this_present_ace && that_present_ace))
-          return false;
-        if (!this.ace.equals(that.ace))
-          return false;
-      }
-
-      boolean this_present_ase = true && this.isSetAse();
-      boolean that_present_ase = true && that.isSetAse();
-      if (this_present_ase || that_present_ase) {
-        if (!(this_present_ase && that_present_ase))
-          return false;
-        if (!this.ase.equals(that.ase))
-          return false;
-      }
-
-      boolean this_present_ae = true && this.isSetAe();
-      boolean that_present_ae = true && that.isSetAe();
-      if (this_present_ae || that_present_ae) {
-        if (!(this_present_ae && that_present_ae))
-          return false;
-        if (!this.ae.equals(that.ae))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      hashCode = hashCode * 8191 + ((success) ? 131071 : 524287);
-
-      hashCode = hashCode * 8191 + ((isSetIre()) ? 131071 : 524287);
-      if (isSetIre())
-        hashCode = hashCode * 8191 + ire.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetAce()) ? 131071 : 524287);
-      if (isSetAce())
-        hashCode = hashCode * 8191 + ace.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetAse()) ? 131071 : 524287);
-      if (isSetAse())
-        hashCode = hashCode * 8191 + ase.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetAe()) ? 131071 : 524287);
-      if (isSetAe())
-        hashCode = hashCode * 8191 + ae.hashCode();
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(updateApplicationModule_result other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetSuccess()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetIre()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ire, other.ire);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAce()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ace, other.ace);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAse()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ase, other.ase);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAe()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      scheme(iprot).read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      scheme(oprot).write(oprot, this);
-      }
-
-    @Override
-    public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("updateApplicationModule_result(");
-      boolean first = true;
-
-      sb.append("success:");
-      sb.append(this.success);
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ire:");
-      if (this.ire == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ire);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ace:");
-      if (this.ace == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ace);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ase:");
-      if (this.ase == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ase);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ae:");
-      if (this.ae == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ae);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      // check for sub-struct validity
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-      try {
-        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
-        __isset_bitfield = 0;
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class updateApplicationModule_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public updateApplicationModule_resultStandardScheme getScheme() {
-        return new updateApplicationModule_resultStandardScheme();
-      }
-    }
-
-    private static class updateApplicationModule_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateApplicationModule_result> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, updateApplicationModule_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
-                struct.success = iprot.readBool();
-                struct.setSuccessIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 1: // IRE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
-                struct.ire.read(iprot);
-                struct.setIreIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 2: // ACE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ace = new org.apache.airavata.model.error.AiravataClientException();
-                struct.ace.read(iprot);
-                struct.setAceIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 3: // ASE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ase = new org.apache.airavata.model.error.AiravataSystemException();
-                struct.ase.read(iprot);
-                struct.setAseIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 4: // AE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ae = new org.apache.airavata.model.error.AuthorizationException();
-                struct.ae.read(iprot);
-                struct.setAeIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, updateApplicationModule_result struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.isSetSuccess()) {
-          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          oprot.writeBool(struct.success);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ire != null) {
-          oprot.writeFieldBegin(IRE_FIELD_DESC);
-          struct.ire.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ace != null) {
-          oprot.writeFieldBegin(ACE_FIELD_DESC);
-          struct.ace.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ase != null) {
-          oprot.writeFieldBegin(ASE_FIELD_DESC);
-          struct.ase.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ae != null) {
-          oprot.writeFieldBegin(AE_FIELD_DESC);
-          struct.ae.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class updateApplicationModule_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public updateApplicationModule_resultTupleScheme getScheme() {
-        return new updateApplicationModule_resultTupleScheme();
-      }
-    }
-
-    private static class updateApplicationModule_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<updateApplicationModule_result> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, updateApplicationModule_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet optionals = new java.util.BitSet();
-        if (struct.isSetSuccess()) {
-          optionals.set(0);
-        }
-        if (struct.isSetIre()) {
-          optionals.set(1);
-        }
-        if (struct.isSetAce()) {
-          optionals.set(2);
-        }
-        if (struct.isSetAse()) {
-          optionals.set(3);
-        }
-        if (struct.isSetAe()) {
-          optionals.set(4);
-        }
-        oprot.writeBitSet(optionals, 5);
-        if (struct.isSetSuccess()) {
-          oprot.writeBool(struct.success);
-        }
-        if (struct.isSetIre()) {
-          struct.ire.write(oprot);
-        }
-        if (struct.isSetAce()) {
-          struct.ace.write(oprot);
-        }
-        if (struct.isSetAse()) {
-          struct.ase.write(oprot);
-        }
-        if (struct.isSetAe()) {
-          struct.ae.write(oprot);
-        }
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, updateApplicationModule_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet incoming = iprot.readBitSet(5);
-        if (incoming.get(0)) {
-          struct.success = iprot.readBool();
-          struct.setSuccessIsSet(true);
-        }
-        if (incoming.get(1)) {
-          struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
-          struct.ire.read(iprot);
-          struct.setIreIsSet(true);
-        }
-        if (incoming.get(2)) {
-          struct.ace = new org.apache.airavata.model.error.AiravataClientException();
-          struct.ace.read(iprot);
-          struct.setAceIsSet(true);
-        }
-        if (incoming.get(3)) {
-          struct.ase = new org.apache.airavata.model.error.AiravataSystemException();
-          struct.ase.read(iprot);
-          struct.setAseIsSet(true);
-        }
-        if (incoming.get(4)) {
-          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
-          struct.ae.read(iprot);
-          struct.setAeIsSet(true);
-        }
-      }
-    }
-
-    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-    }
-  }
-
-  public static class getAllAppModules_args implements org.apache.thrift.TBase<getAllAppModules_args, getAllAppModules_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllAppModules_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllAppModules_args");
-
-    private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)2);
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllAppModules_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllAppModules_argsTupleSchemeFactory();
-
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // 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 {
-      AUTHZ_TOKEN((short)1, "authzToken"),
-      GATEWAY_ID((short)2, "gatewayId");
-
-      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-      static {
-        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 1: // AUTHZ_TOKEN
-            return AUTHZ_TOKEN;
-          case 2: // GATEWAY_ID
-            return GATEWAY_ID;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(java.lang.String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final java.lang.String _fieldName;
-
-      _Fields(short thriftId, java.lang.String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public java.lang.String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
-      tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllAppModules_args.class, metaDataMap);
-    }
-
-    public getAllAppModules_args() {
-    }
-
-    public getAllAppModules_args(
-      org.apache.airavata.model.security.AuthzToken authzToken,
-      java.lang.String gatewayId)
-    {
-      this();
-      this.authzToken = authzToken;
-      this.gatewayId = gatewayId;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public getAllAppModules_args(getAllAppModules_args other) {
-      if (other.isSetAuthzToken()) {
-        this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
-      }
-      if (other.isSetGatewayId()) {
-        this.gatewayId = other.gatewayId;
-      }
-    }
-
-    public getAllAppModules_args deepCopy() {
-      return new getAllAppModules_args(this);
-    }
-
-    @Override
-    public void clear() {
-      this.authzToken = null;
-      this.gatewayId = null;
-    }
-
-    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
-      return this.authzToken;
-    }
-
-    public getAllAppModules_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
-      this.authzToken = authzToken;
-      return this;
-    }
-
-    public void unsetAuthzToken() {
-      this.authzToken = null;
-    }
-
-    /** Returns true if field authzToken is set (has been assigned a value) and false otherwise */
-    public boolean isSetAuthzToken() {
-      return this.authzToken != null;
-    }
-
-    public void setAuthzTokenIsSet(boolean value) {
-      if (!value) {
-        this.authzToken = null;
-      }
-    }
-
-    public java.lang.String getGatewayId() {
-      return this.gatewayId;
-    }
-
-    public getAllAppModules_args setGatewayId(java.lang.String gatewayId) {
-      this.gatewayId = gatewayId;
-      return this;
-    }
-
-    public void unsetGatewayId() {
-      this.gatewayId = null;
-    }
-
-    /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
-    public boolean isSetGatewayId() {
-      return this.gatewayId != null;
-    }
-
-    public void setGatewayIdIsSet(boolean value) {
-      if (!value) {
-        this.gatewayId = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      case AUTHZ_TOKEN:
-        if (value == null) {
-          unsetAuthzToken();
-        } else {
-          setAuthzToken((org.apache.airavata.model.security.AuthzToken)value);
-        }
-        break;
-
-      case GATEWAY_ID:
-        if (value == null) {
-          unsetGatewayId();
-        } else {
-          setGatewayId((java.lang.String)value);
-        }
-        break;
-
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      case AUTHZ_TOKEN:
-        return getAuthzToken();
-
-      case GATEWAY_ID:
-        return getGatewayId();
-
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new java.lang.IllegalArgumentException();
-      }
-
-      switch (field) {
-      case AUTHZ_TOKEN:
-        return isSetAuthzToken();
-      case GATEWAY_ID:
-        return isSetGatewayId();
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof getAllAppModules_args)
-        return this.equals((getAllAppModules_args)that);
-      return false;
-    }
-
-    public boolean equals(getAllAppModules_args that) {
-      if (that == null)
-        return false;
-      if (this == that)
-        return true;
-
-      boolean this_present_authzToken = true && this.isSetAuthzToken();
-      boolean that_present_authzToken = true && that.isSetAuthzToken();
-      if (this_present_authzToken || that_present_authzToken) {
-        if (!(this_present_authzToken && that_present_authzToken))
-          return false;
-        if (!this.authzToken.equals(that.authzToken))
-          return false;
-      }
-
-      boolean this_present_gatewayId = true && this.isSetGatewayId();
-      boolean that_present_gatewayId = true && that.isSetGatewayId();
-      if (this_present_gatewayId || that_present_gatewayId) {
-        if (!(this_present_gatewayId && that_present_gatewayId))
-          return false;
-        if (!this.gatewayId.equals(that.gatewayId))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      hashCode = hashCode * 8191 + ((isSetAuthzToken()) ? 131071 : 524287);
-      if (isSetAuthzToken())
-        hashCode = hashCode * 8191 + authzToken.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetGatewayId()) ? 131071 : 524287);
-      if (isSetGatewayId())
-        hashCode = hashCode * 8191 + gatewayId.hashCode();
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(getAllAppModules_args other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAuthzToken()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authzToken, other.authzToken);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetGatewayId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      scheme(iprot).read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      scheme(oprot).write(oprot, this);
-    }
-
-    @Override
-    public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getAllAppModules_args(");
-      boolean first = true;
-
-      sb.append("authzToken:");
-      if (this.authzToken == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.authzToken);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("gatewayId:");
-      if (this.gatewayId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.gatewayId);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      if (authzToken == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
-      }
-      if (gatewayId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
-      }
-      // check for sub-struct validity
-      if (authzToken != null) {
-        authzToken.validate();
-      }
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-      try {
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class getAllAppModules_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getAllAppModules_argsStandardScheme getScheme() {
-        return new getAllAppModules_argsStandardScheme();
-      }
-    }
-
-    private static class getAllAppModules_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllAppModules_args> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getAllAppModules_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 1: // AUTHZ_TOKEN
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
-                struct.authzToken.read(iprot);
-                struct.setAuthzTokenIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 2: // GATEWAY_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.gatewayId = iprot.readString();
-                struct.setGatewayIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getAllAppModules_args struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.authzToken != null) {
-          oprot.writeFieldBegin(AUTHZ_TOKEN_FIELD_DESC);
-          struct.authzToken.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.gatewayId != null) {
-          oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
-          oprot.writeString(struct.gatewayId);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class getAllAppModules_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getAllAppModules_argsTupleScheme getScheme() {
-        return new getAllAppModules_argsTupleScheme();
-      }
-    }
-
-    private static class getAllAppModules_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAllAppModules_args> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getAllAppModules_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.authzToken.write(oprot);
-        oprot.writeString(struct.gatewayId);
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getAllAppModules_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
-        struct.authzToken.read(iprot);
-        struct.setAuthzTokenIsSet(true);
-        struct.gatewayId = iprot.readString();
-        struct.setGatewayIdIsSet(true);
-      }
-    }
-
-    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-    }
-  }
-
-  public static class getAllAppModules_result implements org.apache.thrift.TBase<getAllAppModules_result, getAllAppModules_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllAppModules_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllAppModules_result");
-
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
-    private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
-    private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
-    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)4);
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllAppModules_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllAppModules_resultTupleSchemeFactory();
-
-    public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> success; // required
-    public org.apache.airavata.model.error.InvalidRequestException ire; // required
-    public org.apache.airavata.model.error.AiravataClientException ace; // required
-    public org.apache.airavata.model.error.AiravataSystemException ase; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
-
-    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      SUCCESS((short)0, "success"),
-      IRE((short)1, "ire"),
-      ACE((short)2, "ace"),
-      ASE((short)3, "ase"),
-      AE((short)4, "ae");
-
-      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-      static {
-        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 0: // SUCCESS
-            return SUCCESS;
-          case 1: // IRE
-            return IRE;
-          case 2: // ACE
-            return ACE;
-          case 3: // ASE
-            return ASE;
-          case 4: // AE
-            return AE;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(java.lang.String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final java.lang.String _fieldName;
-
-      _Fields(short thriftId, java.lang.String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public java.lang.String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
-              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule.class))));
-      tmpMap.put(_Fields.IRE, new org.apache.thrift.meta_data.FieldMetaData("ire", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.InvalidRequestException.class)));
-      tmpMap.put(_Fields.ACE, new org.apache.thrift.meta_data.FieldMetaData("ace", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AiravataClientException.class)));
-      tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AiravataSystemException.class)));
-      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllAppModules_result.class, metaDataMap);
-    }
-
-    public getAllAppModules_result() {
-    }
-
-    public getAllAppModules_result(
-      java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> success,
-      org.apache.airavata.model.error.InvalidRequestException ire,
-      org.apache.airavata.model.error.AiravataClientException ace,
-      org.apache.airavata.model.error.AiravataSystemException ase,
-      org.apache.airavata.model.error.AuthorizationException ae)
-    {
-      this();
-      this.success = success;
-      this.ire = ire;
-      this.ace = ace;
-      this.ase = ase;
-      this.ae = ae;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public getAllAppModules_result(getAllAppModules_result other) {
-      if (other.isSetSuccess()) {
-        java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> __this__success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>(other.success.size());
-        for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule other_element : other.success) {
-          __this__success.add(new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule(other_element));
-        }
-        this.success = __this__success;
-      }
-      if (other.isSetIre()) {
-        this.ire = new org.apache.airavata.model.error.InvalidRequestException(other.ire);
-      }
-      if (other.isSetAce()) {
-        this.ace = new org.apache.airavata.model.error.AiravataClientException(other.ace);
-      }
-      if (other.isSetAse()) {
-        this.ase = new org.apache.airavata.model.error.AiravataSystemException(other.ase);
-      }
-      if (other.isSetAe()) {
-        this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
-      }
-    }
-
-    public getAllAppModules_result deepCopy() {
-      return new getAllAppModules_result(this);
-    }
-
-    @Override
-    public void clear() {
-      this.success = null;
-      this.ire = null;
-      this.ace = null;
-      this.ase = null;
-      this.ae = null;
-    }
-
-    public int getSuccessSize() {
-      return (this.success == null) ? 0 : this.success.size();
-    }
-
-    public java.util.Iterator<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getSuccessIterator() {
-      return (this.success == null) ? null : this.success.iterator();
-    }
-
-    public void addToSuccess(org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule elem) {
-      if (this.success == null) {
-        this.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>();
-      }
-      this.success.add(elem);
-    }
-
-    public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getSuccess() {
-      return this.success;
-    }
-
-    public getAllAppModules_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> success) {
-      this.success = success;
-      return this;
-    }
-
-    public void unsetSuccess() {
-      this.success = null;
-    }
-
-    /** Returns true if field success is set (has been assigned a value) and false otherwise */
-    public boolean isSetSuccess() {
-      return this.success != null;
-    }
-
-    public void setSuccessIsSet(boolean value) {
-      if (!value) {
-        this.success = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.InvalidRequestException getIre() {
-      return this.ire;
-    }
-
-    public getAllAppModules_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
-      this.ire = ire;
-      return this;
-    }
-
-    public void unsetIre() {
-      this.ire = null;
-    }
-
-    /** Returns true if field ire is set (has been assigned a value) and false otherwise */
-    public boolean isSetIre() {
-      return this.ire != null;
-    }
-
-    public void setIreIsSet(boolean value) {
-      if (!value) {
-        this.ire = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.AiravataClientException getAce() {
-      return this.ace;
-    }
-
-    public getAllAppModules_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
-      this.ace = ace;
-      return this;
-    }
-
-    public void unsetAce() {
-      this.ace = null;
-    }
-
-    /** Returns true if field ace is set (has been assigned a value) and false otherwise */
-    public boolean isSetAce() {
-      return this.ace != null;
-    }
-
-    public void setAceIsSet(boolean value) {
-      if (!value) {
-        this.ace = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.AiravataSystemException getAse() {
-      return this.ase;
-    }
-
-    public getAllAppModules_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
-      this.ase = ase;
-      return this;
-    }
-
-    public void unsetAse() {
-      this.ase = null;
-    }
-
-    /** Returns true if field ase is set (has been assigned a value) and false otherwise */
-    public boolean isSetAse() {
-      return this.ase != null;
-    }
-
-    public void setAseIsSet(boolean value) {
-      if (!value) {
-        this.ase = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.AuthorizationException getAe() {
-      return this.ae;
-    }
-
-    public getAllAppModules_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
-      this.ae = ae;
-      return this;
-    }
-
-    public void unsetAe() {
-      this.ae = null;
-    }
-
-    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
-    public boolean isSetAe() {
-      return this.ae != null;
-    }
-
-    public void setAeIsSet(boolean value) {
-      if (!value) {
-        this.ae = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      case SUCCESS:
-        if (value == null) {
-          unsetSuccess();
-        } else {
-          setSuccess((java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>)value);
-        }
-        break;
-
-      case IRE:
-        if (value == null) {
-          unsetIre();
-        } else {
-          setIre((org.apache.airavata.model.error.InvalidRequestException)value);
-        }
-        break;
-
-      case ACE:
-        if (value == null) {
-          unsetAce();
-        } else {
-          setAce((org.apache.airavata.model.error.AiravataClientException)value);
-        }
-        break;
-
-      case ASE:
-        if (value == null) {
-          unsetAse();
-        } else {
-          setAse((org.apache.airavata.model.error.AiravataSystemException)value);
-        }
-        break;
-
-      case AE:
-        if (value == null) {
-          unsetAe();
-        } else {
-          setAe((org.apache.airavata.model.error.AuthorizationException)value);
-        }
-        break;
-
+      case PNFE:
+        if (value == null) {
+          unsetPnfe();
+        } else {
+          setPnfe((org.apache.airavata.model.error.ProjectNotFoundException)value);
+        }
+        break;
+
       }
     }
 
@@ -109237,6 +101623,9 @@ public class Airavata {
       case IRE:
         return getIre();
 
+      case ENF:
+        return getEnf();
+
       case ACE:
         return getAce();
 
@@ -109246,6 +101635,9 @@ public class Airavata {
       case AE:
         return getAe();
 
+      case PNFE:
+        return getPnfe();
+
       }
       throw new java.lang.IllegalStateException();
     }
@@ -109261,12 +101653,16 @@ public class Airavata {
         return isSetSuccess();
       case IRE:
         return isSetIre();
+      case ENF:
+        return isSetEnf();
       case ACE:
         return isSetAce();
       case ASE:
         return isSetAse();
       case AE:
         return isSetAe();
+      case PNFE:
+        return isSetPnfe();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -109275,12 +101671,12 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof getAllAppModules_result)
-        return this.equals((getAllAppModules_result)that);
+      if (that instanceof cloneExperimentByAdmin_result)
+        return this.equals((cloneExperimentByAdmin_result)that);
       return false;
     }
 
-    public boolean equals(getAllAppModules_result that) {
+    public boolean equals(cloneExperimentByAdmin_result that) {
       if (that == null)
         return false;
       if (this == that)
@@ -109304,6 +101700,15 @@ public class Airavata {
           return false;
       }
 
+      boolean this_present_enf = true && this.isSetEnf();
+      boolean that_present_enf = true && that.isSetEnf();
+      if (this_present_enf || that_present_enf) {
+        if (!(this_present_enf && that_present_enf))
+          return false;
+        if (!this.enf.equals(that.enf))
+          return false;
+      }
+
       boolean this_present_ace = true && this.isSetAce();
       boolean that_present_ace = true && that.isSetAce();
       if (this_present_ace || that_present_ace) {
@@ -109331,6 +101736,15 @@ public class Airavata {
           return false;
       }
 
+      boolean this_present_pnfe = true && this.isSetPnfe();
+      boolean that_present_pnfe = true && that.isSetPnfe();
+      if (this_present_pnfe || that_present_pnfe) {
+        if (!(this_present_pnfe && that_present_pnfe))
+          return false;
+        if (!this.pnfe.equals(that.pnfe))
+          return false;
+      }
+
       return true;
     }
 
@@ -109346,6 +101760,10 @@ public class Airavata {
       if (isSetIre())
         hashCode = hashCode * 8191 + ire.hashCode();
 
+      hashCode = hashCode * 8191 + ((isSetEnf()) ? 131071 : 524287);
+      if (isSetEnf())
+        hashCode = hashCode * 8191 + enf.hashCode();
+
       hashCode = hashCode * 8191 + ((isSetAce()) ? 131071 : 524287);
       if (isSetAce())
         hashCode = hashCode * 8191 + ace.hashCode();
@@ -109358,11 +101776,15 @@ public class Airavata {
       if (isSetAe())
         hashCode = hashCode * 8191 + ae.hashCode();
 
+      hashCode = hashCode * 8191 + ((isSetPnfe()) ? 131071 : 524287);
+      if (isSetPnfe())
+        hashCode = hashCode * 8191 + pnfe.hashCode();
+
       return hashCode;
     }
 
     @Override
-    public int compareTo(getAllAppModules_result other) {
+    public int compareTo(cloneExperimentByAdmin_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -109389,6 +101811,16 @@ public class Airavata {
           return lastComparison;
         }
       }
+      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetEnf()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.enf, other.enf);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
       lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
@@ -109419,6 +101851,16 @@ public class Airavata {
           return lastComparison;
         }
       }
+      lastComparison = java.lang.Boolean.valueOf(isSetPnfe()).compareTo(other.isSetPnfe());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetPnfe()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pnfe, other.pnfe);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
       return 0;
     }
 
@@ -109436,7 +101878,7 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getAllAppModules_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("cloneExperimentByAdmin_result(");
       boolean first = true;
 
       sb.append("success:");
@@ -109455,6 +101897,14 @@ public class Airavata {
       }
       first = false;
       if (!first) sb.append(", ");
+      sb.append("enf:");
+      if (this.enf == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.enf);
+      }
+      first = false;
+      if (!first) sb.append(", ");
       sb.append("ace:");
       if (this.ace == null) {
         sb.append("null");
@@ -109478,6 +101928,14 @@ public class Airavata {
         sb.append(this.ae);
       }
       first = false;
+      if (!first) sb.append(", ");
+      sb.append("pnfe:");
+      if (this.pnfe == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.pnfe);
+      }
+      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -109503,15 +101961,15 @@ public class Airavata {
       }
     }
 
-    private static class getAllAppModules_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getAllAppModules_resultStandardScheme getScheme() {
-        return new getAllAppModules_resultStandardScheme();
+    private static class cloneExperimentByAdmin_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public cloneExperimentByAdmin_resultStandardScheme getScheme() {
+        return new cloneExperimentByAdmin_resultStandardScheme();
       }
     }
 
-    private static class getAllAppModules_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllAppModules_result> {
+    private static class cloneExperimentByAdmin_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<cloneExperimentByAdmin_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getAllAppModules_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, cloneExperimentByAdmin_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -109522,19 +101980,8 @@ public class Airavata {
           }
           switch (schemeField.id) {
             case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-                {
-                  org.apache.thrift.protocol.TList _list154 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>(_list154.size);
-                  org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _elem155;
-                  for (int _i156 = 0; _i156 < _list154.size; ++_i156)
-                  {
-                    _elem155 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule();
-                    _elem155.read(iprot);
-                    struct.success.add(_elem155);
-                  }
-                  iprot.readListEnd();
-                }
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.success = iprot.readString();
                 struct.setSuccessIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
@@ -109549,7 +101996,16 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // ACE
+            case 2: // ENF
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.enf = new org.apache.airavata.model.error.ExperimentNotFoundException();
+                struct.enf.read(iprot);
+                struct.setEnfIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 3: // ACE
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                 struct.ace = new org.apache.airavata.model.error.AiravataClientException();
                 struct.ace.read(iprot);
@@ -109558,7 +102014,7 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 3: // ASE
+            case 4: // ASE
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                 struct.ase = new org.apache.airavata.model.error.AiravataSystemException();
                 struct.ase.read(iprot);
@@ -109567,7 +102023,7 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 4: // AE
+            case 5: // AE
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                 struct.ae = new org.apache.airavata.model.error.AuthorizationException();
                 struct.ae.read(iprot);
@@ -109576,6 +102032,15 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
+            case 6: // PNFE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.pnfe = new org.apache.airavata.model.error.ProjectNotFoundException();
+                struct.pnfe.read(iprot);
+                struct.setPnfeIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -109587,20 +102052,13 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getAllAppModules_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, cloneExperimentByAdmin_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
         if (struct.success != null) {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _iter157 : struct.success)
-            {
-              _iter157.write(oprot);
-            }
-            oprot.writeListEnd();
-          }
+          oprot.writeString(struct.success);
           oprot.writeFieldEnd();
         }
         if (struct.ire != null) {
@@ -109608,6 +102066,11 @@ public class Airavata {
           struct.ire.write(oprot);
           oprot.writeFieldEnd();
         }
+        if (struct.enf != null) {
+          oprot.writeFieldBegin(ENF_FIELD_DESC);
+          struct.enf.write(oprot);
+          oprot.writeFieldEnd();
+        }
         if (struct.ace != null) {
           oprot.writeFieldBegin(ACE_FIELD_DESC);
           struct.ace.write(oprot);
@@ -109623,22 +102086,27 @@ public class Airavata {
           struct.ae.write(oprot);
           oprot.writeFieldEnd();
         }
+        if (struct.pnfe != null) {
+          oprot.writeFieldBegin(PNFE_FIELD_DESC);
+          struct.pnfe.write(oprot);
+          oprot.writeFieldEnd();
+        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
 
     }
 
-    private static class getAllAppModules_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getAllAppModules_resultTupleScheme getScheme() {
-        return new getAllAppModules_resultTupleScheme();
+    private static class cloneExperimentByAdmin_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public cloneExperimentByAdmin_resultTupleScheme getScheme() {
+        return new cloneExperimentByAdmin_resultTupleScheme();
       }
     }
 
-    private static class getAllAppModules_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAllAppModules_result> {
+    private static class cloneExperimentByAdmin_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<cloneExperimentByAdmin_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getAllAppModules_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, cloneExperimentByAdmin_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet optionals = new java.util.BitSet();
         if (struct.isSetSuccess()) {
@@ -109647,28 +102115,31 @@ public class Airavata {
         if (struct.isSetIre()) {
           optionals.set(1);
         }
-        if (struct.isSetAce()) {
+        if (struct.isSetEnf()) {
           optionals.set(2);
         }
-        if (struct.isSetAse()) {
+        if (struct.isSetAce()) {
           optionals.set(3);
         }
-        if (struct.isSetAe()) {
+        if (struct.isSetAse()) {
           optionals.set(4);
         }
-        oprot.writeBitSet(optionals, 5);
+        if (struct.isSetAe()) {
+          optionals.set(5);
+        }
+        if (struct.isSetPnfe()) {
+          optionals.set(6);
+        }
+        oprot.writeBitSet(optionals, 7);
         if (struct.isSetSuccess()) {
-          {
-            oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _iter158 : struct.success)
-            {
-              _iter158.write(oprot);
-            }
-          }
+          oprot.writeString(struct.success);
         }
         if (struct.isSetIre()) {
           struct.ire.write(oprot);
         }
+        if (struct.isSetEnf()) {
+          struct.enf.write(oprot);
+        }
         if (struct.isSetAce()) {
           struct.ace.write(oprot);
         }
@@ -109678,24 +102149,17 @@ public class Airavata {
         if (struct.isSetAe()) {
           struct.ae.write(oprot);
         }
+        if (struct.isSetPnfe()) {
+          struct.pnfe.write(oprot);
+        }
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getAllAppModules_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, cloneExperimentByAdmin_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet incoming = iprot.readBitSet(5);
+        java.util.BitSet incoming = iprot.readBitSet(7);
         if (incoming.get(0)) {
-          {
-            org.apache.thrift.protocol.TList _list159 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>(_list159.size);
-            org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _elem160;
-            for (int _i161 = 0; _i161 < _list159.size; ++_i161)
-            {
-              _elem160 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule();
-              _elem160.read(iprot);
-              struct.success.add(_elem160);
-            }
-          }
+          struct.success = iprot.readString();
           struct.setSuccessIsSet(true);
         }
         if (incoming.get(1)) {
@@ -109704,20 +102168,30 @@ public class Airavata {
           struct.setIreIsSet(true);
         }
         if (incoming.get(2)) {
+          struct.enf = new org.apache.airavata.model.error.ExperimentNotFoundException();
+          struct.enf.read(iprot);
+          struct.setEnfIsSet(true);
+        }
+        if (incoming.get(3)) {
           struct.ace = new org.apache.airavata.model.error.AiravataClientException();
           struct.ace.read(iprot);
           struct.setAceIsSet(true);
         }
-        if (incoming.get(3)) {
+        if (incoming.get(4)) {
           struct.ase = new org.apache.airavata.model.error.AiravataSystemException();
           struct.ase.read(iprot);
           struct.setAseIsSet(true);
         }
-        if (incoming.get(4)) {
+        if (incoming.get(5)) {
           struct.ae = new org.apache.airavata.model.error.AuthorizationException();
           struct.ae.read(iprot);
           struct.setAeIsSet(true);
         }
+        if (incoming.get(6)) {
+          struct.pnfe = new org.apache.airavata.model.error.ProjectNotFoundException();
+          struct.pnfe.read(iprot);
+          struct.setPnfeIsSet(true);
+        }
       }
     }
 
@@ -109726,22 +102200,25 @@ public class Airavata {
     }
   }
 
-  public static class deleteApplicationModule_args implements org.apache.thrift.TBase<deleteApplicationModule_args, deleteApplicationModule_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteApplicationModule_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteApplicationModule_args");
+  public static class terminateExperiment_args implements org.apache.thrift.TBase<terminateExperiment_args, terminateExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<terminateExperiment_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("terminateExperiment_args");
 
     private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField APP_MODULE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("appModuleId", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField AIRAVATA_EXPERIMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("airavataExperimentId", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)3);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteApplicationModule_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteApplicationModule_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new terminateExperiment_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new terminateExperiment_argsTupleSchemeFactory();
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String appModuleId; // required
+    public java.lang.String airavataExperimentId; // required
+    public java.lang.String gatewayId; // 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 {
       AUTHZ_TOKEN((short)1, "authzToken"),
-      APP_MODULE_ID((short)2, "appModuleId");
+      AIRAVATA_EXPERIMENT_ID((short)2, "airavataExperimentId"),
+      GATEWAY_ID((short)3, "gatewayId");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -109758,8 +102235,10 @@ public class Airavata {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
             return AUTHZ_TOKEN;
-          case 2: // APP_MODULE_ID
-            return APP_MODULE_ID;
+          case 2: // AIRAVATA_EXPERIMENT_ID
+            return AIRAVATA_EXPERIMENT_ID;
+          case 3: // GATEWAY_ID
+            return GATEWAY_ID;
           default:
             return null;
         }
@@ -109805,51 +102284,59 @@ public class Airavata {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
-      tmpMap.put(_Fields.APP_MODULE_ID, new org.apache.thrift.meta_data.FieldMetaData("appModuleId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      tmpMap.put(_Fields.AIRAVATA_EXPERIMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("airavataExperimentId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteApplicationModule_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(terminateExperiment_args.class, metaDataMap);
     }
 
-    public deleteApplicationModule_args() {
+    public terminateExperiment_args() {
     }
 
-    public deleteApplicationModule_args(
+    public terminateExperiment_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
-      java.lang.String appModuleId)
+      java.lang.String airavataExperimentId,
+      java.lang.String gatewayId)
     {
       this();
       this.authzToken = authzToken;
-      this.appModuleId = appModuleId;
+      this.airavataExperimentId = airavataExperimentId;
+      this.gatewayId = gatewayId;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public deleteApplicationModule_args(deleteApplicationModule_args other) {
+    public terminateExperiment_args(terminateExperiment_args other) {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
-      if (other.isSetAppModuleId()) {
-        this.appModuleId = other.appModuleId;
+      if (other.isSetAiravataExperimentId()) {
+        this.airavataExperimentId = other.airavataExperimentId;
+      }
+      if (other.isSetGatewayId()) {
+        this.gatewayId = other.gatewayId;
       }
     }
 
-    public deleteApplicationModule_args deepCopy() {
-      return new deleteApplicationModule_args(this);
+    public terminateExperiment_args deepCopy() {
+      return new terminateExperiment_args(this);
     }
 
     @Override
     public void clear() {
       this.authzToken = null;
-      this.appModuleId = null;
+      this.airavataExperimentId = null;
+      this.gatewayId = null;
     }
 
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deleteApplicationModule_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public terminateExperiment_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -109869,27 +102356,51 @@ public class Airavata {
       }
     }
 
-    public java.lang.String getAppModuleId() {
-      return this.appModuleId;
+    public java.lang.String getAiravataExperimentId() {
+      return this.airavataExperimentId;
     }
 
-    public deleteApplicationModule_args setAppModuleId(java.lang.String appModuleId) {
-      this.appModuleId = appModuleId;
+    public terminateExperiment_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+      this.airavataExperimentId = airavataExperimentId;
       return this;
     }
 
-    public void unsetAppModuleId() {
-      this.appModuleId = null;
+    public void unsetAiravataExperimentId() {
+      this.airavataExperimentId = null;
     }
 
-    /** Returns true if field appModuleId is set (has been assigned a value) and false otherwise */
-    public boolean isSetAppModuleId() {
-      return this.appModuleId != null;
+    /** Returns true if field airavataExperimentId is set (has been assigned a value) and false otherwise */
+    public boolean isSetAiravataExperimentId() {
+      return this.airavataExperimentId != null;
     }
 
-    public void setAppModuleIdIsSet(boolean value) {
+    public void setAiravataExperimentIdIsSet(boolean value) {
       if (!value) {
-        this.appModuleId = null;
+        this.airavataExperimentId = null;
+      }
+    }
+
+    public java.lang.String getGatewayId() {
+      return this.gatewayId;
+    }
+
+    public terminateExperiment_args setGatewayId(java.lang.String gatewayId) {
+      this.gatewayId = gatewayId;
+      return this;
+    }
+
+    public void unsetGatewayId() {
+      this.gatewayId = null;
+    }
+
+    /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
+    public boolean isSetGatewayId() {
+      return this.gatewayId != null;
+    }
+
+    public void setGatewayIdIsSet(boolean value) {
+      if (!value) {
+        this.gatewayId = null;
       }
     }
 
@@ -109903,11 +102414,19 @@ public class Airavata {
         }
         break;
 
-      case APP_MODULE_ID:
+      case AIRAVATA_EXPERIMENT_ID:
         if (value == null) {
-          unsetAppModuleId();
+          unsetAiravataExperimentId();
         } else {
-          setAppModuleId((java.lang.String)value);
+          setAiravataExperimentId((java.lang.String)value);
+        }
+        break;
+
+      case GATEWAY_ID:
+        if (value == null) {
+          unsetGatewayId();
+        } else {
+          setGatewayId((java.lang.String)value);
         }
         break;
 
@@ -109919,8 +102438,11 @@ public class Airavata {
       case AUTHZ_TOKEN:
         return getAuthzToken();
 
-      case APP_MODULE_ID:
-        return getAppModuleId();
+      case AIRAVATA_EXPERIMENT_ID:
+        return getAiravataExperimentId();
+
+      case GATEWAY_ID:
+        return getGatewayId();
 
       }
       throw new java.lang.IllegalStateException();
@@ -109935,8 +102457,10 @@ public class Airavata {
       switch (field) {
       case AUTHZ_TOKEN:
         return isSetAuthzToken();
-      case APP_MODULE_ID:
-        return isSetAppModuleId();
+      case AIRAVATA_EXPERIMENT_ID:
+        return isSetAiravataExperimentId();
+      case GATEWAY_ID:
+        return isSetGatewayId();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -109945,12 +102469,12 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof deleteApplicationModule_args)
-        return this.equals((deleteApplicationModule_args)that);
+      if (that instanceof terminateExperiment_args)
+        return this.equals((terminateExperiment_args)that);
       return false;
     }
 
-    public boolean equals(deleteApplicationModule_args that) {
+    public boolean equals(terminateExperiment_args that) {
       if (that == null)
         return false;
       if (this == that)
@@ -109965,12 +102489,21 @@ public class Airavata {
           return false;
       }
 
-      boolean this_present_appModuleId = true && this.isSetAppModuleId();
-      boolean that_present_appModuleId = true && that.isSetAppModuleId();
-      if (this_present_appModuleId || that_present_appModuleId) {
-        if (!(this_present_appModuleId && that_present_appModuleId))
+      boolean this_present_airavataExperimentId = true && this.isSetAiravataExperimentId();
+      boolean that_present_airavataExperimentId = true && that.isSetAiravataExperimentId();
+      if (this_present_airavataExperimentId || that_present_airavataExperimentId) {
+        if (!(this_present_airavataExperimentId && that_present_airavataExperimentId))
           return false;
-        if (!this.appModuleId.equals(that.appModuleId))
+        if (!this.airavataExperimentId.equals(that.airavataExperimentId))
+          return false;
+      }
+
+      boolean this_present_gatewayId = true && this.isSetGatewayId();
+      boolean that_present_gatewayId = true && that.isSetGatewayId();
+      if (this_present_gatewayId || that_present_gatewayId) {
+        if (!(this_present_gatewayId && that_present_gatewayId))
+          return false;
+        if (!this.gatewayId.equals(that.gatewayId))
           return false;
       }
 
@@ -109985,15 +102518,19 @@ public class Airavata {
       if (isSetAuthzToken())
         hashCode = hashCode * 8191 + authzToken.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetAppModuleId()) ? 131071 : 524287);
-      if (isSetAppModuleId())
-        hashCode = hashCode * 8191 + appModuleId.hashCode();
+      hashCode = hashCode * 8191 + ((isSetAiravataExperimentId()) ? 131071 : 524287);
+      if (isSetAiravataExperimentId())
+        hashCode = hashCode * 8191 + airavataExperimentId.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetGatewayId()) ? 131071 : 524287);
+      if (isSetGatewayId())
+        hashCode = hashCode * 8191 + gatewayId.hashCode();
 
       return hashCode;
     }
 
     @Override
-    public int compareTo(deleteApplicationModule_args other) {
+    public int compareTo(terminateExperiment_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -110010,12 +102547,22 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAppModuleId()).compareTo(other.isSetAppModuleId());
+      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetAppModuleId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.appModuleId, other.appModuleId);
+      if (isSetAiravataExperimentId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.airavataExperimentId, other.airavataExperimentId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGatewayId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -110037,7 +102584,7 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("deleteApplicationModule_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("terminateExperiment_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -110048,11 +102595,19 @@ public class Airavata {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("appModuleId:");
-      if (this.appModuleId == null) {
+      sb.append("airavataExperimentId:");
+      if (this.airavataExperimentId == null) {
         sb.append("null");
       } else {
-        sb.append(this.appModuleId);
+        sb.append(this.airavataExperimentId);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("gatewayId:");
+      if (this.gatewayId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.gatewayId);
       }
       first = false;
       sb.append(")");
@@ -110064,9 +102619,6 @@ public class Airavata {
       if (authzToken == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
       }
-      if (appModuleId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'appModuleId' was not present! Struct: " + toString());
-      }
       // check for sub-struct validity
       if (authzToken != null) {
         authzToken.validate();
@@ -110089,15 +102641,15 @@ public class Airavata {
       }
     }
 
-    private static class deleteApplicationModule_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public deleteApplicationModule_argsStandardScheme getScheme() {
-        return new deleteApplicationModule_argsStandardScheme();
+    private static class terminateExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public terminateExperiment_argsStandardScheme getScheme() {
+        return new terminateExperiment_argsStandardScheme();
       }
     }
 
-    private static class deleteApplicationModule_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteApplicationModule_args> {
+    private static class terminateExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<terminateExperiment_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, deleteApplicationModule_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, terminateExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -110116,10 +102668,18 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // APP_MODULE_ID
+            case 2: // AIRAVATA_EXPERIMENT_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.appModuleId = iprot.readString();
-                struct.setAppModuleIdIsSet(true);
+                struct.airavataExperimentId = iprot.readString();
+                struct.setAiravataExperimentIdIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 3: // GATEWAY_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.gatewayId = iprot.readString();
+                struct.setGatewayIdIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -110135,7 +102695,7 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, deleteApplicationModule_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, terminateExperiment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -110144,9 +102704,14 @@ public class Airavata {
           struct.authzToken.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.appModuleId != null) {
-          oprot.writeFieldBegin(APP_MODULE_ID_FIELD_DESC);
-          oprot.writeString(struct.appModuleId);
+        if (struct.airavataExperimentId != null) {
+          oprot.writeFieldBegin(AIRAVATA_EXPERIMENT_ID_FIELD_DESC);
+          oprot.writeString(struct.airavataExperimentId);
+          oprot.writeFieldEnd();
+        }
+        if (struct.gatewayId != null) {
+          oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
+          oprot.writeString(struct.gatewayId);
           oprot.writeFieldEnd();
         }
         oprot.writeFieldStop();
@@ -110155,29 +102720,49 @@ public class Airavata {
 
     }
 
-    private static class deleteApplicationModule_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public deleteApplicationModule_argsTupleScheme getScheme() {
-        return new deleteApplicationModule_argsTupleScheme();
+    private static class terminateExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public terminateExperiment_argsTupleScheme getScheme() {
+        return new terminateExperiment_argsTupleScheme();
       }
     }
 
-    private static class deleteApplicationModule_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<deleteApplicationModule_args> {
+    private static class terminateExperiment_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<terminateExperiment_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, deleteApplicationModule_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, terminateExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken.write(oprot);
-        oprot.writeString(struct.appModuleId);
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetAiravataExperimentId()) {
+          optionals.set(0);
+        }
+        if (struct.isSetGatewayId()) {
+          optionals.set(1);
+        }
+        oprot.writeBitSet(optionals, 2);
+        if (struct.isSetAiravataExperimentId()) {
+          oprot.writeString(struct.airavataExperimentId);
+        }
+        if (struct.isSetGatewayId()) {
+          oprot.writeString(struct.gatewayId);
+        }
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, deleteApplicationModule_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, terminateExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
-        struct.appModuleId = iprot.readString();
-        struct.setAppModuleIdIsSet(true);
+        java.util.BitSet incoming = iprot.readBitSet(2);
+        if (incoming.get(0)) {
+          struct.airavataExperimentId = iprot.readString();
+          struct.setAiravataExperimentIdIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.gatewayId = iprot.readString();
+          struct.setGatewayIdIsSet(true);
+        }
       }
     }
 
@@ -110186,31 +102771,31 @@ public class Airavata {
     }
   }
 
-  public static class deleteApplicationModule_result implements org.apache.thrift.TBase<deleteApplicationModule_result, deleteApplicationModule_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteApplicationModule_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteApplicationModule_result");
+  public static class terminateExperiment_result implements org.apache.thrift.TBase<terminateExperiment_result, terminateExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<terminateExperiment_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("terminateExperiment_result");
 
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
-    private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
-    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)4);
+    private static final org.apache.thrift.protocol.TField ENF_FIELD_DESC = new org.apache.thrift.protocol.TField("enf", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+    private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+    private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)4);
+    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)5);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteApplicationModule_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteApplicationModule_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new terminateExperiment_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new terminateExperiment_resultTupleSchemeFactory();
 
-    public boolean success; // required
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
     public org.apache.airavata.model.error.AiravataSystemException ase; // required
     public org.apache.airavata.model.error.AuthorizationException ae; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      SUCCESS((short)0, "success"),
       IRE((short)1, "ire"),
-      ACE((short)2, "ace"),
-      ASE((short)3, "ase"),
-      AE((short)4, "ae");
+      ENF((short)2, "enf"),
+      ACE((short)3, "ace"),
+      ASE((short)4, "ase"),
+      AE((short)5, "ae");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -110225,15 +102810,15 @@ public class Airavata {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
-          case 0: // SUCCESS
-            return SUCCESS;
           case 1: // IRE
             return IRE;
-          case 2: // ACE
+          case 2: // ENF
+            return ENF;
+          case 3: // ACE
             return ACE;
-          case 3: // ASE
+          case 4: // ASE
             return ASE;
-          case 4: // AE
+          case 5: // AE
             return AE;
           default:
             return null;
@@ -110275,15 +102860,13 @@ public class Airavata {
     }
 
     // isset id assignments
-    private static final int __SUCCESS_ISSET_ID = 0;
-    private byte __isset_bitfield = 0;
     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
       tmpMap.put(_Fields.IRE, new org.apache.thrift.meta_data.FieldMetaData("ire", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.InvalidRequestException.class)));
+      tmpMap.put(_Fields.ENF, new org.apache.thrift.meta_data.FieldMetaData("enf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.ExperimentNotFoundException.class)));
       tmpMap.put(_Fields.ACE, new org.apache.thrift.meta_data.FieldMetaData("ace", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AiravataClientException.class)));
       tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
@@ -110291,23 +102874,22 @@ public class Airavata {
       tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteApplicationModule_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(terminateExperiment_result.class, metaDataMap);
     }
 
-    public deleteApplicationModule_result() {
+    public terminateExperiment_result() {
     }
 
-    public deleteApplicationModule_result(
-      boolean success,
+    public terminateExperiment_result(
       org.apache.airavata.model.error.InvalidRequestException ire,
+      org.apache.airavata.model.error.ExperimentNotFoundException enf,
       org.apache.airavata.model.error.AiravataClientException ace,
       org.apache.airavata.model.error.AiravataSystemException ase,
       org.apache.airavata.model.error.AuthorizationException ae)
     {
       this();
-      this.success = success;
-      setSuccessIsSet(true);
       this.ire = ire;
+      this.enf = enf;
       this.ace = ace;
       this.ase = ase;
       this.ae = ae;
@@ -110316,12 +102898,13 @@ public class Airavata {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public deleteApplicationModule_result(deleteApplicationModule_result other) {
-      __isset_bitfield = other.__isset_bitfield;
-      this.success = other.success;
+    public terminateExperiment_result(terminateExperiment_result other) {
       if (other.isSetIre()) {
         this.ire = new org.apache.airavata.model.error.InvalidRequestException(other.ire);
       }
+      if (other.isSetEnf()) {
+        this.enf = new org.apache.airavata.model.error.ExperimentNotFoundException(other.enf);
+      }
       if (other.isSetAce()) {
         this.ace = new org.apache.airavata.model.error.AiravataClientException(other.ace);
       }
@@ -110333,64 +102916,64 @@ public class Airavata {
       }
     }
 
-    public deleteApplicationModule_result deepCopy() {
-      return new deleteApplicationModule_result(this);
+    public terminateExperiment_result deepCopy() {
+      return new terminateExperiment_result(this);
     }
 
     @Override
     public void clear() {
-      setSuccessIsSet(false);
-      this.success = false;
       this.ire = null;
+      this.enf = null;
       this.ace = null;
       this.ase = null;
       this.ae = null;
     }
 
-    public boolean isSuccess() {
-      return this.success;
+    public org.apache.airavata.model.error.InvalidRequestException getIre() {
+      return this.ire;
     }
 
-    public deleteApplicationModule_result setSuccess(boolean success) {
-      this.success = success;
-      setSuccessIsSet(true);
+    public terminateExperiment_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+      this.ire = ire;
       return this;
     }
 
-    public void unsetSuccess() {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    public void unsetIre() {
+      this.ire = null;
     }
 
-    /** Returns true if field success is set (has been assigned a value) and false otherwise */
-    public boolean isSetSuccess() {
-      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    /** Returns true if field ire is set (has been assigned a value) and false otherwise */
+    public boolean isSetIre() {
+      return this.ire != null;
     }
 
-    public void setSuccessIsSet(boolean value) {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
+    public void setIreIsSet(boolean value) {
+      if (!value) {
+        this.ire = null;
+      }
     }
 
-    public org.apache.airavata.model.error.InvalidRequestException getIre() {
-      return this.ire;
+    public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
+      return this.enf;
     }
 
-    public deleteApplicationModule_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
-      this.ire = ire;
+    public terminateExperiment_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+      this.enf = enf;
       return this;
     }
 
-    public void unsetIre() {
-      this.ire = null;
+    public void unsetEnf() {
+      this.enf = null;
     }
 
-    /** Returns true if field ire is set (has been assigned a value) and false otherwise */
-    public boolean isSetIre() {
-      return this.ire != null;
+    /** Returns true if field enf is set (has been assigned a value) and false otherwise */
+    public boolean isSetEnf() {
+      return this.enf != null;
     }
 
-    public void setIreIsSet(boolean value) {
+    public void setEnfIsSet(boolean value) {
       if (!value) {
-        this.ire = null;
+        this.enf = null;
       }
     }
 
@@ -110398,7 +102981,7 @@ public class Airavata {
       return this.ace;
     }
 
-    public deleteApplicationModule_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public terminateExperiment_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -110422,7 +103005,7 @@ public class Airavata {
       return this.ase;
     }
 
-    public deleteApplicationModule_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public terminateExperiment_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -110446,7 +103029,7 @@ public class Airavata {
       return this.ae;
     }
 
-    public deleteApplicationModule_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public terminateExperiment_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -110468,19 +103051,19 @@ public class Airavata {
 
     public void setFieldValue(_Fields field, java.lang.Object value) {
       switch (field) {
-      case SUCCESS:
+      case IRE:
         if (value == null) {
-          unsetSuccess();
+          unsetIre();
         } else {
-          setSuccess((java.lang.Boolean)value);
+          setIre((org.apache.airavata.model.error.InvalidRequestException)value);
         }
         break;
 
-      case IRE:
+      case ENF:
         if (value == null) {
-          unsetIre();
+          unsetEnf();
         } else {
-          setIre((org.apache.airavata.model.error.InvalidRequestException)value);
+          setEnf((org.apache.airavata.model.error.ExperimentNotFoundException)value);
         }
         break;
 
@@ -110513,12 +103096,12 @@ public class Airavata {
 
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
-      case SUCCESS:
-        return isSuccess();
-
       case IRE:
         return getIre();
 
+      case ENF:
+        return getEnf();
+
       case ACE:
         return getAce();
 
@@ -110539,10 +103122,10 @@ public class Airavata {
       }
 
       switch (field) {
-      case SUCCESS:
-        return isSetSuccess();
       case IRE:
         return isSetIre();
+      case ENF:
+        return isSetEnf();
       case ACE:
         return isSetAce();
       case ASE:
@@ -110557,26 +103140,17 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof deleteApplicationModule_result)
-        return this.equals((deleteApplicationModule_result)that);
+      if (that instanceof terminateExperiment_result)
+        return this.equals((terminateExperiment_result)that);
       return false;
     }
 
-    public boolean equals(deleteApplicationModule_result that) {
+    public boolean equals(terminateExperiment_result that) {
       if (that == null)
         return false;
       if (this == that)
         return true;
 
-      boolean this_present_success = true;
-      boolean that_present_success = true;
-      if (this_present_success || that_present_success) {
-        if (!(this_present_success && that_present_success))
-          return false;
-        if (this.success != that.success)
-          return false;
-      }
-
       boolean this_present_ire = true && this.isSetIre();
       boolean that_present_ire = true && that.isSetIre();
       if (this_present_ire || that_present_ire) {
@@ -110586,6 +103160,15 @@ public class Airavata {
           return false;
       }
 
+      boolean this_present_enf = true && this.isSetEnf();
+      boolean that_present_enf = true && that.isSetEnf();
+      if (this_present_enf || that_present_enf) {
+        if (!(this_present_enf && that_present_enf))
+          return false;
+        if (!this.enf.equals(that.enf))
+          return false;
+      }
+
       boolean this_present_ace = true && this.isSetAce();
       boolean that_present_ace = true && that.isSetAce();
       if (this_present_ace || that_present_ace) {
@@ -110620,12 +103203,14 @@ public class Airavata {
     public int hashCode() {
       int hashCode = 1;
 
-      hashCode = hashCode * 8191 + ((success) ? 131071 : 524287);
-
       hashCode = hashCode * 8191 + ((isSetIre()) ? 131071 : 524287);
       if (isSetIre())
         hashCode = hashCode * 8191 + ire.hashCode();
 
+      hashCode = hashCode * 8191 + ((isSetEnf()) ? 131071 : 524287);
+      if (isSetEnf())
+        hashCode = hashCode * 8191 + enf.hashCode();
+
       hashCode = hashCode * 8191 + ((isSetAce()) ? 131071 : 524287);
       if (isSetAce())
         hashCode = hashCode * 8191 + ace.hashCode();
@@ -110642,29 +103227,29 @@ public class Airavata {
     }
 
     @Override
-    public int compareTo(deleteApplicationModule_result other) {
+    public int compareTo(terminateExperiment_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetSuccess()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
+      if (isSetIre()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ire, other.ire);
         if (lastComparison != 0) {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetIre()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ire, other.ire);
+      if (isSetEnf()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.enf, other.enf);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -110716,13 +103301,9 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("deleteApplicationModule_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("terminateExperiment_result(");
       boolean first = true;
 
-      sb.append("success:");
-      sb.append(this.success);
-      first = false;
-      if (!first) sb.append(", ");
       sb.append("ire:");
       if (this.ire == null) {
         sb.append("null");
@@ -110731,6 +103312,14 @@ public class Airavata {
       }
       first = false;
       if (!first) sb.append(", ");
+      sb.append("enf:");
+      if (this.enf == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.enf);
+      }
+      first = false;
+      if (!first) sb.append(", ");
       sb.append("ace:");
       if (this.ace == null) {
         sb.append("null");
@@ -110773,23 +103362,21 @@ public class Airavata {
 
     private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
       try {
-        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
-        __isset_bitfield = 0;
         read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
       } catch (org.apache.thrift.TException te) {
         throw new java.io.IOException(te);
       }
     }
 
-    private static class deleteApplicationModule_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public deleteApplicationModule_resultStandardScheme getScheme() {
-        return new deleteApplicationModule_resultStandardScheme();
+    private static class terminateExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public terminateExperiment_resultStandardScheme getScheme() {
+        return new terminateExperiment_resultStandardScheme();
       }
     }
 
-    private static class deleteApplicationModule_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteApplicationModule_result> {
+    private static class terminateExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<terminateExperiment_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, deleteApplicationModule_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, terminateExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -110799,14 +103386,6 @@ public class Airavata {
             break;
           }
           switch (schemeField.id) {
-            case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
-                struct.success = iprot.readBool();
-                struct.setSuccessIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
             case 1: // IRE
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                 struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
@@ -110816,7 +103395,16 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // ACE
+            case 2: // ENF
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.enf = new org.apache.airavata.model.error.ExperimentNotFoundException();
+                struct.enf.read(iprot);
+                struct.setEnfIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 3: // ACE
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                 struct.ace = new org.apache.airavata.model.error.AiravataClientException();
                 struct.ace.read(iprot);
@@ -110825,7 +103413,7 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 3: // ASE
+            case 4: // ASE
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                 struct.ase = new org.apache.airavata.model.error.AiravataSystemException();
                 struct.ase.read(iprot);
@@ -110834,7 +103422,7 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 4: // AE
+            case 5: // AE
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                 struct.ae = new org.apache.airavata.model.error.AuthorizationException();
                 struct.ae.read(iprot);
@@ -110854,20 +103442,20 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, deleteApplicationModule_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, terminateExperiment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.isSetSuccess()) {
-          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          oprot.writeBool(struct.success);
-          oprot.writeFieldEnd();
-        }
         if (struct.ire != null) {
           oprot.writeFieldBegin(IRE_FIELD_DESC);
           struct.ire.write(oprot);
           oprot.writeFieldEnd();
         }
+        if (struct.enf != null) {
+          oprot.writeFieldBegin(ENF_FIELD_DESC);
+          struct.enf.write(oprot);
+          oprot.writeFieldEnd();
+        }
         if (struct.ace != null) {
           oprot.writeFieldBegin(ACE_FIELD_DESC);
           struct.ace.write(oprot);
@@ -110889,22 +103477,22 @@ public class Airavata {
 
     }
 
-    private static class deleteApplicationModule_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public deleteApplicationModule_resultTupleScheme getScheme() {
-        return new deleteApplicationModule_resultTupleScheme();
+    private static class terminateExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public terminateExperiment_resultTupleScheme getScheme() {
+        return new terminateExperiment_resultTupleScheme();
       }
     }
 
-    private static class deleteApplicationModule_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<deleteApplicationModule_result> {
+    private static class terminateExperiment_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<terminateExperiment_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, deleteApplicationModule_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, terminateExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet optionals = new java.util.BitSet();
-        if (struct.isSetSuccess()) {
+        if (struct.isSetIre()) {
           optionals.set(0);
         }
-        if (struct.isSetIre()) {
+        if (struct.isSetEnf()) {
           optionals.set(1);
         }
         if (struct.isSetAce()) {
@@ -110917,12 +103505,12 @@ public class Airavata {
           optionals.set(4);
         }
         oprot.writeBitSet(optionals, 5);
-        if (struct.isSetSuccess()) {
-          oprot.writeBool(struct.success);
-        }
         if (struct.isSetIre()) {
           struct.ire.write(oprot);
         }
+        if (struct.isSetEnf()) {
+          struct.enf.write(oprot);
+        }
         if (struct.isSetAce()) {
           struct.ace.write(oprot);
         }
@@ -110935,18 +103523,19 @@ public class Airavata {
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, deleteApplicationModule_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, terminateExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
-          struct.success = iprot.readBool();
-          struct.setSuccessIsSet(true);
-        }
-        if (incoming.get(1)) {
           struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
           struct.ire.read(iprot);
           struct.setIreIsSet(true);
         }
+        if (incoming.get(1)) {
+          struct.enf = new org.apache.airavata.model.error.ExperimentNotFoundException();
+          struct.enf.read(iprot);
+          struct.setEnfIsSet(true);
+        }
         if (incoming.get(2)) {
           struct.ace = new org.apache.airavata.model.error.AiravataClientException();
           struct.ace.read(iprot);
@@ -110970,25 +103559,25 @@ public class Airavata {
     }
   }
 
-  public static class registerApplicationDeployment_args implements org.apache.thrift.TBase<registerApplicationDeployment_args, registerApplicationDeployment_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerApplicationDeployment_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerApplicationDeployment_args");
+  public static class registerApplicationModule_args implements org.apache.thrift.TBase<registerApplicationModule_args, registerApplicationModule_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerApplicationModule_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerApplicationModule_args");
 
     private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
     private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField APPLICATION_DEPLOYMENT_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationDeployment", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+    private static final org.apache.thrift.protocol.TField APPLICATION_MODULE_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationModule", org.apache.thrift.protocol.TType.STRUCT, (short)3);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerApplicationDeployment_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerApplicationDeployment_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerApplicationModule_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerApplicationModule_argsTupleSchemeFactory();
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
     public java.lang.String gatewayId; // required
-    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment; // required
+    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule; // 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 {
       AUTHZ_TOKEN((short)1, "authzToken"),
       GATEWAY_ID((short)2, "gatewayId"),
-      APPLICATION_DEPLOYMENT((short)3, "applicationDeployment");
+      APPLICATION_MODULE((short)3, "applicationModule");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -111007,8 +103596,8 @@ public class Airavata {
             return AUTHZ_TOKEN;
           case 2: // GATEWAY_ID
             return GATEWAY_ID;
-          case 3: // APPLICATION_DEPLOYMENT
-            return APPLICATION_DEPLOYMENT;
+          case 3: // APPLICATION_MODULE
+            return APPLICATION_MODULE;
           default:
             return null;
         }
@@ -111056,57 +103645,57 @@ public class Airavata {
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
       tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.APPLICATION_DEPLOYMENT, new org.apache.thrift.meta_data.FieldMetaData("applicationDeployment", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription.class)));
+      tmpMap.put(_Fields.APPLICATION_MODULE, new org.apache.thrift.meta_data.FieldMetaData("applicationModule", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(registerApplicationDeployment_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(registerApplicationModule_args.class, metaDataMap);
     }
 
-    public registerApplicationDeployment_args() {
+    public registerApplicationModule_args() {
     }
 
-    public registerApplicationDeployment_args(
+    public registerApplicationModule_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
       java.lang.String gatewayId,
-      org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment)
+      org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule)
     {
       this();
       this.authzToken = authzToken;
       this.gatewayId = gatewayId;
-      this.applicationDeployment = applicationDeployment;
+      this.applicationModule = applicationModule;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public registerApplicationDeployment_args(registerApplicationDeployment_args other) {
+    public registerApplicationModule_args(registerApplicationModule_args other) {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
       if (other.isSetGatewayId()) {
         this.gatewayId = other.gatewayId;
       }
-      if (other.isSetApplicationDeployment()) {
-        this.applicationDeployment = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription(other.applicationDeployment);
+      if (other.isSetApplicationModule()) {
+        this.applicationModule = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule(other.applicationModule);
       }
     }
 
-    public registerApplicationDeployment_args deepCopy() {
-      return new registerApplicationDeployment_args(this);
+    public registerApplicationModule_args deepCopy() {
+      return new registerApplicationModule_args(this);
     }
 
     @Override
     public void clear() {
       this.authzToken = null;
       this.gatewayId = null;
-      this.applicationDeployment = null;
+      this.applicationModule = null;
     }
 
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public registerApplicationDeployment_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public registerApplicationModule_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -111130,7 +103719,7 @@ public class Airavata {
       return this.gatewayId;
     }
 
-    public registerApplicationDeployment_args setGatewayId(java.lang.String gatewayId) {
+    public registerApplicationModule_args setGatewayId(java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -111150,27 +103739,27 @@ public class Airavata {
       }
     }
 
-    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription getApplicationDeployment() {
-      return this.applicationDeployment;
+    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule getApplicationModule() {
+      return this.applicationModule;
     }
 
-    public registerApplicationDeployment_args setApplicationDeployment(org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) {
-      this.applicationDeployment = applicationDeployment;
+    public registerApplicationModule_args setApplicationModule(org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) {
+      this.applicationModule = applicationModule;
       return this;
     }
 
-    public void unsetApplicationDeployment() {
-      this.applicationDeployment = null;
+    public void unsetApplicationModule() {
+      this.applicationModule = null;
     }
 
-    /** Returns true if field applicationDeployment is set (has been assigned a value) and false otherwise */
-    public boolean isSetApplicationDeployment() {
-      return this.applicationDeployment != null;
+    /** Returns true if field applicationModule is set (has been assigned a value) and false otherwise */
+    public boolean isSetApplicationModule() {
+      return this.applicationModule != null;
     }
 
-    public void setApplicationDeploymentIsSet(boolean value) {
+    public void setApplicationModuleIsSet(boolean value) {
       if (!value) {
-        this.applicationDeployment = null;
+        this.applicationModule = null;
       }
     }
 
@@ -111192,11 +103781,11 @@ public class Airavata {
         }
         break;
 
-      case APPLICATION_DEPLOYMENT:
+      case APPLICATION_MODULE:
         if (value == null) {
-          unsetApplicationDeployment();
+          unsetApplicationModule();
         } else {
-          setApplicationDeployment((org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription)value);
+          setApplicationModule((org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule)value);
         }
         break;
 
@@ -111211,8 +103800,8 @@ public class Airavata {
       case GATEWAY_ID:
         return getGatewayId();
 
-      case APPLICATION_DEPLOYMENT:
-        return getApplicationDeployment();
+      case APPLICATION_MODULE:
+        return getApplicationModule();
 
       }
       throw new java.lang.IllegalStateException();
@@ -111229,8 +103818,8 @@ public class Airavata {
         return isSetAuthzToken();
       case GATEWAY_ID:
         return isSetGatewayId();
-      case APPLICATION_DEPLOYMENT:
-        return isSetApplicationDeployment();
+      case APPLICATION_MODULE:
+        return isSetApplicationModule();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -111239,12 +103828,12 @@ public class Airavata {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof registerApplicationDeployment_args)
-        return this.equals((registerApplicationDeployment_args)that);
+      if (that instanceof registerApplicationModule_args)
+        return this.equals((registerApplicationModule_args)that);
       return false;
     }
 
-    public boolean equals(registerApplicationDeployment_args that) {
+    public boolean equals(registerApplicationModule_args that) {
       if (that == null)
         return false;
       if (this == that)
@@ -111268,12 +103857,12 @@ public class Airavata {
           return false;
       }
 
-      boolean this_present_applicationDeployment = true && this.isSetApplicationDeployment();
-      boolean that_present_applicationDeployment = true && that.isSetApplicationDeployment();
-      if (this_present_applicationDeployment || that_present_applicationDeployment) {
-        if (!(this_present_applicationDeployment && that_present_applicationDeployment))
+      boolean this_present_applicationModule = true && this.isSetApplicationModule();
+      boolean that_present_applicationModule = true && that.isSetApplicationModule();
+      if (this_present_applicationModule || that_present_applicationModule) {
+        if (!(this_present_applicationModule && that_present_applicationModule))
           return false;
-        if (!this.applicationDeployment.equals(that.applicationDeployment))
+        if (!this.applicationModule.equals(that.applicationModule))
           return false;
       }
 
@@ -111292,15 +103881,15 @@ public class Airavata {
       if (isSetGatewayId())
         hashCode = hashCode * 8191 + gatewayId.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetApplicationDeployment()) ? 131071 : 524287);
-      if (isSetApplicationDeployment())
-        hashCode = hashCode * 8191 + applicationDeployment.hashCode();
+      hashCode = hashCode * 8191 + ((isSetApplicationModule()) ? 131071 : 524287);
+      if (isSetApplicationModule())
+        hashCode = hashCode * 8191 + applicationModule.hashCode();
 
       return hashCode;
     }
 
     @Override
-    public int compareTo(registerApplicationDeployment_args other) {
+    public int compareTo(registerApplicationModule_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -111327,12 +103916,12 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetApplicationDeployment()).compareTo(other.isSetApplicationDeployment());
+      lastComparison = java.lang.Boolean.valueOf(isSetApplicationModule()).compareTo(other.isSetApplicationModule());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetApplicationDeployment()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.applicationDeployment, other.applicationDeployment);
+      if (isSetApplicationModule()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.applicationModule, other.applicationModule);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -111354,7 +103943,7 @@ public class Airavata {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("registerApplicationDeployment_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("registerApplicationModule_args(");
       boolean first = true;
 
       sb.append("authzToken:");
@@ -111373,11 +103962,11 @@ public class Airavata {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("applicationDeployment:");
-      if (this.applicationDeployment == null) {
+      sb.append("applicationModule:");
+      if (this.applicationModule == null) {
         sb.append("null");
       } else {
-        sb.append(this.applicationDeployment);
+        sb.append(this.applicationModule);
       }
       first = false;
       sb.append(")");
@@ -111392,15 +103981,15 @@ public class Airavata {
       if (gatewayId == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
       }
-      if (applicationDeployment == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'applicationDeployment' was not present! Struct: " + toString());
+      if (applicationModule == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'applicationModule' was not present! Struct: " + toString());
       }
       // check for sub-struct validity
       if (authzToken != null) {
         authzToken.validate();
       }
-      if (applicationDeployment != null) {
-        applicationDeployment.validate();
+      if (applicationModule != null) {
+        applicationModule.validate();
       }
     }
 
@@ -111420,15 +104009,15 @@ public class Airavata {
       }
     }
 
-    private static class registerApplicationDeployment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public registerApplicationDeployment_argsStandardScheme getScheme() {
-        return new registerApplicationDeployment_argsStandardScheme();
+    private static class registerApplicationModule_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public registerApplicationModule_argsStandardScheme getScheme() {
+        return new registerApplicationModule_argsStandardScheme();
       }
     }
 
-    private static class registerApplicationDeployment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerApplicationDeployment_args> {
+    private static class registerApplicationModule_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerApplicationModule_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, registerApplicationDeployment_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, registerApplicationModule_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -111455,11 +104044,11 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 3: // APPLICATION_DEPLOYMENT
+            case 3: // APPLICATION_MODULE
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.applicationDeployment = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription();
-                struct.applicationDeployment.read(iprot);
-                struct.setApplicationDeploymentIsSet(true);
+                struct.applicationModule = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule();
+                struct.applicationModule.read(iprot);
+                struct.setApplicationModuleIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -111475,7 +104064,7 @@ public class Airavata {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, registerApplicationDeployment_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, registerApplicationModule_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -111489,9 +104078,9 @@ public class Airavata {
           oprot.writeString(struct.gatewayId);
           oprot.writeFieldEnd();
         }
-        if (struct.applicationDeployment != null) {
-          oprot.writeFieldBegin(APPLICATION_DEPLOYMENT_FIELD_DESC);
-          struct.applicationDeployment.write(oprot);
+        if (struct.applicationModule != null) {
+          oprot.writeFieldBegin(APPLICATION_MODULE_FIELD_DESC);
+          struct.applicationModule.write(oprot);
           oprot.writeFieldEnd();
         }
         oprot.writeFieldStop();
@@ -111500,33 +104089,33 @@ public class Airavata {
 
     }
 
-    private static class registerApplicationDeployment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public registerApplicationDeployment_argsTupleScheme getScheme() {
-        return new registerApplicationDeployment_argsTupleScheme();
+    private static class registerApplicationModule_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public registerApplicationModule_argsTupleScheme getScheme() {
+        return new registerApplicationModule_argsTupleScheme();
       }
     }
 
-    private static class registerApplicationDeployment_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<registerApplicationDeployment_args> {
+    private static class registerApplicationModule_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<registerApplicationModule_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, registerApplicationDeployment_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, registerApplicationModule_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken.write(oprot);
         oprot.writeString(struct.gatewayId);
-        struct.applicationDeployment.write(oprot);
+        struct.applicationModule.write(oprot);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, registerApplicationDeployment_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, registerApplicationModule_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
         struct.gatewayId = iprot.readString();
         struct.setGatewayIdIsSet(true);
-        struct.applicationDeployment = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription();
-        struct.applicationDeployment.read(iprot);
-        struct.setApplicationDeploymentIsSet(true);
+        struct.applicationModule = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule();
+        struct.applicationModule.read(iprot);
+        struct.setApplicationModuleIsSet(true);
       }
     }
 
@@ -111535,8 +104124,8 @@ public class Airavata {
     }
   }
 
-  public static class registerApplicationDeployment_result implements org.apache.thrift.TBase<registerApplicationDeployment_result, registerApplicationDeployment_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerApplicationDeployment_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerApplicationDeployment_result");
+  public static class registerApplicationModule_result implements org.apache.thrift.TBase<registerApplicationModule_result, registerApplicationModule_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerApplicationModule_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerApplicationModule_result");
 
     private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
@@ -111544,8 +104133,8 @@ public class Airavata {
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
     private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)4);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerApplicationDeployment_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerApplicationDeployment_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerApplicationModule_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerApplicationModule_resultTupleSchemeFactory();
 
     public java.lang.String success; // required
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
@@ -111638,13 +104227,13 @@ public class Airavata {
       tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.AuthorizationException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(registerApplicationDeployment_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(registerApplicationModule_result.class, metaDataMap);
     }
 
-    public registerApplicationDeployment_result() {
+    public registerApplicationModule_result() {
     }
 
-    public registerApplicationDeployment_result(
+    public registerApplicationModule_result(
       java.lang.String success,
... 95643 lines suppressed ...

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

[airavata] 10/13: Adding SecurityCheck annotation

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

smarru pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit a7f24b623f73f1cd217b830249c3590ac6715d55
Author: Sachin Kariyattin <sa...@gmail.com>
AuthorDate: Tue Dec 5 01:32:01 2017 -0500

    Adding SecurityCheck annotation
---
 .../airavata/service/profile/handlers/GroupManagerServiceHandler.java  | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/GroupManagerServiceHandler.java b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/GroupManagerServiceHandler.java
index 1c2a656..7a57f52 100644
--- a/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/GroupManagerServiceHandler.java
+++ b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/GroupManagerServiceHandler.java
@@ -191,6 +191,7 @@ public class GroupManagerServiceHandler implements GroupManagerService.Iface {
     }
 
     @Override
+    @SecurityCheck
     public boolean removeGroupAdmins(AuthzToken authzToken, String groupId, List<String> adminIds) throws GroupManagerServiceException, AuthorizationException, TException {
         try {
             SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
@@ -206,6 +207,7 @@ public class GroupManagerServiceHandler implements GroupManagerService.Iface {
     }
 
     @Override
+    @SecurityCheck
     public boolean hasAdminAccess(AuthzToken authzToken, String groupId, String adminId) throws GroupManagerServiceException, AuthorizationException, TException {
         try {
             SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
@@ -221,6 +223,7 @@ public class GroupManagerServiceHandler implements GroupManagerService.Iface {
     }
 
     @Override
+    @SecurityCheck
     public boolean hasOwnerAccess(AuthzToken authzToken, String groupId, String ownerId) throws GroupManagerServiceException, AuthorizationException, TException {
         try {
             SharingRegistryService.Client sharingClient = sharingClientPool.getResource();

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

[airavata] 06/13: Removing hardcoded project version from pom

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

smarru pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit ea0eb0d79a4d13eb02d687c86381466a3aae39d9
Author: Sachin Kariyattin <sa...@gmail.com>
AuthorDate: Mon Dec 4 21:08:24 2017 -0500

    Removing hardcoded project version from pom
---
 airavata-services/profile-service/profile-service-server/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/airavata-services/profile-service/profile-service-server/pom.xml b/airavata-services/profile-service/profile-service-server/pom.xml
index 2215cbc..9e034c7 100644
--- a/airavata-services/profile-service/profile-service-server/pom.xml
+++ b/airavata-services/profile-service/profile-service-server/pom.xml
@@ -57,7 +57,7 @@
         <dependency>
             <groupId>org.apache.airavata</groupId>
             <artifactId>airavata-sharing-registry-stubs</artifactId>
-            <version>0.17-SNAPSHOT</version>
+            <version>${project.version}</version>
         </dependency>
     </dependencies>
     

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

[airavata] 01/13: Initial commit for the pull request

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

smarru pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit bc5d4c87f35984d1d43145938d5b2c44b319c505
Author: Sachin Kariyattin <sa...@gmail.com>
AuthorDate: Sun Dec 3 00:39:15 2017 -0500

    Initial commit for the pull request
---
 airavata-services/profile-service/README | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/airavata-services/profile-service/README b/airavata-services/profile-service/README
index d8471f4..fe0558e 100644
--- a/airavata-services/profile-service/README
+++ b/airavata-services/profile-service/README
@@ -68,6 +68,8 @@ List<UserProfile> getAllUserProfilesInGateway(AuthzToken authzToken, String gate
 
 boolean doesUserExist(AuthzToken authzToken, String userId, String gatewayId)
 
+//TODO Add group related methods
+
 
 ## profile-service-stubs
 

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

[airavata] 11/13: Using regular client instead of ThriftClientPool

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

smarru pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit f51745f19215fafaa81cec95990459c629629dfd
Author: Sachin Kariyattin <sa...@gmail.com>
AuthorDate: Tue Dec 5 14:44:51 2017 -0500

    Using regular client instead of ThriftClientPool
---
 .../handlers/GroupManagerServiceHandler.java       |  48 +++---
 .../service/profile/utils/ThriftClientPool.java    | 176 ---------------------
 2 files changed, 23 insertions(+), 201 deletions(-)

diff --git a/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/GroupManagerServiceHandler.java b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/GroupManagerServiceHandler.java
index 7a57f52..208c59e 100644
--- a/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/GroupManagerServiceHandler.java
+++ b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/GroupManagerServiceHandler.java
@@ -1,5 +1,6 @@
 package org.apache.airavata.service.profile.handlers;
 
+import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.utils.Constants;
 import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.airavata.model.error.AuthorizationException;
@@ -7,12 +8,12 @@ import org.apache.airavata.model.group.GroupModel;
 import org.apache.airavata.model.security.AuthzToken;
 import org.apache.airavata.service.profile.groupmanager.cpi.GroupManagerService;
 import org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException;
-import org.apache.airavata.service.profile.utils.ThriftClientPool;
 import org.apache.airavata.service.security.interceptor.SecurityCheck;
+import org.apache.airavata.sharing.registry.client.SharingRegistryServiceClientFactory;
 import org.apache.airavata.sharing.registry.models.GroupType;
+import org.apache.airavata.sharing.registry.models.SharingRegistryException;
 import org.apache.airavata.sharing.registry.models.UserGroup;
 import org.apache.airavata.sharing.registry.service.cpi.SharingRegistryService;
-import org.apache.commons.pool.impl.GenericObjectPool;
 import org.apache.thrift.TException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -24,21 +25,8 @@ public class GroupManagerServiceHandler implements GroupManagerService.Iface {
 
     private static final Logger logger = LoggerFactory.getLogger(GroupManagerServiceHandler.class);
 
-    private ThriftClientPool<SharingRegistryService.Client> sharingClientPool;
-
     public GroupManagerServiceHandler() {
-        GenericObjectPool.Config poolConfig = new GenericObjectPool.Config();
-        poolConfig.maxActive = 100;
-        poolConfig.minIdle = 5;
-        poolConfig.whenExhaustedAction = GenericObjectPool.WHEN_EXHAUSTED_BLOCK;
-        poolConfig.testOnBorrow = true;
-        poolConfig.testWhileIdle = true;
-        poolConfig.numTestsPerEvictionRun = 10;
-        poolConfig.maxWait = 3000;
-
-        sharingClientPool = new ThriftClientPool<>(
-                tProtocol -> new SharingRegistryService.Client(tProtocol), poolConfig, ServerSettings.getSharingRegistryHost(),
-                Integer.parseInt(ServerSettings.getSharingRegistryPort()));
+
     }
 
     @Override
@@ -46,7 +34,7 @@ public class GroupManagerServiceHandler implements GroupManagerService.Iface {
     public String createGroup(AuthzToken authzToken, GroupModel groupModel) throws GroupManagerServiceException, AuthorizationException, TException {
         try {
             //TODO Validations for authorization
-            SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
+            SharingRegistryService.Client sharingClient = getSharingRegistryServiceClient();
 
             UserGroup sharingUserGroup = new UserGroup();
             sharingUserGroup.setGroupId(UUID.randomUUID().toString());
@@ -73,7 +61,7 @@ public class GroupManagerServiceHandler implements GroupManagerService.Iface {
     public boolean updateGroup(AuthzToken authzToken, GroupModel groupModel) throws GroupManagerServiceException, AuthorizationException, TException {
         try {
             //TODO Validations for authorization
-            SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
+            SharingRegistryService.Client sharingClient = getSharingRegistryServiceClient();
 
             UserGroup sharingUserGroup = new UserGroup();
             sharingUserGroup.setGroupId(groupModel.getId());
@@ -100,7 +88,7 @@ public class GroupManagerServiceHandler implements GroupManagerService.Iface {
     public boolean deleteGroup(AuthzToken authzToken, String groupId, String ownerId) throws GroupManagerServiceException, AuthorizationException, TException {
         try {
             //TODO Validations for authorization
-            SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
+            SharingRegistryService.Client sharingClient = getSharingRegistryServiceClient();
 
             sharingClient.deleteGroup(authzToken.getClaimsMap().get(Constants.GATEWAY_ID), groupId);
             return true;
@@ -118,7 +106,7 @@ public class GroupManagerServiceHandler implements GroupManagerService.Iface {
     @SecurityCheck
     public GroupModel getGroup(AuthzToken authzToken, String groupId) throws GroupManagerServiceException, AuthorizationException, TException {
         try {
-            SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
+            SharingRegistryService.Client sharingClient = getSharingRegistryServiceClient();
             UserGroup userGroup = sharingClient.getGroup(authzToken.getClaimsMap().get(Constants.GATEWAY_ID), groupId);
 
             GroupModel groupModel = new GroupModel();
@@ -161,7 +149,7 @@ public class GroupManagerServiceHandler implements GroupManagerService.Iface {
     @SecurityCheck
     public boolean transferGroupOwnership(AuthzToken authzToken, String groupId, String newOwnerId) throws GroupManagerServiceException, AuthorizationException, TException {
        try{
-           SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
+           SharingRegistryService.Client sharingClient = getSharingRegistryServiceClient();
            return sharingClient.transferGroupOwnership(authzToken.getClaimsMap().get(Constants.GATEWAY_ID), groupId, newOwnerId);
        }
        catch (Exception e) {
@@ -178,7 +166,7 @@ public class GroupManagerServiceHandler implements GroupManagerService.Iface {
     @SecurityCheck
     public boolean addGroupAdmins(AuthzToken authzToken, String groupId, List<String> adminIds) throws GroupManagerServiceException, AuthorizationException, TException {
         try {
-            SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
+            SharingRegistryService.Client sharingClient = getSharingRegistryServiceClient();
             return sharingClient.addGroupAdmins(authzToken.getClaimsMap().get(Constants.GATEWAY_ID), groupId, adminIds);
         }
         catch (Exception e) {
@@ -194,7 +182,7 @@ public class GroupManagerServiceHandler implements GroupManagerService.Iface {
     @SecurityCheck
     public boolean removeGroupAdmins(AuthzToken authzToken, String groupId, List<String> adminIds) throws GroupManagerServiceException, AuthorizationException, TException {
         try {
-            SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
+            SharingRegistryService.Client sharingClient = getSharingRegistryServiceClient();
             return sharingClient.removeGroupAdmins(authzToken.getClaimsMap().get(Constants.GATEWAY_ID), groupId, adminIds);
         }
         catch (Exception e) {
@@ -210,7 +198,7 @@ public class GroupManagerServiceHandler implements GroupManagerService.Iface {
     @SecurityCheck
     public boolean hasAdminAccess(AuthzToken authzToken, String groupId, String adminId) throws GroupManagerServiceException, AuthorizationException, TException {
         try {
-            SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
+            SharingRegistryService.Client sharingClient = getSharingRegistryServiceClient();
             return sharingClient.hasAdminAccess(authzToken.getClaimsMap().get(Constants.GATEWAY_ID), groupId, adminId);
         }
         catch (Exception e) {
@@ -226,7 +214,7 @@ public class GroupManagerServiceHandler implements GroupManagerService.Iface {
     @SecurityCheck
     public boolean hasOwnerAccess(AuthzToken authzToken, String groupId, String ownerId) throws GroupManagerServiceException, AuthorizationException, TException {
         try {
-            SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
+            SharingRegistryService.Client sharingClient = getSharingRegistryServiceClient();
             return sharingClient.hasOwnerAccess(authzToken.getClaimsMap().get(Constants.GATEWAY_ID), groupId, ownerId);
         }
         catch (Exception e) {
@@ -237,4 +225,14 @@ public class GroupManagerServiceHandler implements GroupManagerService.Iface {
             throw exception;
         }
     }
+
+    private SharingRegistryService.Client getSharingRegistryServiceClient() throws TException, ApplicationSettingsException {
+        final int serverPort = Integer.parseInt(ServerSettings.getSharingRegistryPort());
+        final String serverHost = ServerSettings.getSharingRegistryHost();
+        try {
+            return SharingRegistryServiceClientFactory.createSharingRegistryClient(serverHost, serverPort);
+        } catch (SharingRegistryException e) {
+            throw new TException("Unable to create sharing registry client...", e);
+        }
+    }
 }
diff --git a/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/utils/ThriftClientPool.java b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/utils/ThriftClientPool.java
deleted file mode 100644
index 1adf9b7..0000000
--- a/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/utils/ThriftClientPool.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/**
- *
- * 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.
- */
-package org.apache.airavata.service.profile.utils;
-
-import org.apache.commons.pool.BasePoolableObjectFactory;
-import org.apache.commons.pool.impl.GenericObjectPool;
-import org.apache.thrift.TServiceClient;
-import org.apache.thrift.protocol.TBinaryProtocol;
-import org.apache.thrift.protocol.TProtocol;
-import org.apache.thrift.transport.TSocket;
-import org.apache.thrift.transport.TTransport;
-import org.apache.thrift.transport.TTransportException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ThriftClientPool<T extends TServiceClient> implements
-        AutoCloseable {
-
-    private static final Logger LOGGER = LoggerFactory
-            .getLogger(ThriftClientPool.class);
-
-    private final GenericObjectPool internalPool;
-
-    public ThriftClientPool(ClientFactory<T> clientFactory,
-                            GenericObjectPool.Config poolConfig, String host, int port) {
-        this(clientFactory, new BinaryOverSocketProtocolFactory(host, port),
-                poolConfig);
-    }
-
-    public ThriftClientPool(ClientFactory<T> clientFactory,
-                            ProtocolFactory protocolFactory, GenericObjectPool.Config poolConfig) {
-        this.internalPool = new GenericObjectPool(new ThriftClientFactory(
-                clientFactory, protocolFactory), poolConfig);
-    }
-
-    class ThriftClientFactory extends BasePoolableObjectFactory {
-
-        private ClientFactory<T> clientFactory;
-        private ProtocolFactory protocolFactory;
-
-        public ThriftClientFactory(ClientFactory<T> clientFactory,
-                                   ProtocolFactory protocolFactory) {
-            this.clientFactory = clientFactory;
-            this.protocolFactory = protocolFactory;
-        }
-
-        @Override
-        public T makeObject() throws Exception {
-            try {
-                TProtocol protocol = protocolFactory.make();
-                return clientFactory.make(protocol);
-            } catch (Exception e) {
-                LOGGER.warn(e.getMessage(), e);
-                throw new ThriftClientException(
-                        "Can not make a new object for pool", e);
-            }
-        }
-
-        public void destroyObject(T obj) throws Exception {
-            if (obj.getOutputProtocol().getTransport().isOpen()) {
-                obj.getOutputProtocol().getTransport().close();
-            }
-            if (obj.getInputProtocol().getTransport().isOpen()) {
-                obj.getInputProtocol().getTransport().close();
-            }
-        }
-    }
-
-    public static interface ClientFactory<T> {
-
-        T make(TProtocol tProtocol);
-    }
-
-    public static interface ProtocolFactory {
-
-        TProtocol make();
-    }
-
-    public static class BinaryOverSocketProtocolFactory implements
-            ProtocolFactory {
-
-        private String host;
-        private int port;
-
-        public BinaryOverSocketProtocolFactory(String host, int port) {
-            this.host = host;
-            this.port = port;
-        }
-
-        public TProtocol make() {
-            TTransport transport = new TSocket(host, port);
-            try {
-                transport.open();
-            } catch (TTransportException e) {
-                LOGGER.warn(e.getMessage(), e);
-                throw new ThriftClientException("Can not make protocol", e);
-            }
-            return new TBinaryProtocol(transport);
-        }
-    }
-
-    public static class ThriftClientException extends RuntimeException {
-
-        // Fucking Eclipse
-        private static final long serialVersionUID = -2275296727467192665L;
-
-        public ThriftClientException(String message, Exception e) {
-            super(message, e);
-        }
-
-    }
-
-    public T getResource() {
-        try {
-            return (T) internalPool.borrowObject();
-        } catch (Exception e) {
-            throw new ThriftClientException(
-                    "Could not get a resource from the pool", e);
-        }
-    }
-
-    public void returnResourceObject(T resource) {
-        try {
-            internalPool.returnObject(resource);
-        } catch (Exception e) {
-            throw new ThriftClientException(
-                    "Could not return the resource to the pool", e);
-        }
-    }
-
-    public void returnBrokenResource(T resource) {
-        returnBrokenResourceObject(resource);
-    }
-
-    public void returnResource(T resource) {
-        returnResourceObject(resource);
-    }
-
-    protected void returnBrokenResourceObject(T resource) {
-        try {
-            internalPool.invalidateObject(resource);
-        } catch (Exception e) {
-            throw new ThriftClientException(
-                    "Could not return the resource to the pool", e);
-        }
-    }
-
-    public void destroy() {
-        close();
-    }
-
-    public void close() {
-        try {
-            internalPool.close();
-        } catch (Exception e) {
-            throw new ThriftClientException("Could not destroy the pool", e);
-        }
-    }
-}
\ No newline at end of file

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

[airavata] 12/13: Adding tests for group roles

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

smarru pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit 0fb711cb3ee1b6c85ad9d04ba75d37dcbd584014
Author: Sachin Kariyattin <sa...@gmail.com>
AuthorDate: Tue Dec 5 23:07:08 2017 -0500

    Adding tests for group roles
---
 .../registry/SharingRegistryServerHandlerTest.java     | 18 +++++++++++++++++-
 .../sharing/registry/SharingRegistryServiceTest.java   | 15 +++++++++++++++
 2 files changed, 32 insertions(+), 1 deletion(-)

diff --git a/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServerHandlerTest.java b/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServerHandlerTest.java
index 0e81e68..bddb0b9 100644
--- a/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServerHandlerTest.java
+++ b/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServerHandlerTest.java
@@ -19,7 +19,7 @@
  */
 package org.apache.airavata.sharing.registry;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.sharing.registry.models.*;
 import org.apache.airavata.sharing.registry.server.SharingRegistryServerHandler;
@@ -138,6 +138,22 @@ public class SharingRegistryServerHandlerTest {
         Assert.assertTrue(sharingRegistryServerHandler.getGroupMembersOfTypeGroup(domainId, groupId1, 0, 10).size() == 1);
         Assert.assertTrue(sharingRegistryServerHandler.getGroupMembersOfTypeUser(domainId, groupId2, 0, 10).size() == 2);
 
+        // Group roles tests
+
+        // user has owner access
+        Assert.assertTrue(sharingRegistryServerHandler.hasOwnerAccess(domainId, groupId1, userId1));
+
+        // user has admin access
+        Assert.assertTrue(sharingRegistryServerHandler.addGroupAdmins(domainId, groupId1, Arrays.asList(userId2)));
+        Assert.assertTrue(sharingRegistryServerHandler.hasAdminAccess(domainId, groupId1, userId2));
+        Assert.assertTrue(sharingRegistryServerHandler.removeGroupAdmins(domainId, groupId1, Arrays.asList(userId2)));
+        Assert.assertFalse(sharingRegistryServerHandler.hasAdminAccess(domainId, groupId1, userId2));
+
+        // transfer group ownership
+        Assert.assertTrue(sharingRegistryServerHandler.transferGroupOwnership(domainId, groupId1, userId2));
+        Assert.assertTrue(sharingRegistryServerHandler.hasOwnerAccess(domainId, groupId1, userId2));
+        Assert.assertTrue(sharingRegistryServerHandler.transferGroupOwnership(domainId, groupId1, userId1));
+        Assert.assertFalse(sharingRegistryServerHandler.hasOwnerAccess(domainId, groupId1, userId2));
 
         //Creating permission types
         PermissionType permissionType1 = new PermissionType();
diff --git a/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServiceTest.java b/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServiceTest.java
index 0957b87..027399e 100644
--- a/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServiceTest.java
+++ b/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServiceTest.java
@@ -179,6 +179,21 @@ public class SharingRegistryServiceTest {
 
         sharingServiceClient.addChildGroupsToParentGroup(domainId, Arrays.asList("test-group-2"), "test-group-1");
 
+        //Group roles
+        Assert.assertTrue(sharingServiceClient.hasOwnerAccess(domainId, "test-group-1", "test-user-1"));
+
+        // user has admin access
+        Assert.assertTrue(sharingServiceClient.addGroupAdmins(domainId, "test-group-1", Arrays.asList("test-user-2")));
+        Assert.assertTrue(sharingServiceClient.hasAdminAccess(domainId, "test-group-1", "test-user-2"));
+        Assert.assertTrue(sharingServiceClient.removeGroupAdmins(domainId, "test-group-1", Arrays.asList("test-user-2")));
+        Assert.assertFalse(sharingServiceClient.hasAdminAccess(domainId, "test-group-1", "test-user-2"));
+
+        // transfer group ownership
+        Assert.assertTrue(sharingServiceClient.transferGroupOwnership(domainId, "test-group-1", "test-user-2"));
+        Assert.assertTrue(sharingServiceClient.hasOwnerAccess(domainId, "test-group-1", "test-user-2"));
+        Assert.assertTrue(sharingServiceClient.transferGroupOwnership(domainId, "test-group-1", "test-user-1"));
+        Assert.assertFalse(sharingServiceClient.hasOwnerAccess(domainId, "test-group-1", "test-user-2"));
+
         PermissionType permissionType1 = new PermissionType();
         //required
         permissionType1.setPermissionTypeId("READ");

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

[airavata] 04/13: Using autztoken to get gateway ID

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

smarru pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit 5f65d4c08a9796389019c884b68d1a42c9bc0b49
Author: Sachin Kariyattin <sa...@gmail.com>
AuthorDate: Mon Dec 4 20:56:13 2017 -0500

    Using autztoken to get gateway ID
---
 .../handlers/GroupManagerServiceHandler.java       |  20 +-
 .../groupmanager/cpi/GroupManagerService.java      | 700 +++------------------
 .../group-manager/group-manager-cpi.thrift         |  10 +-
 3 files changed, 105 insertions(+), 625 deletions(-)

diff --git a/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/GroupManagerServiceHandler.java b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/GroupManagerServiceHandler.java
index 7d4b87d..a02f03a 100644
--- a/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/GroupManagerServiceHandler.java
+++ b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/GroupManagerServiceHandler.java
@@ -159,10 +159,10 @@ public class GroupManagerServiceHandler implements GroupManagerService.Iface {
 
     @Override
     @SecurityCheck
-    public boolean transferGroupOwnership(AuthzToken authzToken, String domainId, String groupId, String newOwnerId) throws GroupManagerServiceException, AuthorizationException, TException {
+    public boolean transferGroupOwnership(AuthzToken authzToken, String groupId, String newOwnerId) throws GroupManagerServiceException, AuthorizationException, TException {
        try{
            SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
-           return sharingClient.transferGroupOwnership(domainId, groupId, newOwnerId);
+           return sharingClient.transferGroupOwnership(authzToken.getClaimsMap().get(Constants.GATEWAY_ID), groupId, newOwnerId);
        }
        catch (Exception e) {
            String msg = "Error Transferring Group Ownership";
@@ -176,10 +176,10 @@ public class GroupManagerServiceHandler implements GroupManagerService.Iface {
 
     @Override
     @SecurityCheck
-    public boolean addGroupAdmins(AuthzToken authzToken, String domainId, String groupId, List<String> adminIds) throws GroupManagerServiceException, AuthorizationException, TException {
+    public boolean addGroupAdmins(AuthzToken authzToken, String groupId, List<String> adminIds) throws GroupManagerServiceException, AuthorizationException, TException {
         try {
             SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
-            return sharingClient.addGroupAdmins(domainId, groupId, adminIds);
+            return sharingClient.addGroupAdmins(authzToken.getClaimsMap().get(Constants.GATEWAY_ID), groupId, adminIds);
         }
         catch (Exception e) {
             String msg = "Error Adding Admins to Group. Group ID: " + groupId;
@@ -191,10 +191,10 @@ public class GroupManagerServiceHandler implements GroupManagerService.Iface {
     }
 
     @Override
-    public boolean removeGroupAdmins(AuthzToken authzToken, String domainId, String groupId, List<String> adminIds) throws GroupManagerServiceException, AuthorizationException, TException {
+    public boolean removeGroupAdmins(AuthzToken authzToken, String groupId, List<String> adminIds) throws GroupManagerServiceException, AuthorizationException, TException {
         try {
             SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
-            return sharingClient.removeGroupAdmins(domainId, groupId, adminIds);
+            return sharingClient.removeGroupAdmins(authzToken.getClaimsMap().get(Constants.GATEWAY_ID), groupId, adminIds);
         }
         catch (Exception e) {
             String msg = "Error Removing Admins from the Group. Group ID: " + groupId;
@@ -206,10 +206,10 @@ public class GroupManagerServiceHandler implements GroupManagerService.Iface {
     }
 
     @Override
-    public boolean hasAdminAccess(AuthzToken authzToken, String domainId, String groupId, String adminId) throws GroupManagerServiceException, AuthorizationException, TException {
+    public boolean hasAdminAccess(AuthzToken authzToken, String groupId, String adminId) throws GroupManagerServiceException, AuthorizationException, TException {
         try {
             SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
-            return sharingClient.hasAdminAccess(domainId, groupId, adminId);
+            return sharingClient.hasAdminAccess(authzToken.getClaimsMap().get(Constants.GATEWAY_ID), groupId, adminId);
         }
         catch (Exception e) {
             String msg = "Error Checking Admin Access for the Group. Group ID: " + groupId + " Admin ID: " + adminId;
@@ -221,10 +221,10 @@ public class GroupManagerServiceHandler implements GroupManagerService.Iface {
     }
 
     @Override
-    public boolean hasOwnerAccess(AuthzToken authzToken, String domainId, String groupId, String ownerId) throws GroupManagerServiceException, AuthorizationException, TException {
+    public boolean hasOwnerAccess(AuthzToken authzToken, String groupId, String ownerId) throws GroupManagerServiceException, AuthorizationException, TException {
         try {
             SharingRegistryService.Client sharingClient = sharingClientPool.getResource();
-            return sharingClient.hasOwnerAccess(domainId, groupId, ownerId);
+            return sharingClient.hasOwnerAccess(authzToken.getClaimsMap().get(Constants.GATEWAY_ID), groupId, ownerId);
         }
         catch (Exception e) {
             String msg = "Error Checking Owner Access for the Group. Group ID: " + groupId + " Owner ID: " + ownerId;
diff --git a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/groupmanager/cpi/GroupManagerService.java b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/groupmanager/cpi/GroupManagerService.java
index 22cd705..f334d95 100644
--- a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/groupmanager/cpi/GroupManagerService.java
+++ b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/groupmanager/cpi/GroupManagerService.java
@@ -38,15 +38,15 @@ public class GroupManagerService {
 
     public java.util.List<org.apache.airavata.model.group.GroupModel> getAllGroupsUserBelongs(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userName) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public boolean transferGroupOwnership(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String newOwnerId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+    public boolean transferGroupOwnership(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String newOwnerId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public boolean addGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+    public boolean addGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public boolean removeGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+    public boolean removeGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public boolean hasAdminAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String adminId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+    public boolean hasAdminAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String adminId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public boolean hasOwnerAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String ownerId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+    public boolean hasOwnerAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String ownerId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
   }
 
@@ -62,15 +62,15 @@ public class GroupManagerService {
 
     public void getAllGroupsUserBelongs(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.group.GroupModel>> resultHandler) throws org.apache.thrift.TException;
 
-    public void transferGroupOwnership(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String newOwnerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
+    public void transferGroupOwnership(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String newOwnerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
 
-    public void addGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
+    public void addGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
 
-    public void removeGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
+    public void removeGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
 
-    public void hasAdminAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String adminId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
+    public void hasAdminAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String adminId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
 
-    public void hasOwnerAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String ownerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
+    public void hasOwnerAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String ownerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
 
   }
 
@@ -245,17 +245,16 @@ public class GroupManagerService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllGroupsUserBelongs failed: unknown result");
     }
 
-    public boolean transferGroupOwnership(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String newOwnerId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    public boolean transferGroupOwnership(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String newOwnerId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
-      send_transferGroupOwnership(authzToken, domainId, groupId, newOwnerId);
+      send_transferGroupOwnership(authzToken, groupId, newOwnerId);
       return recv_transferGroupOwnership();
     }
 
-    public void send_transferGroupOwnership(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String newOwnerId) throws org.apache.thrift.TException
+    public void send_transferGroupOwnership(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String newOwnerId) throws org.apache.thrift.TException
     {
       transferGroupOwnership_args args = new transferGroupOwnership_args();
       args.setAuthzToken(authzToken);
-      args.setDomainId(domainId);
       args.setGroupId(groupId);
       args.setNewOwnerId(newOwnerId);
       sendBase("transferGroupOwnership", args);
@@ -277,17 +276,16 @@ public class GroupManagerService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "transferGroupOwnership failed: unknown result");
     }
 
-    public boolean addGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    public boolean addGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
-      send_addGroupAdmins(authzToken, domainId, groupId, adminIds);
+      send_addGroupAdmins(authzToken, groupId, adminIds);
       return recv_addGroupAdmins();
     }
 
-    public void send_addGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.thrift.TException
+    public void send_addGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.thrift.TException
     {
       addGroupAdmins_args args = new addGroupAdmins_args();
       args.setAuthzToken(authzToken);
-      args.setDomainId(domainId);
       args.setGroupId(groupId);
       args.setAdminIds(adminIds);
       sendBase("addGroupAdmins", args);
@@ -309,17 +307,16 @@ public class GroupManagerService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addGroupAdmins failed: unknown result");
     }
 
-    public boolean removeGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    public boolean removeGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
-      send_removeGroupAdmins(authzToken, domainId, groupId, adminIds);
+      send_removeGroupAdmins(authzToken, groupId, adminIds);
       return recv_removeGroupAdmins();
     }
 
-    public void send_removeGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.thrift.TException
+    public void send_removeGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.thrift.TException
     {
       removeGroupAdmins_args args = new removeGroupAdmins_args();
       args.setAuthzToken(authzToken);
-      args.setDomainId(domainId);
       args.setGroupId(groupId);
       args.setAdminIds(adminIds);
       sendBase("removeGroupAdmins", args);
@@ -341,17 +338,16 @@ public class GroupManagerService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "removeGroupAdmins failed: unknown result");
     }
 
-    public boolean hasAdminAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String adminId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    public boolean hasAdminAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String adminId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
-      send_hasAdminAccess(authzToken, domainId, groupId, adminId);
+      send_hasAdminAccess(authzToken, groupId, adminId);
       return recv_hasAdminAccess();
     }
 
-    public void send_hasAdminAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String adminId) throws org.apache.thrift.TException
+    public void send_hasAdminAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String adminId) throws org.apache.thrift.TException
     {
       hasAdminAccess_args args = new hasAdminAccess_args();
       args.setAuthzToken(authzToken);
-      args.setDomainId(domainId);
       args.setGroupId(groupId);
       args.setAdminId(adminId);
       sendBase("hasAdminAccess", args);
@@ -373,17 +369,16 @@ public class GroupManagerService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "hasAdminAccess failed: unknown result");
     }
 
-    public boolean hasOwnerAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String ownerId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    public boolean hasOwnerAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String ownerId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
-      send_hasOwnerAccess(authzToken, domainId, groupId, ownerId);
+      send_hasOwnerAccess(authzToken, groupId, ownerId);
       return recv_hasOwnerAccess();
     }
 
-    public void send_hasOwnerAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String ownerId) throws org.apache.thrift.TException
+    public void send_hasOwnerAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String ownerId) throws org.apache.thrift.TException
     {
       hasOwnerAccess_args args = new hasOwnerAccess_args();
       args.setAuthzToken(authzToken);
-      args.setDomainId(domainId);
       args.setGroupId(groupId);
       args.setOwnerId(ownerId);
       sendBase("hasOwnerAccess", args);
@@ -601,22 +596,20 @@ public class GroupManagerService {
       }
     }
 
-    public void transferGroupOwnership(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String newOwnerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+    public void transferGroupOwnership(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String newOwnerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      transferGroupOwnership_call method_call = new transferGroupOwnership_call(authzToken, domainId, groupId, newOwnerId, resultHandler, this, ___protocolFactory, ___transport);
+      transferGroupOwnership_call method_call = new transferGroupOwnership_call(authzToken, groupId, newOwnerId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class transferGroupOwnership_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
       private org.apache.airavata.model.security.AuthzToken authzToken;
-      private java.lang.String domainId;
       private java.lang.String groupId;
       private java.lang.String newOwnerId;
-      public transferGroupOwnership_call(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String newOwnerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public transferGroupOwnership_call(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String newOwnerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.authzToken = authzToken;
-        this.domainId = domainId;
         this.groupId = groupId;
         this.newOwnerId = newOwnerId;
       }
@@ -625,7 +618,6 @@ public class GroupManagerService {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("transferGroupOwnership", org.apache.thrift.protocol.TMessageType.CALL, 0));
         transferGroupOwnership_args args = new transferGroupOwnership_args();
         args.setAuthzToken(authzToken);
-        args.setDomainId(domainId);
         args.setGroupId(groupId);
         args.setNewOwnerId(newOwnerId);
         args.write(prot);
@@ -642,22 +634,20 @@ public class GroupManagerService {
       }
     }
 
-    public void addGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+    public void addGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      addGroupAdmins_call method_call = new addGroupAdmins_call(authzToken, domainId, groupId, adminIds, resultHandler, this, ___protocolFactory, ___transport);
+      addGroupAdmins_call method_call = new addGroupAdmins_call(authzToken, groupId, adminIds, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class addGroupAdmins_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
       private org.apache.airavata.model.security.AuthzToken authzToken;
-      private java.lang.String domainId;
       private java.lang.String groupId;
       private java.util.List<java.lang.String> adminIds;
-      public addGroupAdmins_call(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public addGroupAdmins_call(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.authzToken = authzToken;
-        this.domainId = domainId;
         this.groupId = groupId;
         this.adminIds = adminIds;
       }
@@ -666,7 +656,6 @@ public class GroupManagerService {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addGroupAdmins", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addGroupAdmins_args args = new addGroupAdmins_args();
         args.setAuthzToken(authzToken);
-        args.setDomainId(domainId);
         args.setGroupId(groupId);
         args.setAdminIds(adminIds);
         args.write(prot);
@@ -683,22 +672,20 @@ public class GroupManagerService {
       }
     }
 
-    public void removeGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+    public void removeGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      removeGroupAdmins_call method_call = new removeGroupAdmins_call(authzToken, domainId, groupId, adminIds, resultHandler, this, ___protocolFactory, ___transport);
+      removeGroupAdmins_call method_call = new removeGroupAdmins_call(authzToken, groupId, adminIds, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class removeGroupAdmins_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
       private org.apache.airavata.model.security.AuthzToken authzToken;
-      private java.lang.String domainId;
       private java.lang.String groupId;
       private java.util.List<java.lang.String> adminIds;
-      public removeGroupAdmins_call(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public removeGroupAdmins_call(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.authzToken = authzToken;
-        this.domainId = domainId;
         this.groupId = groupId;
         this.adminIds = adminIds;
       }
@@ -707,7 +694,6 @@ public class GroupManagerService {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeGroupAdmins", org.apache.thrift.protocol.TMessageType.CALL, 0));
         removeGroupAdmins_args args = new removeGroupAdmins_args();
         args.setAuthzToken(authzToken);
-        args.setDomainId(domainId);
         args.setGroupId(groupId);
         args.setAdminIds(adminIds);
         args.write(prot);
@@ -724,22 +710,20 @@ public class GroupManagerService {
       }
     }
 
-    public void hasAdminAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String adminId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+    public void hasAdminAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String adminId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      hasAdminAccess_call method_call = new hasAdminAccess_call(authzToken, domainId, groupId, adminId, resultHandler, this, ___protocolFactory, ___transport);
+      hasAdminAccess_call method_call = new hasAdminAccess_call(authzToken, groupId, adminId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class hasAdminAccess_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
       private org.apache.airavata.model.security.AuthzToken authzToken;
-      private java.lang.String domainId;
       private java.lang.String groupId;
       private java.lang.String adminId;
-      public hasAdminAccess_call(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String adminId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public hasAdminAccess_call(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String adminId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.authzToken = authzToken;
-        this.domainId = domainId;
         this.groupId = groupId;
         this.adminId = adminId;
       }
@@ -748,7 +732,6 @@ public class GroupManagerService {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("hasAdminAccess", org.apache.thrift.protocol.TMessageType.CALL, 0));
         hasAdminAccess_args args = new hasAdminAccess_args();
         args.setAuthzToken(authzToken);
-        args.setDomainId(domainId);
         args.setGroupId(groupId);
         args.setAdminId(adminId);
         args.write(prot);
@@ -765,22 +748,20 @@ public class GroupManagerService {
       }
     }
 
-    public void hasOwnerAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String ownerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+    public void hasOwnerAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String ownerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      hasOwnerAccess_call method_call = new hasOwnerAccess_call(authzToken, domainId, groupId, ownerId, resultHandler, this, ___protocolFactory, ___transport);
+      hasOwnerAccess_call method_call = new hasOwnerAccess_call(authzToken, groupId, ownerId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class hasOwnerAccess_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
       private org.apache.airavata.model.security.AuthzToken authzToken;
-      private java.lang.String domainId;
       private java.lang.String groupId;
       private java.lang.String ownerId;
-      public hasOwnerAccess_call(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String domainId, java.lang.String groupId, java.lang.String ownerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public hasOwnerAccess_call(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String ownerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.authzToken = authzToken;
-        this.domainId = domainId;
         this.groupId = groupId;
         this.ownerId = ownerId;
       }
@@ -789,7 +770,6 @@ public class GroupManagerService {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("hasOwnerAccess", org.apache.thrift.protocol.TMessageType.CALL, 0));
         hasOwnerAccess_args args = new hasOwnerAccess_args();
         args.setAuthzToken(authzToken);
-        args.setDomainId(domainId);
         args.setGroupId(groupId);
         args.setOwnerId(ownerId);
         args.write(prot);
@@ -1010,7 +990,7 @@ public class GroupManagerService {
       public transferGroupOwnership_result getResult(I iface, transferGroupOwnership_args args) throws org.apache.thrift.TException {
         transferGroupOwnership_result result = new transferGroupOwnership_result();
         try {
-          result.success = iface.transferGroupOwnership(args.authzToken, args.domainId, args.groupId, args.newOwnerId);
+          result.success = iface.transferGroupOwnership(args.authzToken, args.groupId, args.newOwnerId);
           result.setSuccessIsSet(true);
         } catch (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
           result.gse = gse;
@@ -1042,7 +1022,7 @@ public class GroupManagerService {
       public addGroupAdmins_result getResult(I iface, addGroupAdmins_args args) throws org.apache.thrift.TException {
         addGroupAdmins_result result = new addGroupAdmins_result();
         try {
-          result.success = iface.addGroupAdmins(args.authzToken, args.domainId, args.groupId, args.adminIds);
+          result.success = iface.addGroupAdmins(args.authzToken, args.groupId, args.adminIds);
           result.setSuccessIsSet(true);
         } catch (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
           result.gse = gse;
@@ -1074,7 +1054,7 @@ public class GroupManagerService {
       public removeGroupAdmins_result getResult(I iface, removeGroupAdmins_args args) throws org.apache.thrift.TException {
         removeGroupAdmins_result result = new removeGroupAdmins_result();
         try {
-          result.success = iface.removeGroupAdmins(args.authzToken, args.domainId, args.groupId, args.adminIds);
+          result.success = iface.removeGroupAdmins(args.authzToken, args.groupId, args.adminIds);
           result.setSuccessIsSet(true);
         } catch (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
           result.gse = gse;
@@ -1106,7 +1086,7 @@ public class GroupManagerService {
       public hasAdminAccess_result getResult(I iface, hasAdminAccess_args args) throws org.apache.thrift.TException {
         hasAdminAccess_result result = new hasAdminAccess_result();
         try {
-          result.success = iface.hasAdminAccess(args.authzToken, args.domainId, args.groupId, args.adminId);
+          result.success = iface.hasAdminAccess(args.authzToken, args.groupId, args.adminId);
           result.setSuccessIsSet(true);
         } catch (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
           result.gse = gse;
@@ -1138,7 +1118,7 @@ public class GroupManagerService {
       public hasOwnerAccess_result getResult(I iface, hasOwnerAccess_args args) throws org.apache.thrift.TException {
         hasOwnerAccess_result result = new hasOwnerAccess_result();
         try {
-          result.success = iface.hasOwnerAccess(args.authzToken, args.domainId, args.groupId, args.ownerId);
+          result.success = iface.hasOwnerAccess(args.authzToken, args.groupId, args.ownerId);
           result.setSuccessIsSet(true);
         } catch (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
           result.gse = gse;
@@ -1588,7 +1568,7 @@ public class GroupManagerService {
       }
 
       public void start(I iface, transferGroupOwnership_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.transferGroupOwnership(args.authzToken, args.domainId, args.groupId, args.newOwnerId,resultHandler);
+        iface.transferGroupOwnership(args.authzToken, args.groupId, args.newOwnerId,resultHandler);
       }
     }
 
@@ -1658,7 +1638,7 @@ public class GroupManagerService {
       }
 
       public void start(I iface, addGroupAdmins_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.addGroupAdmins(args.authzToken, args.domainId, args.groupId, args.adminIds,resultHandler);
+        iface.addGroupAdmins(args.authzToken, args.groupId, args.adminIds,resultHandler);
       }
     }
 
@@ -1728,7 +1708,7 @@ public class GroupManagerService {
       }
 
       public void start(I iface, removeGroupAdmins_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.removeGroupAdmins(args.authzToken, args.domainId, args.groupId, args.adminIds,resultHandler);
+        iface.removeGroupAdmins(args.authzToken, args.groupId, args.adminIds,resultHandler);
       }
     }
 
@@ -1798,7 +1778,7 @@ public class GroupManagerService {
       }
 
       public void start(I iface, hasAdminAccess_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.hasAdminAccess(args.authzToken, args.domainId, args.groupId, args.adminId,resultHandler);
+        iface.hasAdminAccess(args.authzToken, args.groupId, args.adminId,resultHandler);
       }
     }
 
@@ -1868,7 +1848,7 @@ public class GroupManagerService {
       }
 
       public void start(I iface, hasOwnerAccess_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.hasOwnerAccess(args.authzToken, args.domainId, args.groupId, args.ownerId,resultHandler);
+        iface.hasOwnerAccess(args.authzToken, args.groupId, args.ownerId,resultHandler);
       }
     }
 
@@ -7213,24 +7193,21 @@ public class GroupManagerService {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("transferGroupOwnership_args");
 
     private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField DOMAIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("domainId", org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)3);
-    private static final org.apache.thrift.protocol.TField NEW_OWNER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("newOwnerId", org.apache.thrift.protocol.TType.STRING, (short)4);
+    private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField NEW_OWNER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("newOwnerId", org.apache.thrift.protocol.TType.STRING, (short)3);
 
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new transferGroupOwnership_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new transferGroupOwnership_argsTupleSchemeFactory();
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String domainId; // required
     public java.lang.String groupId; // required
     public java.lang.String newOwnerId; // 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 {
       AUTHZ_TOKEN((short)1, "authzToken"),
-      DOMAIN_ID((short)2, "domainId"),
-      GROUP_ID((short)3, "groupId"),
-      NEW_OWNER_ID((short)4, "newOwnerId");
+      GROUP_ID((short)2, "groupId"),
+      NEW_OWNER_ID((short)3, "newOwnerId");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -7247,11 +7224,9 @@ public class GroupManagerService {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
             return AUTHZ_TOKEN;
-          case 2: // DOMAIN_ID
-            return DOMAIN_ID;
-          case 3: // GROUP_ID
+          case 2: // GROUP_ID
             return GROUP_ID;
-          case 4: // NEW_OWNER_ID
+          case 3: // NEW_OWNER_ID
             return NEW_OWNER_ID;
           default:
             return null;
@@ -7298,8 +7273,6 @@ public class GroupManagerService {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
-      tmpMap.put(_Fields.DOMAIN_ID, new org.apache.thrift.meta_data.FieldMetaData("domainId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.GROUP_ID, new org.apache.thrift.meta_data.FieldMetaData("groupId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.NEW_OWNER_ID, new org.apache.thrift.meta_data.FieldMetaData("newOwnerId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
@@ -7313,13 +7286,11 @@ public class GroupManagerService {
 
     public transferGroupOwnership_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
-      java.lang.String domainId,
       java.lang.String groupId,
       java.lang.String newOwnerId)
     {
       this();
       this.authzToken = authzToken;
-      this.domainId = domainId;
       this.groupId = groupId;
       this.newOwnerId = newOwnerId;
     }
@@ -7331,9 +7302,6 @@ public class GroupManagerService {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
-      if (other.isSetDomainId()) {
-        this.domainId = other.domainId;
-      }
       if (other.isSetGroupId()) {
         this.groupId = other.groupId;
       }
@@ -7349,7 +7317,6 @@ public class GroupManagerService {
     @Override
     public void clear() {
       this.authzToken = null;
-      this.domainId = null;
       this.groupId = null;
       this.newOwnerId = null;
     }
@@ -7378,30 +7345,6 @@ public class GroupManagerService {
       }
     }
 
-    public java.lang.String getDomainId() {
-      return this.domainId;
-    }
-
-    public transferGroupOwnership_args setDomainId(java.lang.String domainId) {
-      this.domainId = domainId;
-      return this;
-    }
-
-    public void unsetDomainId() {
-      this.domainId = null;
-    }
-
-    /** Returns true if field domainId is set (has been assigned a value) and false otherwise */
-    public boolean isSetDomainId() {
-      return this.domainId != null;
-    }
-
-    public void setDomainIdIsSet(boolean value) {
-      if (!value) {
-        this.domainId = null;
-      }
-    }
-
     public java.lang.String getGroupId() {
       return this.groupId;
     }
@@ -7460,14 +7403,6 @@ public class GroupManagerService {
         }
         break;
 
-      case DOMAIN_ID:
-        if (value == null) {
-          unsetDomainId();
-        } else {
-          setDomainId((java.lang.String)value);
-        }
-        break;
-
       case GROUP_ID:
         if (value == null) {
           unsetGroupId();
@@ -7492,9 +7427,6 @@ public class GroupManagerService {
       case AUTHZ_TOKEN:
         return getAuthzToken();
 
-      case DOMAIN_ID:
-        return getDomainId();
-
       case GROUP_ID:
         return getGroupId();
 
@@ -7514,8 +7446,6 @@ public class GroupManagerService {
       switch (field) {
       case AUTHZ_TOKEN:
         return isSetAuthzToken();
-      case DOMAIN_ID:
-        return isSetDomainId();
       case GROUP_ID:
         return isSetGroupId();
       case NEW_OWNER_ID:
@@ -7548,15 +7478,6 @@ public class GroupManagerService {
           return false;
       }
 
-      boolean this_present_domainId = true && this.isSetDomainId();
-      boolean that_present_domainId = true && that.isSetDomainId();
-      if (this_present_domainId || that_present_domainId) {
-        if (!(this_present_domainId && that_present_domainId))
-          return false;
-        if (!this.domainId.equals(that.domainId))
-          return false;
-      }
-
       boolean this_present_groupId = true && this.isSetGroupId();
       boolean that_present_groupId = true && that.isSetGroupId();
       if (this_present_groupId || that_present_groupId) {
@@ -7586,10 +7507,6 @@ public class GroupManagerService {
       if (isSetAuthzToken())
         hashCode = hashCode * 8191 + authzToken.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetDomainId()) ? 131071 : 524287);
-      if (isSetDomainId())
-        hashCode = hashCode * 8191 + domainId.hashCode();
-
       hashCode = hashCode * 8191 + ((isSetGroupId()) ? 131071 : 524287);
       if (isSetGroupId())
         hashCode = hashCode * 8191 + groupId.hashCode();
@@ -7619,16 +7536,6 @@ public class GroupManagerService {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetDomainId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.domainId, other.domainId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
       lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
@@ -7677,14 +7584,6 @@ public class GroupManagerService {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("domainId:");
-      if (this.domainId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.domainId);
-      }
-      first = false;
-      if (!first) sb.append(", ");
       sb.append("groupId:");
       if (this.groupId == null) {
         sb.append("null");
@@ -7709,9 +7608,6 @@ public class GroupManagerService {
       if (authzToken == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
       }
-      if (domainId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'domainId' was not present! Struct: " + toString());
-      }
       if (groupId == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupId' was not present! Struct: " + toString());
       }
@@ -7767,15 +7663,7 @@ public class GroupManagerService {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // DOMAIN_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.domainId = iprot.readString();
-                struct.setDomainIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 3: // GROUP_ID
+            case 2: // GROUP_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                 struct.groupId = iprot.readString();
                 struct.setGroupIdIsSet(true);
@@ -7783,7 +7671,7 @@ public class GroupManagerService {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 4: // NEW_OWNER_ID
+            case 3: // NEW_OWNER_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                 struct.newOwnerId = iprot.readString();
                 struct.setNewOwnerIdIsSet(true);
@@ -7811,11 +7699,6 @@ public class GroupManagerService {
           struct.authzToken.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.domainId != null) {
-          oprot.writeFieldBegin(DOMAIN_ID_FIELD_DESC);
-          oprot.writeString(struct.domainId);
-          oprot.writeFieldEnd();
-        }
         if (struct.groupId != null) {
           oprot.writeFieldBegin(GROUP_ID_FIELD_DESC);
           oprot.writeString(struct.groupId);
@@ -7844,7 +7727,6 @@ public class GroupManagerService {
       public void write(org.apache.thrift.protocol.TProtocol prot, transferGroupOwnership_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken.write(oprot);
-        oprot.writeString(struct.domainId);
         oprot.writeString(struct.groupId);
         oprot.writeString(struct.newOwnerId);
       }
@@ -7855,8 +7737,6 @@ public class GroupManagerService {
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
-        struct.domainId = iprot.readString();
-        struct.setDomainIdIsSet(true);
         struct.groupId = iprot.readString();
         struct.setGroupIdIsSet(true);
         struct.newOwnerId = iprot.readString();
@@ -8445,24 +8325,21 @@ public class GroupManagerService {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGroupAdmins_args");
 
     private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField DOMAIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("domainId", org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)3);
-    private static final org.apache.thrift.protocol.TField ADMIN_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("adminIds", org.apache.thrift.protocol.TType.LIST, (short)4);
+    private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField ADMIN_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("adminIds", org.apache.thrift.protocol.TType.LIST, (short)3);
 
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addGroupAdmins_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGroupAdmins_argsTupleSchemeFactory();
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String domainId; // required
     public java.lang.String groupId; // required
     public java.util.List<java.lang.String> adminIds; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       AUTHZ_TOKEN((short)1, "authzToken"),
-      DOMAIN_ID((short)2, "domainId"),
-      GROUP_ID((short)3, "groupId"),
-      ADMIN_IDS((short)4, "adminIds");
+      GROUP_ID((short)2, "groupId"),
+      ADMIN_IDS((short)3, "adminIds");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -8479,11 +8356,9 @@ public class GroupManagerService {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
             return AUTHZ_TOKEN;
-          case 2: // DOMAIN_ID
-            return DOMAIN_ID;
-          case 3: // GROUP_ID
+          case 2: // GROUP_ID
             return GROUP_ID;
-          case 4: // ADMIN_IDS
+          case 3: // ADMIN_IDS
             return ADMIN_IDS;
           default:
             return null;
@@ -8530,8 +8405,6 @@ public class GroupManagerService {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
-      tmpMap.put(_Fields.DOMAIN_ID, new org.apache.thrift.meta_data.FieldMetaData("domainId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.GROUP_ID, new org.apache.thrift.meta_data.FieldMetaData("groupId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.ADMIN_IDS, new org.apache.thrift.meta_data.FieldMetaData("adminIds", org.apache.thrift.TFieldRequirementType.REQUIRED, 
@@ -8546,13 +8419,11 @@ public class GroupManagerService {
 
     public addGroupAdmins_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
-      java.lang.String domainId,
       java.lang.String groupId,
       java.util.List<java.lang.String> adminIds)
     {
       this();
       this.authzToken = authzToken;
-      this.domainId = domainId;
       this.groupId = groupId;
       this.adminIds = adminIds;
     }
@@ -8564,9 +8435,6 @@ public class GroupManagerService {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
-      if (other.isSetDomainId()) {
-        this.domainId = other.domainId;
-      }
       if (other.isSetGroupId()) {
         this.groupId = other.groupId;
       }
@@ -8583,7 +8451,6 @@ public class GroupManagerService {
     @Override
     public void clear() {
       this.authzToken = null;
-      this.domainId = null;
       this.groupId = null;
       this.adminIds = null;
     }
@@ -8612,30 +8479,6 @@ public class GroupManagerService {
       }
     }
 
-    public java.lang.String getDomainId() {
-      return this.domainId;
-    }
-
-    public addGroupAdmins_args setDomainId(java.lang.String domainId) {
-      this.domainId = domainId;
-      return this;
-    }
-
-    public void unsetDomainId() {
-      this.domainId = null;
-    }
-
-    /** Returns true if field domainId is set (has been assigned a value) and false otherwise */
-    public boolean isSetDomainId() {
-      return this.domainId != null;
-    }
-
-    public void setDomainIdIsSet(boolean value) {
-      if (!value) {
-        this.domainId = null;
-      }
-    }
-
     public java.lang.String getGroupId() {
       return this.groupId;
     }
@@ -8709,14 +8552,6 @@ public class GroupManagerService {
         }
         break;
 
-      case DOMAIN_ID:
-        if (value == null) {
-          unsetDomainId();
-        } else {
-          setDomainId((java.lang.String)value);
-        }
-        break;
-
       case GROUP_ID:
         if (value == null) {
           unsetGroupId();
@@ -8741,9 +8576,6 @@ public class GroupManagerService {
       case AUTHZ_TOKEN:
         return getAuthzToken();
 
-      case DOMAIN_ID:
-        return getDomainId();
-
       case GROUP_ID:
         return getGroupId();
 
@@ -8763,8 +8595,6 @@ public class GroupManagerService {
       switch (field) {
       case AUTHZ_TOKEN:
         return isSetAuthzToken();
-      case DOMAIN_ID:
-        return isSetDomainId();
       case GROUP_ID:
         return isSetGroupId();
       case ADMIN_IDS:
@@ -8797,15 +8627,6 @@ public class GroupManagerService {
           return false;
       }
 
-      boolean this_present_domainId = true && this.isSetDomainId();
-      boolean that_present_domainId = true && that.isSetDomainId();
-      if (this_present_domainId || that_present_domainId) {
-        if (!(this_present_domainId && that_present_domainId))
-          return false;
-        if (!this.domainId.equals(that.domainId))
-          return false;
-      }
-
       boolean this_present_groupId = true && this.isSetGroupId();
       boolean that_present_groupId = true && that.isSetGroupId();
       if (this_present_groupId || that_present_groupId) {
@@ -8835,10 +8656,6 @@ public class GroupManagerService {
       if (isSetAuthzToken())
         hashCode = hashCode * 8191 + authzToken.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetDomainId()) ? 131071 : 524287);
-      if (isSetDomainId())
-        hashCode = hashCode * 8191 + domainId.hashCode();
-
       hashCode = hashCode * 8191 + ((isSetGroupId()) ? 131071 : 524287);
       if (isSetGroupId())
         hashCode = hashCode * 8191 + groupId.hashCode();
@@ -8868,16 +8685,6 @@ public class GroupManagerService {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetDomainId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.domainId, other.domainId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
       lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
@@ -8926,14 +8733,6 @@ public class GroupManagerService {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("domainId:");
-      if (this.domainId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.domainId);
-      }
-      first = false;
-      if (!first) sb.append(", ");
       sb.append("groupId:");
       if (this.groupId == null) {
         sb.append("null");
@@ -8958,9 +8757,6 @@ public class GroupManagerService {
       if (authzToken == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
       }
-      if (domainId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'domainId' was not present! Struct: " + toString());
-      }
       if (groupId == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupId' was not present! Struct: " + toString());
       }
@@ -9016,15 +8812,7 @@ public class GroupManagerService {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // DOMAIN_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.domainId = iprot.readString();
-                struct.setDomainIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 3: // GROUP_ID
+            case 2: // GROUP_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                 struct.groupId = iprot.readString();
                 struct.setGroupIdIsSet(true);
@@ -9032,7 +8820,7 @@ public class GroupManagerService {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 4: // ADMIN_IDS
+            case 3: // ADMIN_IDS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
                   org.apache.thrift.protocol.TList _list8 = iprot.readListBegin();
@@ -9070,11 +8858,6 @@ public class GroupManagerService {
           struct.authzToken.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.domainId != null) {
-          oprot.writeFieldBegin(DOMAIN_ID_FIELD_DESC);
-          oprot.writeString(struct.domainId);
-          oprot.writeFieldEnd();
-        }
         if (struct.groupId != null) {
           oprot.writeFieldBegin(GROUP_ID_FIELD_DESC);
           oprot.writeString(struct.groupId);
@@ -9110,7 +8893,6 @@ public class GroupManagerService {
       public void write(org.apache.thrift.protocol.TProtocol prot, addGroupAdmins_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken.write(oprot);
-        oprot.writeString(struct.domainId);
         oprot.writeString(struct.groupId);
         {
           oprot.writeI32(struct.adminIds.size());
@@ -9127,8 +8909,6 @@ public class GroupManagerService {
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
-        struct.domainId = iprot.readString();
-        struct.setDomainIdIsSet(true);
         struct.groupId = iprot.readString();
         struct.setGroupIdIsSet(true);
         {
@@ -9726,24 +9506,21 @@ public class GroupManagerService {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeGroupAdmins_args");
 
     private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField DOMAIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("domainId", org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)3);
-    private static final org.apache.thrift.protocol.TField ADMIN_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("adminIds", org.apache.thrift.protocol.TType.LIST, (short)4);
+    private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField ADMIN_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("adminIds", org.apache.thrift.protocol.TType.LIST, (short)3);
 
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeGroupAdmins_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeGroupAdmins_argsTupleSchemeFactory();
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String domainId; // required
     public java.lang.String groupId; // required
     public java.util.List<java.lang.String> adminIds; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       AUTHZ_TOKEN((short)1, "authzToken"),
-      DOMAIN_ID((short)2, "domainId"),
-      GROUP_ID((short)3, "groupId"),
-      ADMIN_IDS((short)4, "adminIds");
+      GROUP_ID((short)2, "groupId"),
+      ADMIN_IDS((short)3, "adminIds");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -9760,11 +9537,9 @@ public class GroupManagerService {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
             return AUTHZ_TOKEN;
-          case 2: // DOMAIN_ID
-            return DOMAIN_ID;
-          case 3: // GROUP_ID
+          case 2: // GROUP_ID
             return GROUP_ID;
-          case 4: // ADMIN_IDS
+          case 3: // ADMIN_IDS
             return ADMIN_IDS;
           default:
             return null;
@@ -9811,8 +9586,6 @@ public class GroupManagerService {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
-      tmpMap.put(_Fields.DOMAIN_ID, new org.apache.thrift.meta_data.FieldMetaData("domainId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.GROUP_ID, new org.apache.thrift.meta_data.FieldMetaData("groupId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.ADMIN_IDS, new org.apache.thrift.meta_data.FieldMetaData("adminIds", org.apache.thrift.TFieldRequirementType.REQUIRED, 
@@ -9827,13 +9600,11 @@ public class GroupManagerService {
 
     public removeGroupAdmins_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
-      java.lang.String domainId,
       java.lang.String groupId,
       java.util.List<java.lang.String> adminIds)
     {
       this();
       this.authzToken = authzToken;
-      this.domainId = domainId;
       this.groupId = groupId;
       this.adminIds = adminIds;
     }
@@ -9845,9 +9616,6 @@ public class GroupManagerService {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
-      if (other.isSetDomainId()) {
-        this.domainId = other.domainId;
-      }
       if (other.isSetGroupId()) {
         this.groupId = other.groupId;
       }
@@ -9864,7 +9632,6 @@ public class GroupManagerService {
     @Override
     public void clear() {
       this.authzToken = null;
-      this.domainId = null;
       this.groupId = null;
       this.adminIds = null;
     }
@@ -9893,30 +9660,6 @@ public class GroupManagerService {
       }
     }
 
-    public java.lang.String getDomainId() {
-      return this.domainId;
-    }
-
-    public removeGroupAdmins_args setDomainId(java.lang.String domainId) {
-      this.domainId = domainId;
-      return this;
-    }
-
-    public void unsetDomainId() {
-      this.domainId = null;
-    }
-
-    /** Returns true if field domainId is set (has been assigned a value) and false otherwise */
-    public boolean isSetDomainId() {
-      return this.domainId != null;
-    }
-
-    public void setDomainIdIsSet(boolean value) {
-      if (!value) {
-        this.domainId = null;
-      }
-    }
-
     public java.lang.String getGroupId() {
       return this.groupId;
     }
@@ -9990,14 +9733,6 @@ public class GroupManagerService {
         }
         break;
 
-      case DOMAIN_ID:
-        if (value == null) {
-          unsetDomainId();
-        } else {
-          setDomainId((java.lang.String)value);
-        }
-        break;
-
       case GROUP_ID:
         if (value == null) {
           unsetGroupId();
@@ -10022,9 +9757,6 @@ public class GroupManagerService {
       case AUTHZ_TOKEN:
         return getAuthzToken();
 
-      case DOMAIN_ID:
-        return getDomainId();
-
       case GROUP_ID:
         return getGroupId();
 
@@ -10044,8 +9776,6 @@ public class GroupManagerService {
       switch (field) {
       case AUTHZ_TOKEN:
         return isSetAuthzToken();
-      case DOMAIN_ID:
-        return isSetDomainId();
       case GROUP_ID:
         return isSetGroupId();
       case ADMIN_IDS:
@@ -10078,15 +9808,6 @@ public class GroupManagerService {
           return false;
       }
 
-      boolean this_present_domainId = true && this.isSetDomainId();
-      boolean that_present_domainId = true && that.isSetDomainId();
-      if (this_present_domainId || that_present_domainId) {
-        if (!(this_present_domainId && that_present_domainId))
-          return false;
-        if (!this.domainId.equals(that.domainId))
-          return false;
-      }
-
       boolean this_present_groupId = true && this.isSetGroupId();
       boolean that_present_groupId = true && that.isSetGroupId();
       if (this_present_groupId || that_present_groupId) {
@@ -10116,10 +9837,6 @@ public class GroupManagerService {
       if (isSetAuthzToken())
         hashCode = hashCode * 8191 + authzToken.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetDomainId()) ? 131071 : 524287);
-      if (isSetDomainId())
-        hashCode = hashCode * 8191 + domainId.hashCode();
-
       hashCode = hashCode * 8191 + ((isSetGroupId()) ? 131071 : 524287);
       if (isSetGroupId())
         hashCode = hashCode * 8191 + groupId.hashCode();
@@ -10149,16 +9866,6 @@ public class GroupManagerService {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetDomainId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.domainId, other.domainId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
       lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
@@ -10207,14 +9914,6 @@ public class GroupManagerService {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("domainId:");
-      if (this.domainId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.domainId);
-      }
-      first = false;
-      if (!first) sb.append(", ");
       sb.append("groupId:");
       if (this.groupId == null) {
         sb.append("null");
@@ -10239,9 +9938,6 @@ public class GroupManagerService {
       if (authzToken == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
       }
-      if (domainId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'domainId' was not present! Struct: " + toString());
-      }
       if (groupId == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupId' was not present! Struct: " + toString());
       }
@@ -10297,15 +9993,7 @@ public class GroupManagerService {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // DOMAIN_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.domainId = iprot.readString();
-                struct.setDomainIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 3: // GROUP_ID
+            case 2: // GROUP_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                 struct.groupId = iprot.readString();
                 struct.setGroupIdIsSet(true);
@@ -10313,7 +10001,7 @@ public class GroupManagerService {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 4: // ADMIN_IDS
+            case 3: // ADMIN_IDS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
                   org.apache.thrift.protocol.TList _list16 = iprot.readListBegin();
@@ -10351,11 +10039,6 @@ public class GroupManagerService {
           struct.authzToken.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.domainId != null) {
-          oprot.writeFieldBegin(DOMAIN_ID_FIELD_DESC);
-          oprot.writeString(struct.domainId);
-          oprot.writeFieldEnd();
-        }
         if (struct.groupId != null) {
           oprot.writeFieldBegin(GROUP_ID_FIELD_DESC);
           oprot.writeString(struct.groupId);
@@ -10391,7 +10074,6 @@ public class GroupManagerService {
       public void write(org.apache.thrift.protocol.TProtocol prot, removeGroupAdmins_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken.write(oprot);
-        oprot.writeString(struct.domainId);
         oprot.writeString(struct.groupId);
         {
           oprot.writeI32(struct.adminIds.size());
@@ -10408,8 +10090,6 @@ public class GroupManagerService {
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
-        struct.domainId = iprot.readString();
-        struct.setDomainIdIsSet(true);
         struct.groupId = iprot.readString();
         struct.setGroupIdIsSet(true);
         {
@@ -11007,24 +10687,21 @@ public class GroupManagerService {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("hasAdminAccess_args");
 
     private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField DOMAIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("domainId", org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)3);
-    private static final org.apache.thrift.protocol.TField ADMIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("adminId", org.apache.thrift.protocol.TType.STRING, (short)4);
+    private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField ADMIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("adminId", org.apache.thrift.protocol.TType.STRING, (short)3);
 
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new hasAdminAccess_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new hasAdminAccess_argsTupleSchemeFactory();
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String domainId; // required
     public java.lang.String groupId; // required
     public java.lang.String adminId; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       AUTHZ_TOKEN((short)1, "authzToken"),
-      DOMAIN_ID((short)2, "domainId"),
-      GROUP_ID((short)3, "groupId"),
-      ADMIN_ID((short)4, "adminId");
+      GROUP_ID((short)2, "groupId"),
+      ADMIN_ID((short)3, "adminId");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -11041,11 +10718,9 @@ public class GroupManagerService {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
             return AUTHZ_TOKEN;
-          case 2: // DOMAIN_ID
-            return DOMAIN_ID;
-          case 3: // GROUP_ID
+          case 2: // GROUP_ID
             return GROUP_ID;
-          case 4: // ADMIN_ID
+          case 3: // ADMIN_ID
             return ADMIN_ID;
           default:
             return null;
@@ -11092,8 +10767,6 @@ public class GroupManagerService {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
-      tmpMap.put(_Fields.DOMAIN_ID, new org.apache.thrift.meta_data.FieldMetaData("domainId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.GROUP_ID, new org.apache.thrift.meta_data.FieldMetaData("groupId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.ADMIN_ID, new org.apache.thrift.meta_data.FieldMetaData("adminId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
@@ -11107,13 +10780,11 @@ public class GroupManagerService {
 
     public hasAdminAccess_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
-      java.lang.String domainId,
       java.lang.String groupId,
       java.lang.String adminId)
     {
       this();
       this.authzToken = authzToken;
-      this.domainId = domainId;
       this.groupId = groupId;
       this.adminId = adminId;
     }
@@ -11125,9 +10796,6 @@ public class GroupManagerService {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
-      if (other.isSetDomainId()) {
-        this.domainId = other.domainId;
-      }
       if (other.isSetGroupId()) {
         this.groupId = other.groupId;
       }
@@ -11143,7 +10811,6 @@ public class GroupManagerService {
     @Override
     public void clear() {
       this.authzToken = null;
-      this.domainId = null;
       this.groupId = null;
       this.adminId = null;
     }
@@ -11172,30 +10839,6 @@ public class GroupManagerService {
       }
     }
 
-    public java.lang.String getDomainId() {
-      return this.domainId;
-    }
-
-    public hasAdminAccess_args setDomainId(java.lang.String domainId) {
-      this.domainId = domainId;
-      return this;
-    }
-
-    public void unsetDomainId() {
-      this.domainId = null;
-    }
-
-    /** Returns true if field domainId is set (has been assigned a value) and false otherwise */
-    public boolean isSetDomainId() {
-      return this.domainId != null;
-    }
-
-    public void setDomainIdIsSet(boolean value) {
-      if (!value) {
-        this.domainId = null;
-      }
-    }
-
     public java.lang.String getGroupId() {
       return this.groupId;
     }
@@ -11254,14 +10897,6 @@ public class GroupManagerService {
         }
         break;
 
-      case DOMAIN_ID:
-        if (value == null) {
-          unsetDomainId();
-        } else {
-          setDomainId((java.lang.String)value);
-        }
-        break;
-
       case GROUP_ID:
         if (value == null) {
           unsetGroupId();
@@ -11286,9 +10921,6 @@ public class GroupManagerService {
       case AUTHZ_TOKEN:
         return getAuthzToken();
 
-      case DOMAIN_ID:
-        return getDomainId();
-
       case GROUP_ID:
         return getGroupId();
 
@@ -11308,8 +10940,6 @@ public class GroupManagerService {
       switch (field) {
       case AUTHZ_TOKEN:
         return isSetAuthzToken();
-      case DOMAIN_ID:
-        return isSetDomainId();
       case GROUP_ID:
         return isSetGroupId();
       case ADMIN_ID:
@@ -11342,15 +10972,6 @@ public class GroupManagerService {
           return false;
       }
 
-      boolean this_present_domainId = true && this.isSetDomainId();
-      boolean that_present_domainId = true && that.isSetDomainId();
-      if (this_present_domainId || that_present_domainId) {
-        if (!(this_present_domainId && that_present_domainId))
-          return false;
-        if (!this.domainId.equals(that.domainId))
-          return false;
-      }
-
       boolean this_present_groupId = true && this.isSetGroupId();
       boolean that_present_groupId = true && that.isSetGroupId();
       if (this_present_groupId || that_present_groupId) {
@@ -11380,10 +11001,6 @@ public class GroupManagerService {
       if (isSetAuthzToken())
         hashCode = hashCode * 8191 + authzToken.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetDomainId()) ? 131071 : 524287);
-      if (isSetDomainId())
-        hashCode = hashCode * 8191 + domainId.hashCode();
-
       hashCode = hashCode * 8191 + ((isSetGroupId()) ? 131071 : 524287);
       if (isSetGroupId())
         hashCode = hashCode * 8191 + groupId.hashCode();
@@ -11413,16 +11030,6 @@ public class GroupManagerService {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetDomainId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.domainId, other.domainId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
       lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
@@ -11471,14 +11078,6 @@ public class GroupManagerService {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("domainId:");
-      if (this.domainId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.domainId);
-      }
-      first = false;
-      if (!first) sb.append(", ");
       sb.append("groupId:");
       if (this.groupId == null) {
         sb.append("null");
@@ -11503,9 +11102,6 @@ public class GroupManagerService {
       if (authzToken == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
       }
-      if (domainId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'domainId' was not present! Struct: " + toString());
-      }
       if (groupId == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupId' was not present! Struct: " + toString());
       }
@@ -11561,15 +11157,7 @@ public class GroupManagerService {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // DOMAIN_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.domainId = iprot.readString();
-                struct.setDomainIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 3: // GROUP_ID
+            case 2: // GROUP_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                 struct.groupId = iprot.readString();
                 struct.setGroupIdIsSet(true);
@@ -11577,7 +11165,7 @@ public class GroupManagerService {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 4: // ADMIN_ID
+            case 3: // ADMIN_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                 struct.adminId = iprot.readString();
                 struct.setAdminIdIsSet(true);
@@ -11605,11 +11193,6 @@ public class GroupManagerService {
           struct.authzToken.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.domainId != null) {
-          oprot.writeFieldBegin(DOMAIN_ID_FIELD_DESC);
-          oprot.writeString(struct.domainId);
-          oprot.writeFieldEnd();
-        }
         if (struct.groupId != null) {
           oprot.writeFieldBegin(GROUP_ID_FIELD_DESC);
           oprot.writeString(struct.groupId);
@@ -11638,7 +11221,6 @@ public class GroupManagerService {
       public void write(org.apache.thrift.protocol.TProtocol prot, hasAdminAccess_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken.write(oprot);
-        oprot.writeString(struct.domainId);
         oprot.writeString(struct.groupId);
         oprot.writeString(struct.adminId);
       }
@@ -11649,8 +11231,6 @@ public class GroupManagerService {
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
-        struct.domainId = iprot.readString();
-        struct.setDomainIdIsSet(true);
         struct.groupId = iprot.readString();
         struct.setGroupIdIsSet(true);
         struct.adminId = iprot.readString();
@@ -12239,24 +11819,21 @@ public class GroupManagerService {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("hasOwnerAccess_args");
 
     private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField DOMAIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("domainId", org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)3);
-    private static final org.apache.thrift.protocol.TField OWNER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("ownerId", org.apache.thrift.protocol.TType.STRING, (short)4);
+    private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField OWNER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("ownerId", org.apache.thrift.protocol.TType.STRING, (short)3);
 
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new hasOwnerAccess_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new hasOwnerAccess_argsTupleSchemeFactory();
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String domainId; // required
     public java.lang.String groupId; // required
     public java.lang.String ownerId; // 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 {
       AUTHZ_TOKEN((short)1, "authzToken"),
-      DOMAIN_ID((short)2, "domainId"),
-      GROUP_ID((short)3, "groupId"),
-      OWNER_ID((short)4, "ownerId");
+      GROUP_ID((short)2, "groupId"),
+      OWNER_ID((short)3, "ownerId");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -12273,11 +11850,9 @@ public class GroupManagerService {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
             return AUTHZ_TOKEN;
-          case 2: // DOMAIN_ID
-            return DOMAIN_ID;
-          case 3: // GROUP_ID
+          case 2: // GROUP_ID
             return GROUP_ID;
-          case 4: // OWNER_ID
+          case 3: // OWNER_ID
             return OWNER_ID;
           default:
             return null;
@@ -12324,8 +11899,6 @@ public class GroupManagerService {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
-      tmpMap.put(_Fields.DOMAIN_ID, new org.apache.thrift.meta_data.FieldMetaData("domainId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.GROUP_ID, new org.apache.thrift.meta_data.FieldMetaData("groupId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.OWNER_ID, new org.apache.thrift.meta_data.FieldMetaData("ownerId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
@@ -12339,13 +11912,11 @@ public class GroupManagerService {
 
     public hasOwnerAccess_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
-      java.lang.String domainId,
       java.lang.String groupId,
       java.lang.String ownerId)
     {
       this();
       this.authzToken = authzToken;
-      this.domainId = domainId;
       this.groupId = groupId;
       this.ownerId = ownerId;
     }
@@ -12357,9 +11928,6 @@ public class GroupManagerService {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
-      if (other.isSetDomainId()) {
-        this.domainId = other.domainId;
-      }
       if (other.isSetGroupId()) {
         this.groupId = other.groupId;
       }
@@ -12375,7 +11943,6 @@ public class GroupManagerService {
     @Override
     public void clear() {
       this.authzToken = null;
-      this.domainId = null;
       this.groupId = null;
       this.ownerId = null;
     }
@@ -12404,30 +11971,6 @@ public class GroupManagerService {
       }
     }
 
-    public java.lang.String getDomainId() {
-      return this.domainId;
-    }
-
-    public hasOwnerAccess_args setDomainId(java.lang.String domainId) {
-      this.domainId = domainId;
-      return this;
-    }
-
-    public void unsetDomainId() {
-      this.domainId = null;
-    }
-
-    /** Returns true if field domainId is set (has been assigned a value) and false otherwise */
-    public boolean isSetDomainId() {
-      return this.domainId != null;
-    }
-
-    public void setDomainIdIsSet(boolean value) {
-      if (!value) {
-        this.domainId = null;
-      }
-    }
-
     public java.lang.String getGroupId() {
       return this.groupId;
     }
@@ -12486,14 +12029,6 @@ public class GroupManagerService {
         }
         break;
 
-      case DOMAIN_ID:
-        if (value == null) {
-          unsetDomainId();
-        } else {
-          setDomainId((java.lang.String)value);
-        }
-        break;
-
       case GROUP_ID:
         if (value == null) {
           unsetGroupId();
@@ -12518,9 +12053,6 @@ public class GroupManagerService {
       case AUTHZ_TOKEN:
         return getAuthzToken();
 
-      case DOMAIN_ID:
-        return getDomainId();
-
       case GROUP_ID:
         return getGroupId();
 
@@ -12540,8 +12072,6 @@ public class GroupManagerService {
       switch (field) {
       case AUTHZ_TOKEN:
         return isSetAuthzToken();
-      case DOMAIN_ID:
-        return isSetDomainId();
       case GROUP_ID:
         return isSetGroupId();
       case OWNER_ID:
@@ -12574,15 +12104,6 @@ public class GroupManagerService {
           return false;
       }
 
-      boolean this_present_domainId = true && this.isSetDomainId();
-      boolean that_present_domainId = true && that.isSetDomainId();
-      if (this_present_domainId || that_present_domainId) {
-        if (!(this_present_domainId && that_present_domainId))
-          return false;
-        if (!this.domainId.equals(that.domainId))
-          return false;
-      }
-
       boolean this_present_groupId = true && this.isSetGroupId();
       boolean that_present_groupId = true && that.isSetGroupId();
       if (this_present_groupId || that_present_groupId) {
@@ -12612,10 +12133,6 @@ public class GroupManagerService {
       if (isSetAuthzToken())
         hashCode = hashCode * 8191 + authzToken.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetDomainId()) ? 131071 : 524287);
-      if (isSetDomainId())
-        hashCode = hashCode * 8191 + domainId.hashCode();
-
       hashCode = hashCode * 8191 + ((isSetGroupId()) ? 131071 : 524287);
       if (isSetGroupId())
         hashCode = hashCode * 8191 + groupId.hashCode();
@@ -12645,16 +12162,6 @@ public class GroupManagerService {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetDomainId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.domainId, other.domainId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
       lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
@@ -12703,14 +12210,6 @@ public class GroupManagerService {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("domainId:");
-      if (this.domainId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.domainId);
-      }
-      first = false;
-      if (!first) sb.append(", ");
       sb.append("groupId:");
       if (this.groupId == null) {
         sb.append("null");
@@ -12735,9 +12234,6 @@ public class GroupManagerService {
       if (authzToken == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
       }
-      if (domainId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'domainId' was not present! Struct: " + toString());
-      }
       if (groupId == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupId' was not present! Struct: " + toString());
       }
@@ -12793,15 +12289,7 @@ public class GroupManagerService {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // DOMAIN_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.domainId = iprot.readString();
-                struct.setDomainIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 3: // GROUP_ID
+            case 2: // GROUP_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                 struct.groupId = iprot.readString();
                 struct.setGroupIdIsSet(true);
@@ -12809,7 +12297,7 @@ public class GroupManagerService {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 4: // OWNER_ID
+            case 3: // OWNER_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                 struct.ownerId = iprot.readString();
                 struct.setOwnerIdIsSet(true);
@@ -12837,11 +12325,6 @@ public class GroupManagerService {
           struct.authzToken.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.domainId != null) {
-          oprot.writeFieldBegin(DOMAIN_ID_FIELD_DESC);
-          oprot.writeString(struct.domainId);
-          oprot.writeFieldEnd();
-        }
         if (struct.groupId != null) {
           oprot.writeFieldBegin(GROUP_ID_FIELD_DESC);
           oprot.writeString(struct.groupId);
@@ -12870,7 +12353,6 @@ public class GroupManagerService {
       public void write(org.apache.thrift.protocol.TProtocol prot, hasOwnerAccess_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken.write(oprot);
-        oprot.writeString(struct.domainId);
         oprot.writeString(struct.groupId);
         oprot.writeString(struct.ownerId);
       }
@@ -12881,8 +12363,6 @@ public class GroupManagerService {
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
-        struct.domainId = iprot.readString();
-        struct.setDomainIdIsSet(true);
         struct.groupId = iprot.readString();
         struct.setGroupIdIsSet(true);
         struct.ownerId = iprot.readString();
diff --git a/thrift-interface-descriptions/service-cpis/profile-service/group-manager/group-manager-cpi.thrift b/thrift-interface-descriptions/service-cpis/profile-service/group-manager/group-manager-cpi.thrift
index a63b5e1..b8b304c 100644
--- a/thrift-interface-descriptions/service-cpis/profile-service/group-manager/group-manager-cpi.thrift
+++ b/thrift-interface-descriptions/service-cpis/profile-service/group-manager/group-manager-cpi.thrift
@@ -56,23 +56,23 @@ service GroupManagerService {
                        throws (1: group_manager_cpi_errors.GroupManagerServiceException gse,
                                2: airavata_errors.AuthorizationException ae);
 
-    bool transferGroupOwnership(1: required security_model.AuthzToken authzToken, 2: required string domainId, 3: required string groupId, 4: required string newOwnerId)
+    bool transferGroupOwnership(1: required security_model.AuthzToken authzToken, 2: required string groupId, 3: required string newOwnerId)
                     throws (1: group_manager_cpi_errors.GroupManagerServiceException gse,
                             2: airavata_errors.AuthorizationException ae);
 
-    bool addGroupAdmins(1: required security_model.AuthzToken authzToken, 2: required string domainId, 3: required string groupId, 4: required list<string> adminIds)
+    bool addGroupAdmins(1: required security_model.AuthzToken authzToken, 2: required string groupId, 3: required list<string> adminIds)
                     throws (1: group_manager_cpi_errors.GroupManagerServiceException gse,
                             2: airavata_errors.AuthorizationException ae);
 
-    bool removeGroupAdmins(1: required security_model.AuthzToken authzToken, 2: required string domainId, 3: required string groupId, 4: required list<string> adminIds)
+    bool removeGroupAdmins(1: required security_model.AuthzToken authzToken, 2: required string groupId, 3: required list<string> adminIds)
                     throws (1: group_manager_cpi_errors.GroupManagerServiceException gse,
                             2: airavata_errors.AuthorizationException ae);
 
-    bool hasAdminAccess(1: required security_model.AuthzToken authzToken, 2: required string domainId, 3: required string groupId, 4: required string adminId)
+    bool hasAdminAccess(1: required security_model.AuthzToken authzToken, 2: required string groupId, 3: required string adminId)
                     throws (1: group_manager_cpi_errors.GroupManagerServiceException gse,
                             2: airavata_errors.AuthorizationException ae);
 
-    bool hasOwnerAccess(1: required security_model.AuthzToken authzToken, 2: required string domainId, 3: required string groupId, 4: required string ownerId)
+    bool hasOwnerAccess(1: required security_model.AuthzToken authzToken, 2: required string groupId, 3: required string ownerId)
                     throws (1: group_manager_cpi_errors.GroupManagerServiceException gse,
                             2: airavata_errors.AuthorizationException ae);
 

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

[airavata] 08/13: Reverting README changes created for intital pull request

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

smarru pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit e759204aa54cf92f1d585b8938ab087540ca1f71
Author: Sachin Kariyattin <sa...@gmail.com>
AuthorDate: Mon Dec 4 22:29:03 2017 -0500

    Reverting README changes created for intital pull request
---
 airavata-services/profile-service/README | 1 -
 1 file changed, 1 deletion(-)

diff --git a/airavata-services/profile-service/README b/airavata-services/profile-service/README
index fe0558e..a39b798 100644
--- a/airavata-services/profile-service/README
+++ b/airavata-services/profile-service/README
@@ -68,7 +68,6 @@ List<UserProfile> getAllUserProfilesInGateway(AuthzToken authzToken, String gate
 
 boolean doesUserExist(AuthzToken authzToken, String userId, String gatewayId)
 
-//TODO Add group related methods
 
 
 ## profile-service-stubs

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