You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by di...@apache.org on 2021/01/25 02:41:30 UTC

[airavata] 03/03: Rebuilding registry thrift service

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

dimuthuupe pushed a commit to branch mft-integration
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit f9216e9dc9a3727dd14f4f6743b19753df4ac04e
Author: Dimuthu Wannipurage <di...@gmail.com>
AuthorDate: Sun Jan 24 21:40:55 2021 -0500

    Rebuilding registry thrift service
---
 .../airavata/registry/api/RegistryService.java     | 13602 ++++++++++++++-----
 1 file changed, 10271 insertions(+), 3331 deletions(-)

diff --git a/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/RegistryService.java b/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/RegistryService.java
index 671b1b9..e478612 100644
--- a/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/RegistryService.java
+++ b/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/RegistryService.java
@@ -2610,15 +2610,15 @@ public class RegistryService {
 
     public void removeParsingTemplate(java.lang.String templateId, java.lang.String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
 
-      public boolean isGatewayUsageReportingAvailable(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+    public boolean isGatewayUsageReportingAvailable(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
 
-      public org.apache.airavata.model.workspace.GatewayUsageReportingCommand getGatewayReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+    public org.apache.airavata.model.workspace.GatewayUsageReportingCommand getGatewayReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
 
-      public void addGatewayUsageReportingCommand(org.apache.airavata.model.workspace.GatewayUsageReportingCommand command) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+    public void addGatewayUsageReportingCommand(org.apache.airavata.model.workspace.GatewayUsageReportingCommand command) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
 
-      public void removeGatewayUsageReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+    public void removeGatewayUsageReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
 
-      public void saveTransfer(org.apache.airavata.model.transfer.TransferModel transferModel) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+    public void saveTransfer(org.apache.airavata.model.transfer.TransferModel transferModel) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
 
     public java.util.List<org.apache.airavata.model.transfer.TransferModel> getTransfersForTask(java.lang.String taskId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
 
@@ -3020,6 +3020,20 @@ public class RegistryService {
 
     public void removeParsingTemplate(java.lang.String templateId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 
+    public void isGatewayUsageReportingAvailable(java.lang.String gatewayId, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
+
+    public void getGatewayReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.GatewayUsageReportingCommand> resultHandler) throws org.apache.thrift.TException;
+
+    public void addGatewayUsageReportingCommand(org.apache.airavata.model.workspace.GatewayUsageReportingCommand command, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
+
+    public void removeGatewayUsageReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
+
+    public void saveTransfer(org.apache.airavata.model.transfer.TransferModel transferModel, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
+
+    public void getTransfersForTask(java.lang.String taskId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.transfer.TransferModel>> resultHandler) throws org.apache.thrift.TException;
+
+    public void getTransfersForTransferId(java.lang.String transferId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.transfer.TransferModel>> resultHandler) throws org.apache.thrift.TException;
+
   }
 
   public static class Client extends org.apache.airavata.base.api.BaseAPI.Client implements Iface {
@@ -8275,6 +8289,182 @@ public class RegistryService {
       return;
     }
 
+    public boolean isGatewayUsageReportingAvailable(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_isGatewayUsageReportingAvailable(gatewayId, computeResourceId);
+      return recv_isGatewayUsageReportingAvailable();
+    }
+
+    public void send_isGatewayUsageReportingAvailable(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.thrift.TException
+    {
+      isGatewayUsageReportingAvailable_args args = new isGatewayUsageReportingAvailable_args();
+      args.setGatewayId(gatewayId);
+      args.setComputeResourceId(computeResourceId);
+      sendBase("isGatewayUsageReportingAvailable", args);
+    }
+
+    public boolean recv_isGatewayUsageReportingAvailable() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      isGatewayUsageReportingAvailable_result result = new isGatewayUsageReportingAvailable_result();
+      receiveBase(result, "isGatewayUsageReportingAvailable");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isGatewayUsageReportingAvailable failed: unknown result");
+    }
+
+    public org.apache.airavata.model.workspace.GatewayUsageReportingCommand getGatewayReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_getGatewayReportingCommand(gatewayId, computeResourceId);
+      return recv_getGatewayReportingCommand();
+    }
+
+    public void send_getGatewayReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.thrift.TException
+    {
+      getGatewayReportingCommand_args args = new getGatewayReportingCommand_args();
+      args.setGatewayId(gatewayId);
+      args.setComputeResourceId(computeResourceId);
+      sendBase("getGatewayReportingCommand", args);
+    }
+
+    public org.apache.airavata.model.workspace.GatewayUsageReportingCommand recv_getGatewayReportingCommand() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      getGatewayReportingCommand_result result = new getGatewayReportingCommand_result();
+      receiveBase(result, "getGatewayReportingCommand");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGatewayReportingCommand failed: unknown result");
+    }
+
+    public void addGatewayUsageReportingCommand(org.apache.airavata.model.workspace.GatewayUsageReportingCommand command) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_addGatewayUsageReportingCommand(command);
+      recv_addGatewayUsageReportingCommand();
+    }
+
+    public void send_addGatewayUsageReportingCommand(org.apache.airavata.model.workspace.GatewayUsageReportingCommand command) throws org.apache.thrift.TException
+    {
+      addGatewayUsageReportingCommand_args args = new addGatewayUsageReportingCommand_args();
+      args.setCommand(command);
+      sendBase("addGatewayUsageReportingCommand", args);
+    }
+
+    public void recv_addGatewayUsageReportingCommand() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      addGatewayUsageReportingCommand_result result = new addGatewayUsageReportingCommand_result();
+      receiveBase(result, "addGatewayUsageReportingCommand");
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      return;
+    }
+
+    public void removeGatewayUsageReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_removeGatewayUsageReportingCommand(gatewayId, computeResourceId);
+      recv_removeGatewayUsageReportingCommand();
+    }
+
+    public void send_removeGatewayUsageReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.thrift.TException
+    {
+      removeGatewayUsageReportingCommand_args args = new removeGatewayUsageReportingCommand_args();
+      args.setGatewayId(gatewayId);
+      args.setComputeResourceId(computeResourceId);
+      sendBase("removeGatewayUsageReportingCommand", args);
+    }
+
+    public void recv_removeGatewayUsageReportingCommand() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      removeGatewayUsageReportingCommand_result result = new removeGatewayUsageReportingCommand_result();
+      receiveBase(result, "removeGatewayUsageReportingCommand");
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      return;
+    }
+
+    public void saveTransfer(org.apache.airavata.model.transfer.TransferModel transferModel) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_saveTransfer(transferModel);
+      recv_saveTransfer();
+    }
+
+    public void send_saveTransfer(org.apache.airavata.model.transfer.TransferModel transferModel) throws org.apache.thrift.TException
+    {
+      saveTransfer_args args = new saveTransfer_args();
+      args.setTransferModel(transferModel);
+      sendBase("saveTransfer", args);
+    }
+
+    public void recv_saveTransfer() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      saveTransfer_result result = new saveTransfer_result();
+      receiveBase(result, "saveTransfer");
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      return;
+    }
+
+    public java.util.List<org.apache.airavata.model.transfer.TransferModel> getTransfersForTask(java.lang.String taskId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_getTransfersForTask(taskId);
+      return recv_getTransfersForTask();
+    }
+
+    public void send_getTransfersForTask(java.lang.String taskId) throws org.apache.thrift.TException
+    {
+      getTransfersForTask_args args = new getTransfersForTask_args();
+      args.setTaskId(taskId);
+      sendBase("getTransfersForTask", args);
+    }
+
+    public java.util.List<org.apache.airavata.model.transfer.TransferModel> recv_getTransfersForTask() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      getTransfersForTask_result result = new getTransfersForTask_result();
+      receiveBase(result, "getTransfersForTask");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTransfersForTask failed: unknown result");
+    }
+
+    public java.util.List<org.apache.airavata.model.transfer.TransferModel> getTransfersForTransferId(java.lang.String transferId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_getTransfersForTransferId(transferId);
+      return recv_getTransfersForTransferId();
+    }
+
+    public void send_getTransfersForTransferId(java.lang.String transferId) throws org.apache.thrift.TException
+    {
+      getTransfersForTransferId_args args = new getTransfersForTransferId_args();
+      args.setTransferId(transferId);
+      sendBase("getTransfersForTransferId", args);
+    }
+
+    public java.util.List<org.apache.airavata.model.transfer.TransferModel> recv_getTransfersForTransferId() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      getTransfersForTransferId_result result = new getTransfersForTransferId_result();
+      receiveBase(result, "getTransfersForTransferId");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTransfersForTransferId failed: unknown result");
+    }
+
   }
   public static class AsyncClient extends org.apache.airavata.base.api.BaseAPI.AsyncClient implements AsyncIface {
     public static class Factory implements org.apache.thrift.async.TAsyncClientFactory<AsyncClient> {
@@ -15021,6 +15211,239 @@ public class RegistryService {
       }
     }
 
+    public void isGatewayUsageReportingAvailable(java.lang.String gatewayId, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      isGatewayUsageReportingAvailable_call method_call = new isGatewayUsageReportingAvailable_call(gatewayId, computeResourceId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class isGatewayUsageReportingAvailable_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
+      private java.lang.String gatewayId;
+      private java.lang.String computeResourceId;
+      public isGatewayUsageReportingAvailable_call(java.lang.String gatewayId, java.lang.String computeResourceId, 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.gatewayId = gatewayId;
+        this.computeResourceId = computeResourceId;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isGatewayUsageReportingAvailable", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        isGatewayUsageReportingAvailable_args args = new isGatewayUsageReportingAvailable_args();
+        args.setGatewayId(gatewayId);
+        args.setComputeResourceId(computeResourceId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, 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_isGatewayUsageReportingAvailable();
+      }
+    }
+
+    public void getGatewayReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.GatewayUsageReportingCommand> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getGatewayReportingCommand_call method_call = new getGatewayReportingCommand_call(gatewayId, computeResourceId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getGatewayReportingCommand_call extends org.apache.thrift.async.TAsyncMethodCall<org.apache.airavata.model.workspace.GatewayUsageReportingCommand> {
+      private java.lang.String gatewayId;
+      private java.lang.String computeResourceId;
+      public getGatewayReportingCommand_call(java.lang.String gatewayId, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.GatewayUsageReportingCommand> 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.gatewayId = gatewayId;
+        this.computeResourceId = computeResourceId;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGatewayReportingCommand", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getGatewayReportingCommand_args args = new getGatewayReportingCommand_args();
+        args.setGatewayId(gatewayId);
+        args.setComputeResourceId(computeResourceId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public org.apache.airavata.model.workspace.GatewayUsageReportingCommand getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, 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_getGatewayReportingCommand();
+      }
+    }
+
+    public void addGatewayUsageReportingCommand(org.apache.airavata.model.workspace.GatewayUsageReportingCommand command, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      addGatewayUsageReportingCommand_call method_call = new addGatewayUsageReportingCommand_call(command, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class addGatewayUsageReportingCommand_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
+      private org.apache.airavata.model.workspace.GatewayUsageReportingCommand command;
+      public addGatewayUsageReportingCommand_call(org.apache.airavata.model.workspace.GatewayUsageReportingCommand command, org.apache.thrift.async.AsyncMethodCallback<Void> 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.command = command;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addGatewayUsageReportingCommand", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        addGatewayUsageReportingCommand_args args = new addGatewayUsageReportingCommand_args();
+        args.setCommand(command);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, 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 null;
+      }
+    }
+
+    public void removeGatewayUsageReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      removeGatewayUsageReportingCommand_call method_call = new removeGatewayUsageReportingCommand_call(gatewayId, computeResourceId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class removeGatewayUsageReportingCommand_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
+      private java.lang.String gatewayId;
+      private java.lang.String computeResourceId;
+      public removeGatewayUsageReportingCommand_call(java.lang.String gatewayId, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<Void> 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.gatewayId = gatewayId;
+        this.computeResourceId = computeResourceId;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeGatewayUsageReportingCommand", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        removeGatewayUsageReportingCommand_args args = new removeGatewayUsageReportingCommand_args();
+        args.setGatewayId(gatewayId);
+        args.setComputeResourceId(computeResourceId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, 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 null;
+      }
+    }
+
+    public void saveTransfer(org.apache.airavata.model.transfer.TransferModel transferModel, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      saveTransfer_call method_call = new saveTransfer_call(transferModel, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class saveTransfer_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
+      private org.apache.airavata.model.transfer.TransferModel transferModel;
+      public saveTransfer_call(org.apache.airavata.model.transfer.TransferModel transferModel, org.apache.thrift.async.AsyncMethodCallback<Void> 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.transferModel = transferModel;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("saveTransfer", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        saveTransfer_args args = new saveTransfer_args();
+        args.setTransferModel(transferModel);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, 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 null;
+      }
+    }
+
+    public void getTransfersForTask(java.lang.String taskId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.transfer.TransferModel>> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getTransfersForTask_call method_call = new getTransfersForTask_call(taskId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getTransfersForTask_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<org.apache.airavata.model.transfer.TransferModel>> {
+      private java.lang.String taskId;
+      public getTransfersForTask_call(java.lang.String taskId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.transfer.TransferModel>> 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.taskId = taskId;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTransfersForTask", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getTransfersForTask_args args = new getTransfersForTask_args();
+        args.setTaskId(taskId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public java.util.List<org.apache.airavata.model.transfer.TransferModel> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, 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_getTransfersForTask();
+      }
+    }
+
+    public void getTransfersForTransferId(java.lang.String transferId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.transfer.TransferModel>> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getTransfersForTransferId_call method_call = new getTransfersForTransferId_call(transferId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getTransfersForTransferId_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<org.apache.airavata.model.transfer.TransferModel>> {
+      private java.lang.String transferId;
+      public getTransfersForTransferId_call(java.lang.String transferId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.transfer.TransferModel>> 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.transferId = transferId;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTransfersForTransferId", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getTransfersForTransferId_args args = new getTransfersForTransferId_args();
+        args.setTransferId(transferId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public java.util.List<org.apache.airavata.model.transfer.TransferModel> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, 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_getTransfersForTransferId();
+      }
+    }
+
   }
 
   public static class Processor<I extends Iface> extends org.apache.airavata.base.api.BaseAPI.Processor<I> implements org.apache.thrift.TProcessor {
@@ -15230,6 +15653,13 @@ public class RegistryService {
       processMap.put("saveParsingTemplate", new saveParsingTemplate());
       processMap.put("listAllParsingTemplates", new listAllParsingTemplates());
       processMap.put("removeParsingTemplate", new removeParsingTemplate());
+      processMap.put("isGatewayUsageReportingAvailable", new isGatewayUsageReportingAvailable());
+      processMap.put("getGatewayReportingCommand", new getGatewayReportingCommand());
+      processMap.put("addGatewayUsageReportingCommand", new addGatewayUsageReportingCommand());
+      processMap.put("removeGatewayUsageReportingCommand", new removeGatewayUsageReportingCommand());
+      processMap.put("saveTransfer", new saveTransfer());
+      processMap.put("getTransfersForTask", new getTransfersForTask());
+      processMap.put("getTransfersForTransferId", new getTransfersForTransferId());
       return processMap;
     }
 
@@ -20025,6 +20455,175 @@ public class RegistryService {
       }
     }
 
+    public static class isGatewayUsageReportingAvailable<I extends Iface> extends org.apache.thrift.ProcessFunction<I, isGatewayUsageReportingAvailable_args> {
+      public isGatewayUsageReportingAvailable() {
+        super("isGatewayUsageReportingAvailable");
+      }
+
+      public isGatewayUsageReportingAvailable_args getEmptyArgsInstance() {
+        return new isGatewayUsageReportingAvailable_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public isGatewayUsageReportingAvailable_result getResult(I iface, isGatewayUsageReportingAvailable_args args) throws org.apache.thrift.TException {
+        isGatewayUsageReportingAvailable_result result = new isGatewayUsageReportingAvailable_result();
+        try {
+          result.success = iface.isGatewayUsageReportingAvailable(args.gatewayId, args.computeResourceId);
+          result.setSuccessIsSet(true);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
+    public static class getGatewayReportingCommand<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getGatewayReportingCommand_args> {
+      public getGatewayReportingCommand() {
+        super("getGatewayReportingCommand");
+      }
+
+      public getGatewayReportingCommand_args getEmptyArgsInstance() {
+        return new getGatewayReportingCommand_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public getGatewayReportingCommand_result getResult(I iface, getGatewayReportingCommand_args args) throws org.apache.thrift.TException {
+        getGatewayReportingCommand_result result = new getGatewayReportingCommand_result();
+        try {
+          result.success = iface.getGatewayReportingCommand(args.gatewayId, args.computeResourceId);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
+    public static class addGatewayUsageReportingCommand<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addGatewayUsageReportingCommand_args> {
+      public addGatewayUsageReportingCommand() {
+        super("addGatewayUsageReportingCommand");
+      }
+
+      public addGatewayUsageReportingCommand_args getEmptyArgsInstance() {
+        return new addGatewayUsageReportingCommand_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public addGatewayUsageReportingCommand_result getResult(I iface, addGatewayUsageReportingCommand_args args) throws org.apache.thrift.TException {
+        addGatewayUsageReportingCommand_result result = new addGatewayUsageReportingCommand_result();
+        try {
+          iface.addGatewayUsageReportingCommand(args.command);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
+    public static class removeGatewayUsageReportingCommand<I extends Iface> extends org.apache.thrift.ProcessFunction<I, removeGatewayUsageReportingCommand_args> {
+      public removeGatewayUsageReportingCommand() {
+        super("removeGatewayUsageReportingCommand");
+      }
+
+      public removeGatewayUsageReportingCommand_args getEmptyArgsInstance() {
+        return new removeGatewayUsageReportingCommand_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public removeGatewayUsageReportingCommand_result getResult(I iface, removeGatewayUsageReportingCommand_args args) throws org.apache.thrift.TException {
+        removeGatewayUsageReportingCommand_result result = new removeGatewayUsageReportingCommand_result();
+        try {
+          iface.removeGatewayUsageReportingCommand(args.gatewayId, args.computeResourceId);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
+    public static class saveTransfer<I extends Iface> extends org.apache.thrift.ProcessFunction<I, saveTransfer_args> {
+      public saveTransfer() {
+        super("saveTransfer");
+      }
+
+      public saveTransfer_args getEmptyArgsInstance() {
+        return new saveTransfer_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public saveTransfer_result getResult(I iface, saveTransfer_args args) throws org.apache.thrift.TException {
+        saveTransfer_result result = new saveTransfer_result();
+        try {
+          iface.saveTransfer(args.transferModel);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
+    public static class getTransfersForTask<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTransfersForTask_args> {
+      public getTransfersForTask() {
+        super("getTransfersForTask");
+      }
+
+      public getTransfersForTask_args getEmptyArgsInstance() {
+        return new getTransfersForTask_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public getTransfersForTask_result getResult(I iface, getTransfersForTask_args args) throws org.apache.thrift.TException {
+        getTransfersForTask_result result = new getTransfersForTask_result();
+        try {
+          result.success = iface.getTransfersForTask(args.taskId);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
+    public static class getTransfersForTransferId<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTransfersForTransferId_args> {
+      public getTransfersForTransferId() {
+        super("getTransfersForTransferId");
+      }
+
+      public getTransfersForTransferId_args getEmptyArgsInstance() {
+        return new getTransfersForTransferId_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public getTransfersForTransferId_result getResult(I iface, getTransfersForTransferId_args args) throws org.apache.thrift.TException {
+        getTransfersForTransferId_result result = new getTransfersForTransferId_result();
+        try {
+          result.success = iface.getTransfersForTransferId(args.transferId);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
   }
 
   public static class AsyncProcessor<I extends AsyncIface> extends org.apache.airavata.base.api.BaseAPI.AsyncProcessor<I> {
@@ -20234,6 +20833,13 @@ public class RegistryService {
       processMap.put("saveParsingTemplate", new saveParsingTemplate());
       processMap.put("listAllParsingTemplates", new listAllParsingTemplates());
       processMap.put("removeParsingTemplate", new removeParsingTemplate());
+      processMap.put("isGatewayUsageReportingAvailable", new isGatewayUsageReportingAvailable());
+      processMap.put("getGatewayReportingCommand", new getGatewayReportingCommand());
+      processMap.put("addGatewayUsageReportingCommand", new addGatewayUsageReportingCommand());
+      processMap.put("removeGatewayUsageReportingCommand", new removeGatewayUsageReportingCommand());
+      processMap.put("saveTransfer", new saveTransfer());
+      processMap.put("getTransfersForTask", new getTransfersForTask());
+      processMap.put("getTransfersForTransferId", new getTransfersForTransferId());
       return processMap;
     }
 
@@ -33075,6 +33681,459 @@ public class RegistryService {
       }
     }
 
+    public static class isGatewayUsageReportingAvailable<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isGatewayUsageReportingAvailable_args, java.lang.Boolean> {
+      public isGatewayUsageReportingAvailable() {
+        super("isGatewayUsageReportingAvailable");
+      }
+
+      public isGatewayUsageReportingAvailable_args getEmptyArgsInstance() {
+        return new isGatewayUsageReportingAvailable_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) {
+            isGatewayUsageReportingAvailable_result result = new isGatewayUsageReportingAvailable_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;
+            isGatewayUsageReportingAvailable_result result = new isGatewayUsageReportingAvailable_result();
+            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
+              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
+              result.setRseIsSet(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, isGatewayUsageReportingAvailable_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.isGatewayUsageReportingAvailable(args.gatewayId, args.computeResourceId,resultHandler);
+      }
+    }
+
+    public static class getGatewayReportingCommand<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGatewayReportingCommand_args, org.apache.airavata.model.workspace.GatewayUsageReportingCommand> {
+      public getGatewayReportingCommand() {
+        super("getGatewayReportingCommand");
+      }
+
+      public getGatewayReportingCommand_args getEmptyArgsInstance() {
+        return new getGatewayReportingCommand_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.GatewayUsageReportingCommand> 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.workspace.GatewayUsageReportingCommand>() { 
+          public void onComplete(org.apache.airavata.model.workspace.GatewayUsageReportingCommand o) {
+            getGatewayReportingCommand_result result = new getGatewayReportingCommand_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;
+            getGatewayReportingCommand_result result = new getGatewayReportingCommand_result();
+            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
+              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
+              result.setRseIsSet(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, getGatewayReportingCommand_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.GatewayUsageReportingCommand> resultHandler) throws org.apache.thrift.TException {
+        iface.getGatewayReportingCommand(args.gatewayId, args.computeResourceId,resultHandler);
+      }
+    }
+
+    public static class addGatewayUsageReportingCommand<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addGatewayUsageReportingCommand_args, Void> {
+      public addGatewayUsageReportingCommand() {
+        super("addGatewayUsageReportingCommand");
+      }
+
+      public addGatewayUsageReportingCommand_args getEmptyArgsInstance() {
+        return new addGatewayUsageReportingCommand_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<Void> 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<Void>() { 
+          public void onComplete(Void o) {
+            addGatewayUsageReportingCommand_result result = new addGatewayUsageReportingCommand_result();
+            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;
+            addGatewayUsageReportingCommand_result result = new addGatewayUsageReportingCommand_result();
+            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
+              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
+              result.setRseIsSet(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, addGatewayUsageReportingCommand_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+        iface.addGatewayUsageReportingCommand(args.command,resultHandler);
+      }
+    }
+
+    public static class removeGatewayUsageReportingCommand<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeGatewayUsageReportingCommand_args, Void> {
+      public removeGatewayUsageReportingCommand() {
+        super("removeGatewayUsageReportingCommand");
+      }
+
+      public removeGatewayUsageReportingCommand_args getEmptyArgsInstance() {
+        return new removeGatewayUsageReportingCommand_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<Void> 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<Void>() { 
+          public void onComplete(Void o) {
+            removeGatewayUsageReportingCommand_result result = new removeGatewayUsageReportingCommand_result();
+            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;
+            removeGatewayUsageReportingCommand_result result = new removeGatewayUsageReportingCommand_result();
+            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
+              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
+              result.setRseIsSet(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, removeGatewayUsageReportingCommand_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+        iface.removeGatewayUsageReportingCommand(args.gatewayId, args.computeResourceId,resultHandler);
+      }
+    }
+
+    public static class saveTransfer<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, saveTransfer_args, Void> {
+      public saveTransfer() {
+        super("saveTransfer");
+      }
+
+      public saveTransfer_args getEmptyArgsInstance() {
+        return new saveTransfer_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<Void> 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<Void>() { 
+          public void onComplete(Void o) {
+            saveTransfer_result result = new saveTransfer_result();
+            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;
+            saveTransfer_result result = new saveTransfer_result();
+            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
+              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
+              result.setRseIsSet(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, saveTransfer_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+        iface.saveTransfer(args.transferModel,resultHandler);
+      }
+    }
+
+    public static class getTransfersForTask<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getTransfersForTask_args, java.util.List<org.apache.airavata.model.transfer.TransferModel>> {
+      public getTransfersForTask() {
+        super("getTransfersForTask");
+      }
+
+      public getTransfersForTask_args getEmptyArgsInstance() {
+        return new getTransfersForTask_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.transfer.TransferModel>> 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.transfer.TransferModel>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.transfer.TransferModel> o) {
+            getTransfersForTask_result result = new getTransfersForTask_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;
+            getTransfersForTask_result result = new getTransfersForTask_result();
+            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
+              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
+              result.setRseIsSet(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, getTransfersForTask_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.transfer.TransferModel>> resultHandler) throws org.apache.thrift.TException {
+        iface.getTransfersForTask(args.taskId,resultHandler);
+      }
+    }
+
+    public static class getTransfersForTransferId<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getTransfersForTransferId_args, java.util.List<org.apache.airavata.model.transfer.TransferModel>> {
+      public getTransfersForTransferId() {
+        super("getTransfersForTransferId");
+      }
+
+      public getTransfersForTransferId_args getEmptyArgsInstance() {
+        return new getTransfersForTransferId_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.transfer.TransferModel>> 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.transfer.TransferModel>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.model.transfer.TransferModel> o) {
+            getTransfersForTransferId_result result = new getTransfersForTransferId_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;
+            getTransfersForTransferId_result result = new getTransfersForTransferId_result();
+            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
+              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
+              result.setRseIsSet(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, getTransfersForTransferId_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.transfer.TransferModel>> resultHandler) throws org.apache.thrift.TException {
+        iface.getTransfersForTransferId(args.transferId,resultHandler);
+      }
+    }
+
   }
 
   public static class isUserExists_args implements org.apache.thrift.TBase<isUserExists_args, isUserExists_args._Fields>, java.io.Serializable, Cloneable, Comparable<isUserExists_args>   {
@@ -52327,7 +53386,7 @@ public class RegistryService {
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.RESOURCE_HOST_NAME, new org.apache.thrift.meta_data.FieldMetaData("resourceHostName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.ACCESSIBLE_EXP_IDS, new org.apache.thrift.meta_data.FieldMetaData("accessibleExpIds", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      tmpMap.put(_Fields.ACCESSIBLE_EXP_IDS, new org.apache.thrift.meta_data.FieldMetaData("accessibleExpIds", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           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);
@@ -52962,9 +54021,6 @@ public class RegistryService {
       }
       // alas, we cannot check 'fromTime' because it's a primitive and you chose the non-beans generator.
       // alas, we cannot check 'toTime' because it's a primitive and you chose the non-beans generator.
-      if (accessibleExpIds == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'accessibleExpIds' was not present! Struct: " + toString());
-      }
       // check for sub-struct validity
     }
 
@@ -53149,13 +54205,6 @@ public class RegistryService {
         oprot.writeString(struct.gatewayId);
         oprot.writeI64(struct.fromTime);
         oprot.writeI64(struct.toTime);
-        {
-          oprot.writeI32(struct.accessibleExpIds.size());
-          for (java.lang.String _iter88 : struct.accessibleExpIds)
-          {
-            oprot.writeString(_iter88);
-          }
-        }
         java.util.BitSet optionals = new java.util.BitSet();
         if (struct.isSetUserName()) {
           optionals.set(0);
@@ -53166,7 +54215,10 @@ public class RegistryService {
         if (struct.isSetResourceHostName()) {
           optionals.set(2);
         }
-        oprot.writeBitSet(optionals, 3);
+        if (struct.isSetAccessibleExpIds()) {
+          optionals.set(3);
+        }
+        oprot.writeBitSet(optionals, 4);
         if (struct.isSetUserName()) {
           oprot.writeString(struct.userName);
         }
@@ -53176,6 +54228,15 @@ public class RegistryService {
         if (struct.isSetResourceHostName()) {
           oprot.writeString(struct.resourceHostName);
         }
+        if (struct.isSetAccessibleExpIds()) {
+          {
+            oprot.writeI32(struct.accessibleExpIds.size());
+            for (java.lang.String _iter88 : struct.accessibleExpIds)
+            {
+              oprot.writeString(_iter88);
+            }
+          }
+        }
       }
 
       @Override
@@ -53187,18 +54248,7 @@ public class RegistryService {
         struct.setFromTimeIsSet(true);
         struct.toTime = iprot.readI64();
         struct.setToTimeIsSet(true);
-        {
-          org.apache.thrift.protocol.TList _list89 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.accessibleExpIds = new java.util.ArrayList<java.lang.String>(_list89.size);
-          java.lang.String _elem90;
-          for (int _i91 = 0; _i91 < _list89.size; ++_i91)
-          {
-            _elem90 = iprot.readString();
-            struct.accessibleExpIds.add(_elem90);
-          }
-        }
-        struct.setAccessibleExpIdsIsSet(true);
-        java.util.BitSet incoming = iprot.readBitSet(3);
+        java.util.BitSet incoming = iprot.readBitSet(4);
         if (incoming.get(0)) {
           struct.userName = iprot.readString();
           struct.setUserNameIsSet(true);
@@ -53211,6 +54261,19 @@ public class RegistryService {
           struct.resourceHostName = iprot.readString();
           struct.setResourceHostNameIsSet(true);
         }
+        if (incoming.get(3)) {
+          {
+            org.apache.thrift.protocol.TList _list89 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+            struct.accessibleExpIds = new java.util.ArrayList<java.lang.String>(_list89.size);
+            java.lang.String _elem90;
+            for (int _i91 = 0; _i91 < _list89.size; ++_i91)
+            {
+              _elem90 = iprot.readString();
+              struct.accessibleExpIds.add(_elem90);
+            }
+          }
+          struct.setAccessibleExpIdsIsSet(true);
+        }
       }
     }
 
@@ -195492,17 +196555,5886 @@ public class RegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getGroupComputeResourcePreference_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getGroupComputeResourcePreference_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("rse:");
+      if (this.rse == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.rse);
+      }
+      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 getGroupComputeResourcePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroupComputeResourcePreference_resultStandardScheme getScheme() {
+        return new getGroupComputeResourcePreference_resultStandardScheme();
+      }
+    }
+
+    private static class getGroupComputeResourcePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePreference_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePreference_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.groupresourceprofile.GroupComputeResourcePreference();
+                struct.success.read(iprot);
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 1: // RSE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+                struct.rse.read(iprot);
+                struct.setRseIsSet(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, getGroupComputeResourcePreference_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.rse != null) {
+          oprot.writeFieldBegin(RSE_FIELD_DESC);
+          struct.rse.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getGroupComputeResourcePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroupComputeResourcePreference_resultTupleScheme getScheme() {
+        return new getGroupComputeResourcePreference_resultTupleScheme();
+      }
+    }
+
+    private static class getGroupComputeResourcePreference_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupComputeResourcePreference_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePreference_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.isSetRse()) {
+          optionals.set(1);
+        }
+        oprot.writeBitSet(optionals, 2);
+        if (struct.isSetSuccess()) {
+          struct.success.write(oprot);
+        }
+        if (struct.isSetRse()) {
+          struct.rse.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePreference_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(2);
+        if (incoming.get(0)) {
+          struct.success = new org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference();
+          struct.success.read(iprot);
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+          struct.rse.read(iprot);
+          struct.setRseIsSet(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 getGroupComputeResourcePolicy_args implements org.apache.thrift.TBase<getGroupComputeResourcePolicy_args, getGroupComputeResourcePolicy_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePolicy_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePolicy_args");
+
+    private static final org.apache.thrift.protocol.TField RESOURCE_POLICY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("resourcePolicyId", org.apache.thrift.protocol.TType.STRING, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePolicy_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePolicy_argsTupleSchemeFactory();
+
+    public java.lang.String resourcePolicyId; // 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 {
+      RESOURCE_POLICY_ID((short)1, "resourcePolicyId");
+
+      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: // RESOURCE_POLICY_ID
+            return RESOURCE_POLICY_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.RESOURCE_POLICY_ID, new org.apache.thrift.meta_data.FieldMetaData("resourcePolicyId", 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(getGroupComputeResourcePolicy_args.class, metaDataMap);
+    }
+
+    public getGroupComputeResourcePolicy_args() {
+    }
+
+    public getGroupComputeResourcePolicy_args(
+      java.lang.String resourcePolicyId)
+    {
+      this();
+      this.resourcePolicyId = resourcePolicyId;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getGroupComputeResourcePolicy_args(getGroupComputeResourcePolicy_args other) {
+      if (other.isSetResourcePolicyId()) {
+        this.resourcePolicyId = other.resourcePolicyId;
+      }
+    }
+
+    public getGroupComputeResourcePolicy_args deepCopy() {
+      return new getGroupComputeResourcePolicy_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.resourcePolicyId = null;
+    }
+
+    public java.lang.String getResourcePolicyId() {
+      return this.resourcePolicyId;
+    }
+
+    public getGroupComputeResourcePolicy_args setResourcePolicyId(java.lang.String resourcePolicyId) {
+      this.resourcePolicyId = resourcePolicyId;
+      return this;
+    }
+
+    public void unsetResourcePolicyId() {
+      this.resourcePolicyId = null;
+    }
+
+    /** Returns true if field resourcePolicyId is set (has been assigned a value) and false otherwise */
+    public boolean isSetResourcePolicyId() {
+      return this.resourcePolicyId != null;
+    }
+
+    public void setResourcePolicyIdIsSet(boolean value) {
+      if (!value) {
+        this.resourcePolicyId = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case RESOURCE_POLICY_ID:
+        if (value == null) {
+          unsetResourcePolicyId();
+        } else {
+          setResourcePolicyId((java.lang.String)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case RESOURCE_POLICY_ID:
+        return getResourcePolicyId();
+
+      }
+      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 RESOURCE_POLICY_ID:
+        return isSetResourcePolicyId();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof getGroupComputeResourcePolicy_args)
+        return this.equals((getGroupComputeResourcePolicy_args)that);
+      return false;
+    }
+
+    public boolean equals(getGroupComputeResourcePolicy_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_resourcePolicyId = true && this.isSetResourcePolicyId();
+      boolean that_present_resourcePolicyId = true && that.isSetResourcePolicyId();
+      if (this_present_resourcePolicyId || that_present_resourcePolicyId) {
+        if (!(this_present_resourcePolicyId && that_present_resourcePolicyId))
+          return false;
+        if (!this.resourcePolicyId.equals(that.resourcePolicyId))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetResourcePolicyId()) ? 131071 : 524287);
+      if (isSetResourcePolicyId())
+        hashCode = hashCode * 8191 + resourcePolicyId.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(getGroupComputeResourcePolicy_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetResourcePolicyId()).compareTo(other.isSetResourcePolicyId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetResourcePolicyId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resourcePolicyId, other.resourcePolicyId);
+        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("getGroupComputeResourcePolicy_args(");
+      boolean first = true;
+
+      sb.append("resourcePolicyId:");
+      if (this.resourcePolicyId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.resourcePolicyId);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (resourcePolicyId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'resourcePolicyId' was not present! Struct: " + toString());
+      }
+      // 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 getGroupComputeResourcePolicy_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroupComputeResourcePolicy_argsStandardScheme getScheme() {
+        return new getGroupComputeResourcePolicy_argsStandardScheme();
+      }
+    }
+
+    private static class getGroupComputeResourcePolicy_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePolicy_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePolicy_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: // RESOURCE_POLICY_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.resourcePolicyId = iprot.readString();
+                struct.setResourcePolicyIdIsSet(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, getGroupComputeResourcePolicy_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.resourcePolicyId != null) {
+          oprot.writeFieldBegin(RESOURCE_POLICY_ID_FIELD_DESC);
+          oprot.writeString(struct.resourcePolicyId);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getGroupComputeResourcePolicy_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroupComputeResourcePolicy_argsTupleScheme getScheme() {
+        return new getGroupComputeResourcePolicy_argsTupleScheme();
+      }
+    }
+
+    private static class getGroupComputeResourcePolicy_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupComputeResourcePolicy_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePolicy_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        oprot.writeString(struct.resourcePolicyId);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePolicy_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.resourcePolicyId = iprot.readString();
+        struct.setResourcePolicyIdIsSet(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 getGroupComputeResourcePolicy_result implements org.apache.thrift.TBase<getGroupComputeResourcePolicy_result, getGroupComputeResourcePolicy_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePolicy_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePolicy_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 RSE_FIELD_DESC = new org.apache.thrift.protocol.TField("rse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePolicy_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePolicy_resultTupleSchemeFactory();
+
+    public org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy success; // required
+    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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"),
+      RSE((short)1, "rse");
+
+      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: // RSE
+            return RSE;
+          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.groupresourceprofile.ComputeResourcePolicy.class)));
+      tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGroupComputeResourcePolicy_result.class, metaDataMap);
+    }
+
+    public getGroupComputeResourcePolicy_result() {
+    }
+
+    public getGroupComputeResourcePolicy_result(
+      org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy success,
+      org.apache.airavata.registry.api.exception.RegistryServiceException rse)
+    {
+      this();
+      this.success = success;
+      this.rse = rse;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getGroupComputeResourcePolicy_result(getGroupComputeResourcePolicy_result other) {
+      if (other.isSetSuccess()) {
+        this.success = new org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy(other.success);
+      }
+      if (other.isSetRse()) {
+        this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
+      }
+    }
+
+    public getGroupComputeResourcePolicy_result deepCopy() {
+      return new getGroupComputeResourcePolicy_result(this);
+    }
+
+    @Override
+    public void clear() {
+      this.success = null;
+      this.rse = null;
+    }
+
+    public org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy getSuccess() {
+      return this.success;
+    }
+
+    public getGroupComputeResourcePolicy_result setSuccess(org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy 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.registry.api.exception.RegistryServiceException getRse() {
+      return this.rse;
+    }
+
+    public getGroupComputeResourcePolicy_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+      this.rse = rse;
+      return this;
+    }
+
+    public void unsetRse() {
+      this.rse = null;
+    }
+
+    /** Returns true if field rse is set (has been assigned a value) and false otherwise */
+    public boolean isSetRse() {
+      return this.rse != null;
+    }
+
+    public void setRseIsSet(boolean value) {
+      if (!value) {
+        this.rse = 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.groupresourceprofile.ComputeResourcePolicy)value);
+        }
+        break;
+
+      case RSE:
+        if (value == null) {
+          unsetRse();
+        } else {
+          setRse((org.apache.airavata.registry.api.exception.RegistryServiceException)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return getSuccess();
+
+      case RSE:
+        return getRse();
+
+      }
+      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 RSE:
+        return isSetRse();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof getGroupComputeResourcePolicy_result)
+        return this.equals((getGroupComputeResourcePolicy_result)that);
+      return false;
+    }
+
+    public boolean equals(getGroupComputeResourcePolicy_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_rse = true && this.isSetRse();
+      boolean that_present_rse = true && that.isSetRse();
+      if (this_present_rse || that_present_rse) {
+        if (!(this_present_rse && that_present_rse))
+          return false;
+        if (!this.rse.equals(that.rse))
+          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 + ((isSetRse()) ? 131071 : 524287);
+      if (isSetRse())
+        hashCode = hashCode * 8191 + rse.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(getGroupComputeResourcePolicy_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(isSetRse()).compareTo(other.isSetRse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetRse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rse, other.rse);
+        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("getGroupComputeResourcePolicy_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("rse:");
+      if (this.rse == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.rse);
+      }
+      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 getGroupComputeResourcePolicy_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroupComputeResourcePolicy_resultStandardScheme getScheme() {
+        return new getGroupComputeResourcePolicy_resultStandardScheme();
+      }
+    }
+
+    private static class getGroupComputeResourcePolicy_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePolicy_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePolicy_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.groupresourceprofile.ComputeResourcePolicy();
+                struct.success.read(iprot);
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 1: // RSE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+                struct.rse.read(iprot);
+                struct.setRseIsSet(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, getGroupComputeResourcePolicy_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.rse != null) {
+          oprot.writeFieldBegin(RSE_FIELD_DESC);
+          struct.rse.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getGroupComputeResourcePolicy_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroupComputeResourcePolicy_resultTupleScheme getScheme() {
+        return new getGroupComputeResourcePolicy_resultTupleScheme();
+      }
+    }
+
+    private static class getGroupComputeResourcePolicy_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupComputeResourcePolicy_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePolicy_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.isSetRse()) {
+          optionals.set(1);
+        }
+        oprot.writeBitSet(optionals, 2);
+        if (struct.isSetSuccess()) {
+          struct.success.write(oprot);
+        }
+        if (struct.isSetRse()) {
+          struct.rse.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePolicy_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(2);
+        if (incoming.get(0)) {
+          struct.success = new org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy();
+          struct.success.read(iprot);
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+          struct.rse.read(iprot);
+          struct.setRseIsSet(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 getBatchQueueResourcePolicy_args implements org.apache.thrift.TBase<getBatchQueueResourcePolicy_args, getBatchQueueResourcePolicy_args._Fields>, java.io.Serializable, Cloneable, Comparable<getBatchQueueResourcePolicy_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getBatchQueueResourcePolicy_args");
+
+    private static final org.apache.thrift.protocol.TField RESOURCE_POLICY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("resourcePolicyId", org.apache.thrift.protocol.TType.STRING, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getBatchQueueResourcePolicy_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getBatchQueueResourcePolicy_argsTupleSchemeFactory();
+
+    public java.lang.String resourcePolicyId; // 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 {
+      RESOURCE_POLICY_ID((short)1, "resourcePolicyId");
+
+      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: // RESOURCE_POLICY_ID
+            return RESOURCE_POLICY_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.RESOURCE_POLICY_ID, new org.apache.thrift.meta_data.FieldMetaData("resourcePolicyId", 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(getBatchQueueResourcePolicy_args.class, metaDataMap);
+    }
+
+    public getBatchQueueResourcePolicy_args() {
+    }
+
+    public getBatchQueueResourcePolicy_args(
+      java.lang.String resourcePolicyId)
+    {
+      this();
+      this.resourcePolicyId = resourcePolicyId;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getBatchQueueResourcePolicy_args(getBatchQueueResourcePolicy_args other) {
+      if (other.isSetResourcePolicyId()) {
+        this.resourcePolicyId = other.resourcePolicyId;
+      }
+    }
+
+    public getBatchQueueResourcePolicy_args deepCopy() {
+      return new getBatchQueueResourcePolicy_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.resourcePolicyId = null;
+    }
+
+    public java.lang.String getResourcePolicyId() {
+      return this.resourcePolicyId;
+    }
+
+    public getBatchQueueResourcePolicy_args setResourcePolicyId(java.lang.String resourcePolicyId) {
+      this.resourcePolicyId = resourcePolicyId;
+      return this;
+    }
+
+    public void unsetResourcePolicyId() {
+      this.resourcePolicyId = null;
+    }
+
+    /** Returns true if field resourcePolicyId is set (has been assigned a value) and false otherwise */
+    public boolean isSetResourcePolicyId() {
+      return this.resourcePolicyId != null;
+    }
+
+    public void setResourcePolicyIdIsSet(boolean value) {
+      if (!value) {
+        this.resourcePolicyId = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case RESOURCE_POLICY_ID:
+        if (value == null) {
+          unsetResourcePolicyId();
+        } else {
+          setResourcePolicyId((java.lang.String)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case RESOURCE_POLICY_ID:
+        return getResourcePolicyId();
+
+      }
+      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 RESOURCE_POLICY_ID:
+        return isSetResourcePolicyId();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof getBatchQueueResourcePolicy_args)
+        return this.equals((getBatchQueueResourcePolicy_args)that);
+      return false;
+    }
+
+    public boolean equals(getBatchQueueResourcePolicy_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_resourcePolicyId = true && this.isSetResourcePolicyId();
+      boolean that_present_resourcePolicyId = true && that.isSetResourcePolicyId();
+      if (this_present_resourcePolicyId || that_present_resourcePolicyId) {
+        if (!(this_present_resourcePolicyId && that_present_resourcePolicyId))
+          return false;
+        if (!this.resourcePolicyId.equals(that.resourcePolicyId))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetResourcePolicyId()) ? 131071 : 524287);
+      if (isSetResourcePolicyId())
+        hashCode = hashCode * 8191 + resourcePolicyId.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(getBatchQueueResourcePolicy_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetResourcePolicyId()).compareTo(other.isSetResourcePolicyId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetResourcePolicyId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resourcePolicyId, other.resourcePolicyId);
+        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("getBatchQueueResourcePolicy_args(");
+      boolean first = true;
+
+      sb.append("resourcePolicyId:");
+      if (this.resourcePolicyId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.resourcePolicyId);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (resourcePolicyId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'resourcePolicyId' was not present! Struct: " + toString());
+      }
+      // 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 getBatchQueueResourcePolicy_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getBatchQueueResourcePolicy_argsStandardScheme getScheme() {
+        return new getBatchQueueResourcePolicy_argsStandardScheme();
+      }
+    }
+
+    private static class getBatchQueueResourcePolicy_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getBatchQueueResourcePolicy_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getBatchQueueResourcePolicy_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: // RESOURCE_POLICY_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.resourcePolicyId = iprot.readString();
+                struct.setResourcePolicyIdIsSet(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, getBatchQueueResourcePolicy_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.resourcePolicyId != null) {
+          oprot.writeFieldBegin(RESOURCE_POLICY_ID_FIELD_DESC);
+          oprot.writeString(struct.resourcePolicyId);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getBatchQueueResourcePolicy_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getBatchQueueResourcePolicy_argsTupleScheme getScheme() {
+        return new getBatchQueueResourcePolicy_argsTupleScheme();
+      }
+    }
+
+    private static class getBatchQueueResourcePolicy_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getBatchQueueResourcePolicy_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getBatchQueueResourcePolicy_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        oprot.writeString(struct.resourcePolicyId);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getBatchQueueResourcePolicy_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.resourcePolicyId = iprot.readString();
+        struct.setResourcePolicyIdIsSet(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 getBatchQueueResourcePolicy_result implements org.apache.thrift.TBase<getBatchQueueResourcePolicy_result, getBatchQueueResourcePolicy_result._Fields>, java.io.Serializable, Cloneable, Comparable<getBatchQueueResourcePolicy_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getBatchQueueResourcePolicy_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 RSE_FIELD_DESC = new org.apache.thrift.protocol.TField("rse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getBatchQueueResourcePolicy_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getBatchQueueResourcePolicy_resultTupleSchemeFactory();
+
+    public org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy success; // required
+    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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"),
+      RSE((short)1, "rse");
+
+      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: // RSE
+            return RSE;
+          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.groupresourceprofile.BatchQueueResourcePolicy.class)));
+      tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getBatchQueueResourcePolicy_result.class, metaDataMap);
+    }
+
+    public getBatchQueueResourcePolicy_result() {
+    }
+
+    public getBatchQueueResourcePolicy_result(
+      org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy success,
+      org.apache.airavata.registry.api.exception.RegistryServiceException rse)
+    {
+      this();
+      this.success = success;
+      this.rse = rse;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getBatchQueueResourcePolicy_result(getBatchQueueResourcePolicy_result other) {
+      if (other.isSetSuccess()) {
+        this.success = new org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy(other.success);
+      }
+      if (other.isSetRse()) {
+        this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
+      }
+    }
+
+    public getBatchQueueResourcePolicy_result deepCopy() {
+      return new getBatchQueueResourcePolicy_result(this);
+    }
+
+    @Override
+    public void clear() {
+      this.success = null;
+      this.rse = null;
+    }
+
+    public org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy getSuccess() {
+      return this.success;
+    }
+
+    public getBatchQueueResourcePolicy_result setSuccess(org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy 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.registry.api.exception.RegistryServiceException getRse() {
+      return this.rse;
+    }
+
+    public getBatchQueueResourcePolicy_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+      this.rse = rse;
+      return this;
+    }
+
+    public void unsetRse() {
+      this.rse = null;
+    }
+
+    /** Returns true if field rse is set (has been assigned a value) and false otherwise */
+    public boolean isSetRse() {
+      return this.rse != null;
+    }
+
+    public void setRseIsSet(boolean value) {
+      if (!value) {
+        this.rse = 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.groupresourceprofile.BatchQueueResourcePolicy)value);
+        }
+        break;
+
+      case RSE:
+        if (value == null) {
+          unsetRse();
+        } else {
+          setRse((org.apache.airavata.registry.api.exception.RegistryServiceException)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return getSuccess();
+
+      case RSE:
+        return getRse();
+
+      }
+      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 RSE:
+        return isSetRse();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof getBatchQueueResourcePolicy_result)
+        return this.equals((getBatchQueueResourcePolicy_result)that);
+      return false;
+    }
+
+    public boolean equals(getBatchQueueResourcePolicy_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_rse = true && this.isSetRse();
+      boolean that_present_rse = true && that.isSetRse();
+      if (this_present_rse || that_present_rse) {
+        if (!(this_present_rse && that_present_rse))
+          return false;
+        if (!this.rse.equals(that.rse))
+          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 + ((isSetRse()) ? 131071 : 524287);
+      if (isSetRse())
+        hashCode = hashCode * 8191 + rse.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(getBatchQueueResourcePolicy_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(isSetRse()).compareTo(other.isSetRse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetRse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rse, other.rse);
+        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("getBatchQueueResourcePolicy_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("rse:");
+      if (this.rse == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.rse);
+      }
+      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 getBatchQueueResourcePolicy_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getBatchQueueResourcePolicy_resultStandardScheme getScheme() {
+        return new getBatchQueueResourcePolicy_resultStandardScheme();
+      }
+    }
+
+    private static class getBatchQueueResourcePolicy_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getBatchQueueResourcePolicy_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getBatchQueueResourcePolicy_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.groupresourceprofile.BatchQueueResourcePolicy();
+                struct.success.read(iprot);
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 1: // RSE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+                struct.rse.read(iprot);
+                struct.setRseIsSet(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, getBatchQueueResourcePolicy_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.rse != null) {
+          oprot.writeFieldBegin(RSE_FIELD_DESC);
+          struct.rse.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getBatchQueueResourcePolicy_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getBatchQueueResourcePolicy_resultTupleScheme getScheme() {
+        return new getBatchQueueResourcePolicy_resultTupleScheme();
+      }
+    }
+
+    private static class getBatchQueueResourcePolicy_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getBatchQueueResourcePolicy_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getBatchQueueResourcePolicy_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.isSetRse()) {
+          optionals.set(1);
+        }
+        oprot.writeBitSet(optionals, 2);
+        if (struct.isSetSuccess()) {
+          struct.success.write(oprot);
+        }
+        if (struct.isSetRse()) {
+          struct.rse.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getBatchQueueResourcePolicy_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(2);
+        if (incoming.get(0)) {
+          struct.success = new org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy();
+          struct.success.read(iprot);
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+          struct.rse.read(iprot);
+          struct.setRseIsSet(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 getGroupComputeResourcePrefList_args implements org.apache.thrift.TBase<getGroupComputeResourcePrefList_args, getGroupComputeResourcePrefList_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePrefList_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePrefList_args");
+
+    private static final org.apache.thrift.protocol.TField GROUP_RESOURCE_PROFILE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupResourceProfileId", org.apache.thrift.protocol.TType.STRING, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePrefList_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePrefList_argsTupleSchemeFactory();
+
+    public java.lang.String groupResourceProfileId; // 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 {
+      GROUP_RESOURCE_PROFILE_ID((short)1, "groupResourceProfileId");
+
+      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: // GROUP_RESOURCE_PROFILE_ID
+            return GROUP_RESOURCE_PROFILE_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.GROUP_RESOURCE_PROFILE_ID, new org.apache.thrift.meta_data.FieldMetaData("groupResourceProfileId", 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(getGroupComputeResourcePrefList_args.class, metaDataMap);
+    }
+
+    public getGroupComputeResourcePrefList_args() {
+    }
+
+    public getGroupComputeResourcePrefList_args(
+      java.lang.String groupResourceProfileId)
+    {
+      this();
+      this.groupResourceProfileId = groupResourceProfileId;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getGroupComputeResourcePrefList_args(getGroupComputeResourcePrefList_args other) {
+      if (other.isSetGroupResourceProfileId()) {
+        this.groupResourceProfileId = other.groupResourceProfileId;
+      }
+    }
+
+    public getGroupComputeResourcePrefList_args deepCopy() {
+      return new getGroupComputeResourcePrefList_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.groupResourceProfileId = null;
+    }
+
+    public java.lang.String getGroupResourceProfileId() {
+      return this.groupResourceProfileId;
+    }
+
+    public getGroupComputeResourcePrefList_args setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
+      this.groupResourceProfileId = groupResourceProfileId;
+      return this;
+    }
+
+    public void unsetGroupResourceProfileId() {
+      this.groupResourceProfileId = null;
+    }
+
+    /** Returns true if field groupResourceProfileId is set (has been assigned a value) and false otherwise */
+    public boolean isSetGroupResourceProfileId() {
+      return this.groupResourceProfileId != null;
+    }
+
+    public void setGroupResourceProfileIdIsSet(boolean value) {
+      if (!value) {
+        this.groupResourceProfileId = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case GROUP_RESOURCE_PROFILE_ID:
+        if (value == null) {
+          unsetGroupResourceProfileId();
+        } else {
+          setGroupResourceProfileId((java.lang.String)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case GROUP_RESOURCE_PROFILE_ID:
+        return getGroupResourceProfileId();
+
+      }
+      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 GROUP_RESOURCE_PROFILE_ID:
+        return isSetGroupResourceProfileId();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof getGroupComputeResourcePrefList_args)
+        return this.equals((getGroupComputeResourcePrefList_args)that);
+      return false;
+    }
+
+    public boolean equals(getGroupComputeResourcePrefList_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_groupResourceProfileId = true && this.isSetGroupResourceProfileId();
+      boolean that_present_groupResourceProfileId = true && that.isSetGroupResourceProfileId();
+      if (this_present_groupResourceProfileId || that_present_groupResourceProfileId) {
+        if (!(this_present_groupResourceProfileId && that_present_groupResourceProfileId))
+          return false;
+        if (!this.groupResourceProfileId.equals(that.groupResourceProfileId))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetGroupResourceProfileId()) ? 131071 : 524287);
+      if (isSetGroupResourceProfileId())
+        hashCode = hashCode * 8191 + groupResourceProfileId.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(getGroupComputeResourcePrefList_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGroupResourceProfileId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.groupResourceProfileId, other.groupResourceProfileId);
+        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("getGroupComputeResourcePrefList_args(");
+      boolean first = true;
+
+      sb.append("groupResourceProfileId:");
+      if (this.groupResourceProfileId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.groupResourceProfileId);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (groupResourceProfileId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupResourceProfileId' was not present! Struct: " + toString());
+      }
+      // 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 getGroupComputeResourcePrefList_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroupComputeResourcePrefList_argsStandardScheme getScheme() {
+        return new getGroupComputeResourcePrefList_argsStandardScheme();
+      }
+    }
+
+    private static class getGroupComputeResourcePrefList_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePrefList_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePrefList_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: // GROUP_RESOURCE_PROFILE_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.groupResourceProfileId = iprot.readString();
+                struct.setGroupResourceProfileIdIsSet(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, getGroupComputeResourcePrefList_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.groupResourceProfileId != null) {
+          oprot.writeFieldBegin(GROUP_RESOURCE_PROFILE_ID_FIELD_DESC);
+          oprot.writeString(struct.groupResourceProfileId);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getGroupComputeResourcePrefList_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroupComputeResourcePrefList_argsTupleScheme getScheme() {
+        return new getGroupComputeResourcePrefList_argsTupleScheme();
+      }
+    }
+
+    private static class getGroupComputeResourcePrefList_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupComputeResourcePrefList_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePrefList_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        oprot.writeString(struct.groupResourceProfileId);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePrefList_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.groupResourceProfileId = iprot.readString();
+        struct.setGroupResourceProfileIdIsSet(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 getGroupComputeResourcePrefList_result implements org.apache.thrift.TBase<getGroupComputeResourcePrefList_result, getGroupComputeResourcePrefList_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePrefList_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePrefList_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 RSE_FIELD_DESC = new org.apache.thrift.protocol.TField("rse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePrefList_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePrefList_resultTupleSchemeFactory();
+
+    public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> success; // required
+    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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"),
+      RSE((short)1, "rse");
+
+      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: // RSE
+            return RSE;
+          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.groupresourceprofile.GroupComputeResourcePreference.class))));
+      tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGroupComputeResourcePrefList_result.class, metaDataMap);
+    }
+
+    public getGroupComputeResourcePrefList_result() {
+    }
+
+    public getGroupComputeResourcePrefList_result(
+      java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> success,
+      org.apache.airavata.registry.api.exception.RegistryServiceException rse)
+    {
+      this();
+      this.success = success;
+      this.rse = rse;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getGroupComputeResourcePrefList_result(getGroupComputeResourcePrefList_result other) {
+      if (other.isSetSuccess()) {
+        java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> __this__success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>(other.success.size());
+        for (org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference other_element : other.success) {
+          __this__success.add(new org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference(other_element));
+        }
+        this.success = __this__success;
+      }
+      if (other.isSetRse()) {
+        this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
+      }
+    }
+
+    public getGroupComputeResourcePrefList_result deepCopy() {
+      return new getGroupComputeResourcePrefList_result(this);
+    }
+
+    @Override
+    public void clear() {
+      this.success = null;
+      this.rse = null;
+    }
+
+    public int getSuccessSize() {
+      return (this.success == null) ? 0 : this.success.size();
+    }
+
+    public java.util.Iterator<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> getSuccessIterator() {
+      return (this.success == null) ? null : this.success.iterator();
+    }
+
+    public void addToSuccess(org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference elem) {
+      if (this.success == null) {
+        this.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>();
+      }
+      this.success.add(elem);
+    }
+
+    public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> getSuccess() {
+      return this.success;
+    }
+
+    public getGroupComputeResourcePrefList_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> 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.registry.api.exception.RegistryServiceException getRse() {
+      return this.rse;
+    }
+
+    public getGroupComputeResourcePrefList_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+      this.rse = rse;
+      return this;
+    }
+
+    public void unsetRse() {
+      this.rse = null;
+    }
+
+    /** Returns true if field rse is set (has been assigned a value) and false otherwise */
+    public boolean isSetRse() {
+      return this.rse != null;
+    }
+
+    public void setRseIsSet(boolean value) {
+      if (!value) {
+        this.rse = 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.groupresourceprofile.GroupComputeResourcePreference>)value);
+        }
+        break;
+
+      case RSE:
+        if (value == null) {
+          unsetRse();
+        } else {
+          setRse((org.apache.airavata.registry.api.exception.RegistryServiceException)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return getSuccess();
+
+      case RSE:
+        return getRse();
+
+      }
+      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 RSE:
+        return isSetRse();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof getGroupComputeResourcePrefList_result)
+        return this.equals((getGroupComputeResourcePrefList_result)that);
+      return false;
+    }
+
+    public boolean equals(getGroupComputeResourcePrefList_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_rse = true && this.isSetRse();
+      boolean that_present_rse = true && that.isSetRse();
+      if (this_present_rse || that_present_rse) {
+        if (!(this_present_rse && that_present_rse))
+          return false;
+        if (!this.rse.equals(that.rse))
+          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 + ((isSetRse()) ? 131071 : 524287);
+      if (isSetRse())
+        hashCode = hashCode * 8191 + rse.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(getGroupComputeResourcePrefList_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(isSetRse()).compareTo(other.isSetRse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetRse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rse, other.rse);
+        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("getGroupComputeResourcePrefList_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("rse:");
+      if (this.rse == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.rse);
+      }
+      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 getGroupComputeResourcePrefList_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroupComputeResourcePrefList_resultStandardScheme getScheme() {
+        return new getGroupComputeResourcePrefList_resultStandardScheme();
+      }
+    }
+
+    private static class getGroupComputeResourcePrefList_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePrefList_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePrefList_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 _list474 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>(_list474.size);
+                  org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference _elem475;
+                  for (int _i476 = 0; _i476 < _list474.size; ++_i476)
+                  {
+                    _elem475 = new org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference();
+                    _elem475.read(iprot);
+                    struct.success.add(_elem475);
+                  }
+                  iprot.readListEnd();
+                }
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 1: // RSE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+                struct.rse.read(iprot);
+                struct.setRseIsSet(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, getGroupComputeResourcePrefList_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.groupresourceprofile.GroupComputeResourcePreference _iter477 : struct.success)
+            {
+              _iter477.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+        if (struct.rse != null) {
+          oprot.writeFieldBegin(RSE_FIELD_DESC);
+          struct.rse.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getGroupComputeResourcePrefList_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroupComputeResourcePrefList_resultTupleScheme getScheme() {
+        return new getGroupComputeResourcePrefList_resultTupleScheme();
+      }
+    }
+
+    private static class getGroupComputeResourcePrefList_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupComputeResourcePrefList_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePrefList_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.isSetRse()) {
+          optionals.set(1);
+        }
+        oprot.writeBitSet(optionals, 2);
+        if (struct.isSetSuccess()) {
+          {
+            oprot.writeI32(struct.success.size());
+            for (org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference _iter478 : struct.success)
+            {
+              _iter478.write(oprot);
+            }
+          }
+        }
+        if (struct.isSetRse()) {
+          struct.rse.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePrefList_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(2);
+        if (incoming.get(0)) {
+          {
+            org.apache.thrift.protocol.TList _list479 = 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.groupresourceprofile.GroupComputeResourcePreference>(_list479.size);
+            org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference _elem480;
+            for (int _i481 = 0; _i481 < _list479.size; ++_i481)
+            {
+              _elem480 = new org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference();
+              _elem480.read(iprot);
+              struct.success.add(_elem480);
+            }
+          }
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+          struct.rse.read(iprot);
+          struct.setRseIsSet(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 getGroupBatchQueueResourcePolicyList_args implements org.apache.thrift.TBase<getGroupBatchQueueResourcePolicyList_args, getGroupBatchQueueResourcePolicyList_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupBatchQueueResourcePolicyList_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupBatchQueueResourcePolicyList_args");
+
+    private static final org.apache.thrift.protocol.TField GROUP_RESOURCE_PROFILE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupResourceProfileId", org.apache.thrift.protocol.TType.STRING, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupBatchQueueResourcePolicyList_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupBatchQueueResourcePolicyList_argsTupleSchemeFactory();
+
+    public java.lang.String groupResourceProfileId; // 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 {
+      GROUP_RESOURCE_PROFILE_ID((short)1, "groupResourceProfileId");
+
+      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: // GROUP_RESOURCE_PROFILE_ID
+            return GROUP_RESOURCE_PROFILE_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.GROUP_RESOURCE_PROFILE_ID, new org.apache.thrift.meta_data.FieldMetaData("groupResourceProfileId", 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(getGroupBatchQueueResourcePolicyList_args.class, metaDataMap);
+    }
+
+    public getGroupBatchQueueResourcePolicyList_args() {
+    }
+
+    public getGroupBatchQueueResourcePolicyList_args(
+      java.lang.String groupResourceProfileId)
+    {
+      this();
+      this.groupResourceProfileId = groupResourceProfileId;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getGroupBatchQueueResourcePolicyList_args(getGroupBatchQueueResourcePolicyList_args other) {
+      if (other.isSetGroupResourceProfileId()) {
+        this.groupResourceProfileId = other.groupResourceProfileId;
+      }
+    }
+
+    public getGroupBatchQueueResourcePolicyList_args deepCopy() {
+      return new getGroupBatchQueueResourcePolicyList_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.groupResourceProfileId = null;
+    }
+
+    public java.lang.String getGroupResourceProfileId() {
+      return this.groupResourceProfileId;
+    }
+
+    public getGroupBatchQueueResourcePolicyList_args setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
+      this.groupResourceProfileId = groupResourceProfileId;
+      return this;
+    }
+
+    public void unsetGroupResourceProfileId() {
+      this.groupResourceProfileId = null;
+    }
+
+    /** Returns true if field groupResourceProfileId is set (has been assigned a value) and false otherwise */
+    public boolean isSetGroupResourceProfileId() {
+      return this.groupResourceProfileId != null;
+    }
+
+    public void setGroupResourceProfileIdIsSet(boolean value) {
+      if (!value) {
+        this.groupResourceProfileId = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case GROUP_RESOURCE_PROFILE_ID:
+        if (value == null) {
+          unsetGroupResourceProfileId();
+        } else {
+          setGroupResourceProfileId((java.lang.String)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case GROUP_RESOURCE_PROFILE_ID:
+        return getGroupResourceProfileId();
+
+      }
+      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 GROUP_RESOURCE_PROFILE_ID:
+        return isSetGroupResourceProfileId();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof getGroupBatchQueueResourcePolicyList_args)
+        return this.equals((getGroupBatchQueueResourcePolicyList_args)that);
+      return false;
+    }
+
+    public boolean equals(getGroupBatchQueueResourcePolicyList_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_groupResourceProfileId = true && this.isSetGroupResourceProfileId();
+      boolean that_present_groupResourceProfileId = true && that.isSetGroupResourceProfileId();
+      if (this_present_groupResourceProfileId || that_present_groupResourceProfileId) {
+        if (!(this_present_groupResourceProfileId && that_present_groupResourceProfileId))
+          return false;
+        if (!this.groupResourceProfileId.equals(that.groupResourceProfileId))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetGroupResourceProfileId()) ? 131071 : 524287);
+      if (isSetGroupResourceProfileId())
+        hashCode = hashCode * 8191 + groupResourceProfileId.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(getGroupBatchQueueResourcePolicyList_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGroupResourceProfileId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.groupResourceProfileId, other.groupResourceProfileId);
+        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("getGroupBatchQueueResourcePolicyList_args(");
+      boolean first = true;
+
+      sb.append("groupResourceProfileId:");
+      if (this.groupResourceProfileId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.groupResourceProfileId);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (groupResourceProfileId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupResourceProfileId' was not present! Struct: " + toString());
+      }
+      // 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 getGroupBatchQueueResourcePolicyList_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroupBatchQueueResourcePolicyList_argsStandardScheme getScheme() {
+        return new getGroupBatchQueueResourcePolicyList_argsStandardScheme();
+      }
+    }
+
+    private static class getGroupBatchQueueResourcePolicyList_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupBatchQueueResourcePolicyList_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupBatchQueueResourcePolicyList_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: // GROUP_RESOURCE_PROFILE_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.groupResourceProfileId = iprot.readString();
+                struct.setGroupResourceProfileIdIsSet(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, getGroupBatchQueueResourcePolicyList_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.groupResourceProfileId != null) {
+          oprot.writeFieldBegin(GROUP_RESOURCE_PROFILE_ID_FIELD_DESC);
+          oprot.writeString(struct.groupResourceProfileId);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getGroupBatchQueueResourcePolicyList_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroupBatchQueueResourcePolicyList_argsTupleScheme getScheme() {
+        return new getGroupBatchQueueResourcePolicyList_argsTupleScheme();
+      }
+    }
+
+    private static class getGroupBatchQueueResourcePolicyList_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupBatchQueueResourcePolicyList_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getGroupBatchQueueResourcePolicyList_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        oprot.writeString(struct.groupResourceProfileId);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getGroupBatchQueueResourcePolicyList_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.groupResourceProfileId = iprot.readString();
+        struct.setGroupResourceProfileIdIsSet(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 getGroupBatchQueueResourcePolicyList_result implements org.apache.thrift.TBase<getGroupBatchQueueResourcePolicyList_result, getGroupBatchQueueResourcePolicyList_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupBatchQueueResourcePolicyList_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupBatchQueueResourcePolicyList_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 RSE_FIELD_DESC = new org.apache.thrift.protocol.TField("rse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupBatchQueueResourcePolicyList_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupBatchQueueResourcePolicyList_resultTupleSchemeFactory();
+
+    public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> success; // required
+    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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"),
+      RSE((short)1, "rse");
+
+      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: // RSE
+            return RSE;
+          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.groupresourceprofile.BatchQueueResourcePolicy.class))));
+      tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGroupBatchQueueResourcePolicyList_result.class, metaDataMap);
+    }
+
+    public getGroupBatchQueueResourcePolicyList_result() {
+    }
+
+    public getGroupBatchQueueResourcePolicyList_result(
+      java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> success,
+      org.apache.airavata.registry.api.exception.RegistryServiceException rse)
+    {
+      this();
+      this.success = success;
+      this.rse = rse;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getGroupBatchQueueResourcePolicyList_result(getGroupBatchQueueResourcePolicyList_result other) {
+      if (other.isSetSuccess()) {
+        java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> __this__success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>(other.success.size());
+        for (org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy other_element : other.success) {
+          __this__success.add(new org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy(other_element));
+        }
+        this.success = __this__success;
+      }
+      if (other.isSetRse()) {
+        this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
+      }
+    }
+
+    public getGroupBatchQueueResourcePolicyList_result deepCopy() {
+      return new getGroupBatchQueueResourcePolicyList_result(this);
+    }
+
+    @Override
+    public void clear() {
+      this.success = null;
+      this.rse = null;
+    }
+
+    public int getSuccessSize() {
+      return (this.success == null) ? 0 : this.success.size();
+    }
+
+    public java.util.Iterator<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> getSuccessIterator() {
+      return (this.success == null) ? null : this.success.iterator();
+    }
+
+    public void addToSuccess(org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy elem) {
+      if (this.success == null) {
+        this.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>();
+      }
+      this.success.add(elem);
+    }
+
+    public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> getSuccess() {
+      return this.success;
+    }
+
+    public getGroupBatchQueueResourcePolicyList_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> 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.registry.api.exception.RegistryServiceException getRse() {
+      return this.rse;
+    }
+
+    public getGroupBatchQueueResourcePolicyList_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+      this.rse = rse;
+      return this;
+    }
+
+    public void unsetRse() {
+      this.rse = null;
+    }
+
+    /** Returns true if field rse is set (has been assigned a value) and false otherwise */
+    public boolean isSetRse() {
+      return this.rse != null;
+    }
+
+    public void setRseIsSet(boolean value) {
+      if (!value) {
+        this.rse = 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.groupresourceprofile.BatchQueueResourcePolicy>)value);
+        }
+        break;
+
+      case RSE:
+        if (value == null) {
+          unsetRse();
+        } else {
+          setRse((org.apache.airavata.registry.api.exception.RegistryServiceException)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return getSuccess();
+
+      case RSE:
+        return getRse();
+
+      }
+      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 RSE:
+        return isSetRse();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof getGroupBatchQueueResourcePolicyList_result)
+        return this.equals((getGroupBatchQueueResourcePolicyList_result)that);
+      return false;
+    }
+
+    public boolean equals(getGroupBatchQueueResourcePolicyList_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_rse = true && this.isSetRse();
+      boolean that_present_rse = true && that.isSetRse();
+      if (this_present_rse || that_present_rse) {
+        if (!(this_present_rse && that_present_rse))
+          return false;
+        if (!this.rse.equals(that.rse))
+          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 + ((isSetRse()) ? 131071 : 524287);
+      if (isSetRse())
+        hashCode = hashCode * 8191 + rse.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(getGroupBatchQueueResourcePolicyList_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(isSetRse()).compareTo(other.isSetRse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetRse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rse, other.rse);
+        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("getGroupBatchQueueResourcePolicyList_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("rse:");
+      if (this.rse == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.rse);
+      }
+      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 getGroupBatchQueueResourcePolicyList_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroupBatchQueueResourcePolicyList_resultStandardScheme getScheme() {
+        return new getGroupBatchQueueResourcePolicyList_resultStandardScheme();
+      }
+    }
+
+    private static class getGroupBatchQueueResourcePolicyList_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupBatchQueueResourcePolicyList_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupBatchQueueResourcePolicyList_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 _list482 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>(_list482.size);
+                  org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy _elem483;
+                  for (int _i484 = 0; _i484 < _list482.size; ++_i484)
+                  {
+                    _elem483 = new org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy();
+                    _elem483.read(iprot);
+                    struct.success.add(_elem483);
+                  }
+                  iprot.readListEnd();
+                }
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 1: // RSE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+                struct.rse.read(iprot);
+                struct.setRseIsSet(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, getGroupBatchQueueResourcePolicyList_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.groupresourceprofile.BatchQueueResourcePolicy _iter485 : struct.success)
+            {
+              _iter485.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+        if (struct.rse != null) {
+          oprot.writeFieldBegin(RSE_FIELD_DESC);
+          struct.rse.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getGroupBatchQueueResourcePolicyList_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroupBatchQueueResourcePolicyList_resultTupleScheme getScheme() {
+        return new getGroupBatchQueueResourcePolicyList_resultTupleScheme();
+      }
+    }
+
+    private static class getGroupBatchQueueResourcePolicyList_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupBatchQueueResourcePolicyList_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getGroupBatchQueueResourcePolicyList_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.isSetRse()) {
+          optionals.set(1);
+        }
+        oprot.writeBitSet(optionals, 2);
+        if (struct.isSetSuccess()) {
+          {
+            oprot.writeI32(struct.success.size());
+            for (org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy _iter486 : struct.success)
+            {
+              _iter486.write(oprot);
+            }
+          }
+        }
+        if (struct.isSetRse()) {
+          struct.rse.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getGroupBatchQueueResourcePolicyList_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(2);
+        if (incoming.get(0)) {
+          {
+            org.apache.thrift.protocol.TList _list487 = 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.groupresourceprofile.BatchQueueResourcePolicy>(_list487.size);
+            org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy _elem488;
+            for (int _i489 = 0; _i489 < _list487.size; ++_i489)
+            {
+              _elem488 = new org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy();
+              _elem488.read(iprot);
+              struct.success.add(_elem488);
+            }
+          }
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+          struct.rse.read(iprot);
+          struct.setRseIsSet(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 getGroupComputeResourcePolicyList_args implements org.apache.thrift.TBase<getGroupComputeResourcePolicyList_args, getGroupComputeResourcePolicyList_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePolicyList_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePolicyList_args");
+
+    private static final org.apache.thrift.protocol.TField GROUP_RESOURCE_PROFILE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupResourceProfileId", org.apache.thrift.protocol.TType.STRING, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePolicyList_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePolicyList_argsTupleSchemeFactory();
+
+    public java.lang.String groupResourceProfileId; // 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 {
+      GROUP_RESOURCE_PROFILE_ID((short)1, "groupResourceProfileId");
+
+      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: // GROUP_RESOURCE_PROFILE_ID
+            return GROUP_RESOURCE_PROFILE_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.GROUP_RESOURCE_PROFILE_ID, new org.apache.thrift.meta_data.FieldMetaData("groupResourceProfileId", 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(getGroupComputeResourcePolicyList_args.class, metaDataMap);
+    }
+
+    public getGroupComputeResourcePolicyList_args() {
+    }
+
+    public getGroupComputeResourcePolicyList_args(
+      java.lang.String groupResourceProfileId)
+    {
+      this();
+      this.groupResourceProfileId = groupResourceProfileId;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getGroupComputeResourcePolicyList_args(getGroupComputeResourcePolicyList_args other) {
+      if (other.isSetGroupResourceProfileId()) {
+        this.groupResourceProfileId = other.groupResourceProfileId;
+      }
+    }
+
+    public getGroupComputeResourcePolicyList_args deepCopy() {
+      return new getGroupComputeResourcePolicyList_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.groupResourceProfileId = null;
+    }
+
+    public java.lang.String getGroupResourceProfileId() {
+      return this.groupResourceProfileId;
+    }
+
+    public getGroupComputeResourcePolicyList_args setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
+      this.groupResourceProfileId = groupResourceProfileId;
+      return this;
+    }
+
+    public void unsetGroupResourceProfileId() {
+      this.groupResourceProfileId = null;
+    }
+
+    /** Returns true if field groupResourceProfileId is set (has been assigned a value) and false otherwise */
+    public boolean isSetGroupResourceProfileId() {
+      return this.groupResourceProfileId != null;
+    }
+
+    public void setGroupResourceProfileIdIsSet(boolean value) {
+      if (!value) {
+        this.groupResourceProfileId = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case GROUP_RESOURCE_PROFILE_ID:
+        if (value == null) {
+          unsetGroupResourceProfileId();
+        } else {
+          setGroupResourceProfileId((java.lang.String)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case GROUP_RESOURCE_PROFILE_ID:
+        return getGroupResourceProfileId();
+
+      }
+      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 GROUP_RESOURCE_PROFILE_ID:
+        return isSetGroupResourceProfileId();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof getGroupComputeResourcePolicyList_args)
+        return this.equals((getGroupComputeResourcePolicyList_args)that);
+      return false;
+    }
+
+    public boolean equals(getGroupComputeResourcePolicyList_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_groupResourceProfileId = true && this.isSetGroupResourceProfileId();
+      boolean that_present_groupResourceProfileId = true && that.isSetGroupResourceProfileId();
+      if (this_present_groupResourceProfileId || that_present_groupResourceProfileId) {
+        if (!(this_present_groupResourceProfileId && that_present_groupResourceProfileId))
+          return false;
+        if (!this.groupResourceProfileId.equals(that.groupResourceProfileId))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetGroupResourceProfileId()) ? 131071 : 524287);
+      if (isSetGroupResourceProfileId())
+        hashCode = hashCode * 8191 + groupResourceProfileId.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(getGroupComputeResourcePolicyList_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGroupResourceProfileId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.groupResourceProfileId, other.groupResourceProfileId);
+        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("getGroupComputeResourcePolicyList_args(");
+      boolean first = true;
+
+      sb.append("groupResourceProfileId:");
+      if (this.groupResourceProfileId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.groupResourceProfileId);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (groupResourceProfileId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupResourceProfileId' was not present! Struct: " + toString());
+      }
+      // 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 getGroupComputeResourcePolicyList_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroupComputeResourcePolicyList_argsStandardScheme getScheme() {
+        return new getGroupComputeResourcePolicyList_argsStandardScheme();
+      }
+    }
+
+    private static class getGroupComputeResourcePolicyList_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePolicyList_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePolicyList_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: // GROUP_RESOURCE_PROFILE_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.groupResourceProfileId = iprot.readString();
+                struct.setGroupResourceProfileIdIsSet(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, getGroupComputeResourcePolicyList_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.groupResourceProfileId != null) {
+          oprot.writeFieldBegin(GROUP_RESOURCE_PROFILE_ID_FIELD_DESC);
+          oprot.writeString(struct.groupResourceProfileId);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getGroupComputeResourcePolicyList_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroupComputeResourcePolicyList_argsTupleScheme getScheme() {
+        return new getGroupComputeResourcePolicyList_argsTupleScheme();
+      }
+    }
+
+    private static class getGroupComputeResourcePolicyList_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupComputeResourcePolicyList_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePolicyList_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        oprot.writeString(struct.groupResourceProfileId);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePolicyList_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.groupResourceProfileId = iprot.readString();
+        struct.setGroupResourceProfileIdIsSet(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 getGroupComputeResourcePolicyList_result implements org.apache.thrift.TBase<getGroupComputeResourcePolicyList_result, getGroupComputeResourcePolicyList_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePolicyList_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePolicyList_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 RSE_FIELD_DESC = new org.apache.thrift.protocol.TField("rse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePolicyList_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePolicyList_resultTupleSchemeFactory();
+
+    public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> success; // required
+    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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"),
+      RSE((short)1, "rse");
+
+      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: // RSE
+            return RSE;
+          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.groupresourceprofile.ComputeResourcePolicy.class))));
+      tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGroupComputeResourcePolicyList_result.class, metaDataMap);
+    }
+
+    public getGroupComputeResourcePolicyList_result() {
+    }
+
+    public getGroupComputeResourcePolicyList_result(
+      java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> success,
+      org.apache.airavata.registry.api.exception.RegistryServiceException rse)
+    {
+      this();
+      this.success = success;
+      this.rse = rse;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getGroupComputeResourcePolicyList_result(getGroupComputeResourcePolicyList_result other) {
+      if (other.isSetSuccess()) {
+        java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> __this__success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>(other.success.size());
+        for (org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy other_element : other.success) {
+          __this__success.add(new org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy(other_element));
+        }
+        this.success = __this__success;
+      }
+      if (other.isSetRse()) {
+        this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
+      }
+    }
+
+    public getGroupComputeResourcePolicyList_result deepCopy() {
+      return new getGroupComputeResourcePolicyList_result(this);
+    }
+
+    @Override
+    public void clear() {
+      this.success = null;
+      this.rse = null;
+    }
+
+    public int getSuccessSize() {
+      return (this.success == null) ? 0 : this.success.size();
+    }
+
+    public java.util.Iterator<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> getSuccessIterator() {
+      return (this.success == null) ? null : this.success.iterator();
+    }
+
+    public void addToSuccess(org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy elem) {
+      if (this.success == null) {
+        this.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>();
+      }
+      this.success.add(elem);
+    }
+
+    public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> getSuccess() {
+      return this.success;
+    }
+
+    public getGroupComputeResourcePolicyList_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> 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.registry.api.exception.RegistryServiceException getRse() {
+      return this.rse;
+    }
+
+    public getGroupComputeResourcePolicyList_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+      this.rse = rse;
+      return this;
+    }
+
+    public void unsetRse() {
+      this.rse = null;
+    }
+
+    /** Returns true if field rse is set (has been assigned a value) and false otherwise */
+    public boolean isSetRse() {
+      return this.rse != null;
+    }
+
+    public void setRseIsSet(boolean value) {
+      if (!value) {
+        this.rse = 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.groupresourceprofile.ComputeResourcePolicy>)value);
+        }
+        break;
+
+      case RSE:
+        if (value == null) {
+          unsetRse();
+        } else {
+          setRse((org.apache.airavata.registry.api.exception.RegistryServiceException)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return getSuccess();
+
+      case RSE:
+        return getRse();
+
+      }
+      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 RSE:
+        return isSetRse();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof getGroupComputeResourcePolicyList_result)
+        return this.equals((getGroupComputeResourcePolicyList_result)that);
+      return false;
+    }
+
+    public boolean equals(getGroupComputeResourcePolicyList_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_rse = true && this.isSetRse();
+      boolean that_present_rse = true && that.isSetRse();
+      if (this_present_rse || that_present_rse) {
+        if (!(this_present_rse && that_present_rse))
+          return false;
+        if (!this.rse.equals(that.rse))
+          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 + ((isSetRse()) ? 131071 : 524287);
+      if (isSetRse())
+        hashCode = hashCode * 8191 + rse.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(getGroupComputeResourcePolicyList_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(isSetRse()).compareTo(other.isSetRse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetRse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rse, other.rse);
+        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("getGroupComputeResourcePolicyList_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("rse:");
+      if (this.rse == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.rse);
+      }
+      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 getGroupComputeResourcePolicyList_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroupComputeResourcePolicyList_resultStandardScheme getScheme() {
+        return new getGroupComputeResourcePolicyList_resultStandardScheme();
+      }
+    }
+
+    private static class getGroupComputeResourcePolicyList_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePolicyList_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePolicyList_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 _list490 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>(_list490.size);
+                  org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy _elem491;
+                  for (int _i492 = 0; _i492 < _list490.size; ++_i492)
+                  {
+                    _elem491 = new org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy();
+                    _elem491.read(iprot);
+                    struct.success.add(_elem491);
+                  }
+                  iprot.readListEnd();
+                }
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 1: // RSE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+                struct.rse.read(iprot);
+                struct.setRseIsSet(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, getGroupComputeResourcePolicyList_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.groupresourceprofile.ComputeResourcePolicy _iter493 : struct.success)
+            {
+              _iter493.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+        if (struct.rse != null) {
+          oprot.writeFieldBegin(RSE_FIELD_DESC);
+          struct.rse.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getGroupComputeResourcePolicyList_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGroupComputeResourcePolicyList_resultTupleScheme getScheme() {
+        return new getGroupComputeResourcePolicyList_resultTupleScheme();
+      }
+    }
+
+    private static class getGroupComputeResourcePolicyList_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupComputeResourcePolicyList_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePolicyList_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.isSetRse()) {
+          optionals.set(1);
+        }
+        oprot.writeBitSet(optionals, 2);
+        if (struct.isSetSuccess()) {
+          {
+            oprot.writeI32(struct.success.size());
+            for (org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy _iter494 : struct.success)
+            {
+              _iter494.write(oprot);
+            }
+          }
+        }
+        if (struct.isSetRse()) {
+          struct.rse.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePolicyList_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(2);
+        if (incoming.get(0)) {
+          {
+            org.apache.thrift.protocol.TList _list495 = 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.groupresourceprofile.ComputeResourcePolicy>(_list495.size);
+            org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy _elem496;
+            for (int _i497 = 0; _i497 < _list495.size; ++_i497)
+            {
+              _elem496 = new org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy();
+              _elem496.read(iprot);
+              struct.success.add(_elem496);
+            }
+          }
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+          struct.rse.read(iprot);
+          struct.setRseIsSet(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 createGatewayGroups_args implements org.apache.thrift.TBase<createGatewayGroups_args, createGatewayGroups_args._Fields>, java.io.Serializable, Cloneable, Comparable<createGatewayGroups_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createGatewayGroups_args");
+
+    private static final org.apache.thrift.protocol.TField GATEWAY_GROUPS_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayGroups", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createGatewayGroups_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createGatewayGroups_argsTupleSchemeFactory();
+
+    public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups; // 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 {
+      GATEWAY_GROUPS((short)1, "gatewayGroups");
+
+      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: // GATEWAY_GROUPS
+            return GATEWAY_GROUPS;
+          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.GATEWAY_GROUPS, new org.apache.thrift.meta_data.FieldMetaData("gatewayGroups", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createGatewayGroups_args.class, metaDataMap);
+    }
+
+    public createGatewayGroups_args() {
+    }
+
+    public createGatewayGroups_args(
+      org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups)
+    {
+      this();
+      this.gatewayGroups = gatewayGroups;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public createGatewayGroups_args(createGatewayGroups_args other) {
+      if (other.isSetGatewayGroups()) {
+        this.gatewayGroups = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups(other.gatewayGroups);
+      }
+    }
+
+    public createGatewayGroups_args deepCopy() {
+      return new createGatewayGroups_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.gatewayGroups = null;
+    }
+
+    public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups getGatewayGroups() {
+      return this.gatewayGroups;
+    }
+
+    public createGatewayGroups_args setGatewayGroups(org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups) {
+      this.gatewayGroups = gatewayGroups;
+      return this;
+    }
+
+    public void unsetGatewayGroups() {
+      this.gatewayGroups = null;
+    }
+
+    /** Returns true if field gatewayGroups is set (has been assigned a value) and false otherwise */
+    public boolean isSetGatewayGroups() {
+      return this.gatewayGroups != null;
+    }
+
+    public void setGatewayGroupsIsSet(boolean value) {
+      if (!value) {
+        this.gatewayGroups = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case GATEWAY_GROUPS:
+        if (value == null) {
+          unsetGatewayGroups();
+        } else {
+          setGatewayGroups((org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case GATEWAY_GROUPS:
+        return getGatewayGroups();
+
+      }
+      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 GATEWAY_GROUPS:
+        return isSetGatewayGroups();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof createGatewayGroups_args)
+        return this.equals((createGatewayGroups_args)that);
+      return false;
+    }
+
+    public boolean equals(createGatewayGroups_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_gatewayGroups = true && this.isSetGatewayGroups();
+      boolean that_present_gatewayGroups = true && that.isSetGatewayGroups();
+      if (this_present_gatewayGroups || that_present_gatewayGroups) {
+        if (!(this_present_gatewayGroups && that_present_gatewayGroups))
+          return false;
+        if (!this.gatewayGroups.equals(that.gatewayGroups))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetGatewayGroups()) ? 131071 : 524287);
+      if (isSetGatewayGroups())
+        hashCode = hashCode * 8191 + gatewayGroups.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(createGatewayGroups_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetGatewayGroups()).compareTo(other.isSetGatewayGroups());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGatewayGroups()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayGroups, other.gatewayGroups);
+        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("createGatewayGroups_args(");
+      boolean first = true;
+
+      sb.append("gatewayGroups:");
+      if (this.gatewayGroups == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.gatewayGroups);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (gatewayGroups == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayGroups' was not present! Struct: " + toString());
+      }
+      // check for sub-struct validity
+      if (gatewayGroups != null) {
+        gatewayGroups.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 createGatewayGroups_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public createGatewayGroups_argsStandardScheme getScheme() {
+        return new createGatewayGroups_argsStandardScheme();
+      }
+    }
+
+    private static class createGatewayGroups_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<createGatewayGroups_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, createGatewayGroups_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: // GATEWAY_GROUPS
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.gatewayGroups = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups();
+                struct.gatewayGroups.read(iprot);
+                struct.setGatewayGroupsIsSet(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, createGatewayGroups_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.gatewayGroups != null) {
+          oprot.writeFieldBegin(GATEWAY_GROUPS_FIELD_DESC);
+          struct.gatewayGroups.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class createGatewayGroups_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public createGatewayGroups_argsTupleScheme getScheme() {
+        return new createGatewayGroups_argsTupleScheme();
+      }
+    }
+
+    private static class createGatewayGroups_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<createGatewayGroups_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, createGatewayGroups_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.gatewayGroups.write(oprot);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, createGatewayGroups_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.gatewayGroups = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups();
+        struct.gatewayGroups.read(iprot);
+        struct.setGatewayGroupsIsSet(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 createGatewayGroups_result implements org.apache.thrift.TBase<createGatewayGroups_result, createGatewayGroups_result._Fields>, java.io.Serializable, Cloneable, Comparable<createGatewayGroups_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createGatewayGroups_result");
+
+    private static final org.apache.thrift.protocol.TField RSE_FIELD_DESC = new org.apache.thrift.protocol.TField("rse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField DEE_FIELD_DESC = new org.apache.thrift.protocol.TField("dee", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createGatewayGroups_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createGatewayGroups_resultTupleSchemeFactory();
+
+    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public org.apache.airavata.model.error.DuplicateEntryException dee; // required
+
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      RSE((short)1, "rse"),
+      DEE((short)2, "dee");
+
+      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: // RSE
+            return RSE;
+          case 2: // DEE
+            return DEE;
+          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.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
+      tmpMap.put(_Fields.DEE, new org.apache.thrift.meta_data.FieldMetaData("dee", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.DuplicateEntryException.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createGatewayGroups_result.class, metaDataMap);
+    }
+
+    public createGatewayGroups_result() {
+    }
+
+    public createGatewayGroups_result(
+      org.apache.airavata.registry.api.exception.RegistryServiceException rse,
+      org.apache.airavata.model.error.DuplicateEntryException dee)
+    {
+      this();
+      this.rse = rse;
+      this.dee = dee;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public createGatewayGroups_result(createGatewayGroups_result other) {
+      if (other.isSetRse()) {
+        this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
+      }
+      if (other.isSetDee()) {
+        this.dee = new org.apache.airavata.model.error.DuplicateEntryException(other.dee);
+      }
+    }
+
+    public createGatewayGroups_result deepCopy() {
+      return new createGatewayGroups_result(this);
+    }
+
+    @Override
+    public void clear() {
+      this.rse = null;
+      this.dee = null;
+    }
+
+    public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
+      return this.rse;
+    }
+
+    public createGatewayGroups_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+      this.rse = rse;
+      return this;
+    }
+
+    public void unsetRse() {
+      this.rse = null;
+    }
+
+    /** Returns true if field rse is set (has been assigned a value) and false otherwise */
+    public boolean isSetRse() {
+      return this.rse != null;
+    }
+
+    public void setRseIsSet(boolean value) {
+      if (!value) {
+        this.rse = null;
+      }
+    }
+
+    public org.apache.airavata.model.error.DuplicateEntryException getDee() {
+      return this.dee;
+    }
+
+    public createGatewayGroups_result setDee(org.apache.airavata.model.error.DuplicateEntryException dee) {
+      this.dee = dee;
+      return this;
+    }
+
+    public void unsetDee() {
+      this.dee = null;
+    }
+
+    /** Returns true if field dee is set (has been assigned a value) and false otherwise */
+    public boolean isSetDee() {
+      return this.dee != null;
+    }
+
+    public void setDeeIsSet(boolean value) {
+      if (!value) {
+        this.dee = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case RSE:
+        if (value == null) {
+          unsetRse();
+        } else {
+          setRse((org.apache.airavata.registry.api.exception.RegistryServiceException)value);
+        }
+        break;
+
+      case DEE:
+        if (value == null) {
+          unsetDee();
+        } else {
+          setDee((org.apache.airavata.model.error.DuplicateEntryException)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case RSE:
+        return getRse();
+
+      case DEE:
+        return getDee();
+
+      }
+      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 RSE:
+        return isSetRse();
+      case DEE:
+        return isSetDee();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof createGatewayGroups_result)
+        return this.equals((createGatewayGroups_result)that);
+      return false;
+    }
+
+    public boolean equals(createGatewayGroups_result that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_rse = true && this.isSetRse();
+      boolean that_present_rse = true && that.isSetRse();
+      if (this_present_rse || that_present_rse) {
+        if (!(this_present_rse && that_present_rse))
+          return false;
+        if (!this.rse.equals(that.rse))
+          return false;
+      }
+
+      boolean this_present_dee = true && this.isSetDee();
+      boolean that_present_dee = true && that.isSetDee();
+      if (this_present_dee || that_present_dee) {
+        if (!(this_present_dee && that_present_dee))
+          return false;
+        if (!this.dee.equals(that.dee))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetRse()) ? 131071 : 524287);
+      if (isSetRse())
+        hashCode = hashCode * 8191 + rse.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetDee()) ? 131071 : 524287);
+      if (isSetDee())
+        hashCode = hashCode * 8191 + dee.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(createGatewayGroups_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetRse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rse, other.rse);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetDee()).compareTo(other.isSetDee());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetDee()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dee, other.dee);
+        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("createGatewayGroups_result(");
+      boolean first = true;
+
+      sb.append("rse:");
+      if (this.rse == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.rse);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("dee:");
+      if (this.dee == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.dee);
+      }
+      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 createGatewayGroups_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public createGatewayGroups_resultStandardScheme getScheme() {
+        return new createGatewayGroups_resultStandardScheme();
+      }
+    }
+
+    private static class createGatewayGroups_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<createGatewayGroups_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, createGatewayGroups_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: // RSE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+                struct.rse.read(iprot);
+                struct.setRseIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // DEE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.dee = new org.apache.airavata.model.error.DuplicateEntryException();
+                struct.dee.read(iprot);
+                struct.setDeeIsSet(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, createGatewayGroups_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.rse != null) {
+          oprot.writeFieldBegin(RSE_FIELD_DESC);
+          struct.rse.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.dee != null) {
+          oprot.writeFieldBegin(DEE_FIELD_DESC);
+          struct.dee.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class createGatewayGroups_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public createGatewayGroups_resultTupleScheme getScheme() {
+        return new createGatewayGroups_resultTupleScheme();
+      }
+    }
+
+    private static class createGatewayGroups_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<createGatewayGroups_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, createGatewayGroups_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.isSetRse()) {
+          optionals.set(0);
+        }
+        if (struct.isSetDee()) {
+          optionals.set(1);
+        }
+        oprot.writeBitSet(optionals, 2);
+        if (struct.isSetRse()) {
+          struct.rse.write(oprot);
+        }
+        if (struct.isSetDee()) {
+          struct.dee.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, createGatewayGroups_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(2);
+        if (incoming.get(0)) {
+          struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+          struct.rse.read(iprot);
+          struct.setRseIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.dee = new org.apache.airavata.model.error.DuplicateEntryException();
+          struct.dee.read(iprot);
+          struct.setDeeIsSet(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 updateGatewayGroups_args implements org.apache.thrift.TBase<updateGatewayGroups_args, updateGatewayGroups_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateGatewayGroups_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGatewayGroups_args");
+
+    private static final org.apache.thrift.protocol.TField GATEWAY_GROUPS_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayGroups", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGatewayGroups_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGatewayGroups_argsTupleSchemeFactory();
+
+    public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups; // 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 {
+      GATEWAY_GROUPS((short)1, "gatewayGroups");
+
+      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: // GATEWAY_GROUPS
+            return GATEWAY_GROUPS;
+          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.GATEWAY_GROUPS, new org.apache.thrift.meta_data.FieldMetaData("gatewayGroups", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateGatewayGroups_args.class, metaDataMap);
+    }
+
+    public updateGatewayGroups_args() {
+    }
+
+    public updateGatewayGroups_args(
+      org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups)
+    {
+      this();
+      this.gatewayGroups = gatewayGroups;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public updateGatewayGroups_args(updateGatewayGroups_args other) {
+      if (other.isSetGatewayGroups()) {
+        this.gatewayGroups = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups(other.gatewayGroups);
+      }
+    }
+
+    public updateGatewayGroups_args deepCopy() {
+      return new updateGatewayGroups_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.gatewayGroups = null;
+    }
+
+    public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups getGatewayGroups() {
+      return this.gatewayGroups;
+    }
+
+    public updateGatewayGroups_args setGatewayGroups(org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups) {
+      this.gatewayGroups = gatewayGroups;
+      return this;
+    }
+
+    public void unsetGatewayGroups() {
+      this.gatewayGroups = null;
+    }
+
+    /** Returns true if field gatewayGroups is set (has been assigned a value) and false otherwise */
+    public boolean isSetGatewayGroups() {
+      return this.gatewayGroups != null;
+    }
+
+    public void setGatewayGroupsIsSet(boolean value) {
+      if (!value) {
+        this.gatewayGroups = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case GATEWAY_GROUPS:
+        if (value == null) {
+          unsetGatewayGroups();
+        } else {
+          setGatewayGroups((org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case GATEWAY_GROUPS:
+        return getGatewayGroups();
+
+      }
+      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 GATEWAY_GROUPS:
+        return isSetGatewayGroups();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof updateGatewayGroups_args)
+        return this.equals((updateGatewayGroups_args)that);
+      return false;
+    }
+
+    public boolean equals(updateGatewayGroups_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_gatewayGroups = true && this.isSetGatewayGroups();
+      boolean that_present_gatewayGroups = true && that.isSetGatewayGroups();
+      if (this_present_gatewayGroups || that_present_gatewayGroups) {
+        if (!(this_present_gatewayGroups && that_present_gatewayGroups))
+          return false;
+        if (!this.gatewayGroups.equals(that.gatewayGroups))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetGatewayGroups()) ? 131071 : 524287);
+      if (isSetGatewayGroups())
+        hashCode = hashCode * 8191 + gatewayGroups.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(updateGatewayGroups_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetGatewayGroups()).compareTo(other.isSetGatewayGroups());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGatewayGroups()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayGroups, other.gatewayGroups);
+        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("updateGatewayGroups_args(");
+      boolean first = true;
+
+      sb.append("gatewayGroups:");
+      if (this.gatewayGroups == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.gatewayGroups);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (gatewayGroups == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayGroups' was not present! Struct: " + toString());
+      }
+      // check for sub-struct validity
+      if (gatewayGroups != null) {
+        gatewayGroups.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 updateGatewayGroups_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public updateGatewayGroups_argsStandardScheme getScheme() {
+        return new updateGatewayGroups_argsStandardScheme();
+      }
+    }
+
+    private static class updateGatewayGroups_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGatewayGroups_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, updateGatewayGroups_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: // GATEWAY_GROUPS
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.gatewayGroups = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups();
+                struct.gatewayGroups.read(iprot);
+                struct.setGatewayGroupsIsSet(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, updateGatewayGroups_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.gatewayGroups != null) {
+          oprot.writeFieldBegin(GATEWAY_GROUPS_FIELD_DESC);
+          struct.gatewayGroups.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class updateGatewayGroups_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public updateGatewayGroups_argsTupleScheme getScheme() {
+        return new updateGatewayGroups_argsTupleScheme();
+      }
+    }
+
+    private static class updateGatewayGroups_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<updateGatewayGroups_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, updateGatewayGroups_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.gatewayGroups.write(oprot);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, updateGatewayGroups_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.gatewayGroups = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups();
+        struct.gatewayGroups.read(iprot);
+        struct.setGatewayGroupsIsSet(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 updateGatewayGroups_result implements org.apache.thrift.TBase<updateGatewayGroups_result, updateGatewayGroups_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateGatewayGroups_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGatewayGroups_result");
+
+    private static final org.apache.thrift.protocol.TField RSE_FIELD_DESC = new org.apache.thrift.protocol.TField("rse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGatewayGroups_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGatewayGroups_resultTupleSchemeFactory();
+
+    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
+      RSE((short)1, "rse");
+
+      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: // RSE
+            return RSE;
+          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.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateGatewayGroups_result.class, metaDataMap);
+    }
+
+    public updateGatewayGroups_result() {
+    }
+
+    public updateGatewayGroups_result(
+      org.apache.airavata.registry.api.exception.RegistryServiceException rse)
+    {
+      this();
+      this.rse = rse;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public updateGatewayGroups_result(updateGatewayGroups_result other) {
+      if (other.isSetRse()) {
+        this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
+      }
+    }
+
+    public updateGatewayGroups_result deepCopy() {
+      return new updateGatewayGroups_result(this);
+    }
+
+    @Override
+    public void clear() {
+      this.rse = null;
+    }
+
+    public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
+      return this.rse;
+    }
+
+    public updateGatewayGroups_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+      this.rse = rse;
+      return this;
+    }
+
+    public void unsetRse() {
+      this.rse = null;
+    }
+
+    /** Returns true if field rse is set (has been assigned a value) and false otherwise */
+    public boolean isSetRse() {
+      return this.rse != null;
+    }
+
+    public void setRseIsSet(boolean value) {
+      if (!value) {
+        this.rse = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case RSE:
+        if (value == null) {
+          unsetRse();
+        } else {
+          setRse((org.apache.airavata.registry.api.exception.RegistryServiceException)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case RSE:
+        return getRse();
+
+      }
+      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 RSE:
+        return isSetRse();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof updateGatewayGroups_result)
+        return this.equals((updateGatewayGroups_result)that);
+      return false;
+    }
+
+    public boolean equals(updateGatewayGroups_result that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_rse = true && this.isSetRse();
+      boolean that_present_rse = true && that.isSetRse();
+      if (this_present_rse || that_present_rse) {
+        if (!(this_present_rse && that_present_rse))
+          return false;
+        if (!this.rse.equals(that.rse))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetRse()) ? 131071 : 524287);
+      if (isSetRse())
+        hashCode = hashCode * 8191 + rse.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(updateGatewayGroups_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetRse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rse, other.rse);
+        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("updateGatewayGroups_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("rse:");
       if (this.rse == null) {
         sb.append("null");
@@ -195517,9 +202449,6 @@ public class RegistryService {
     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 {
@@ -195538,15 +202467,15 @@ public class RegistryService {
       }
     }
 
-    private static class getGroupComputeResourcePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getGroupComputeResourcePreference_resultStandardScheme getScheme() {
-        return new getGroupComputeResourcePreference_resultStandardScheme();
+    private static class updateGatewayGroups_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public updateGatewayGroups_resultStandardScheme getScheme() {
+        return new updateGatewayGroups_resultStandardScheme();
       }
     }
 
-    private static class getGroupComputeResourcePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePreference_result> {
+    private static class updateGatewayGroups_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGatewayGroups_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePreference_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, updateGatewayGroups_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -195556,15 +202485,6 @@ public class RegistryService {
             break;
           }
           switch (schemeField.id) {
-            case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.success = new org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference();
-                struct.success.read(iprot);
-                struct.setSuccessIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
             case 1: // RSE
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                 struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
@@ -195585,15 +202505,10 @@ public class RegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupComputeResourcePreference_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, updateGatewayGroups_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.rse != null) {
           oprot.writeFieldBegin(RSE_FIELD_DESC);
           struct.rse.write(oprot);
@@ -195605,43 +202520,32 @@ public class RegistryService {
 
     }
 
-    private static class getGroupComputeResourcePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getGroupComputeResourcePreference_resultTupleScheme getScheme() {
-        return new getGroupComputeResourcePreference_resultTupleScheme();
+    private static class updateGatewayGroups_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public updateGatewayGroups_resultTupleScheme getScheme() {
+        return new updateGatewayGroups_resultTupleScheme();
       }
     }
 
-    private static class getGroupComputeResourcePreference_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupComputeResourcePreference_result> {
+    private static class updateGatewayGroups_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<updateGatewayGroups_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePreference_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, updateGatewayGroups_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.isSetRse()) {
-          optionals.set(1);
-        }
-        oprot.writeBitSet(optionals, 2);
-        if (struct.isSetSuccess()) {
-          struct.success.write(oprot);
+          optionals.set(0);
         }
+        oprot.writeBitSet(optionals, 1);
         if (struct.isSetRse()) {
           struct.rse.write(oprot);
         }
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePreference_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, updateGatewayGroups_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(2);
+        java.util.BitSet incoming = iprot.readBitSet(1);
         if (incoming.get(0)) {
-          struct.success = new org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference();
-          struct.success.read(iprot);
-          struct.setSuccessIsSet(true);
-        }
-        if (incoming.get(1)) {
           struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
           struct.rse.read(iprot);
           struct.setRseIsSet(true);
@@ -195654,19 +202558,19 @@ public class RegistryService {
     }
   }
 
-  public static class getGroupComputeResourcePolicy_args implements org.apache.thrift.TBase<getGroupComputeResourcePolicy_args, getGroupComputeResourcePolicy_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePolicy_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePolicy_args");
+  public static class isGatewayGroupsExists_args implements org.apache.thrift.TBase<isGatewayGroupsExists_args, isGatewayGroupsExists_args._Fields>, java.io.Serializable, Cloneable, Comparable<isGatewayGroupsExists_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isGatewayGroupsExists_args");
 
-    private static final org.apache.thrift.protocol.TField RESOURCE_POLICY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("resourcePolicyId", org.apache.thrift.protocol.TType.STRING, (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)1);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePolicy_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePolicy_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isGatewayGroupsExists_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isGatewayGroupsExists_argsTupleSchemeFactory();
 
-    public java.lang.String resourcePolicyId; // 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 {
-      RESOURCE_POLICY_ID((short)1, "resourcePolicyId");
+      GATEWAY_ID((short)1, "gatewayId");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -195681,8 +202585,8 @@ public class RegistryService {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
-          case 1: // RESOURCE_POLICY_ID
-            return RESOURCE_POLICY_ID;
+          case 1: // GATEWAY_ID
+            return GATEWAY_ID;
           default:
             return null;
         }
@@ -195726,71 +202630,71 @@ public class RegistryService {
     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.RESOURCE_POLICY_ID, new org.apache.thrift.meta_data.FieldMetaData("resourcePolicyId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      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(getGroupComputeResourcePolicy_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(isGatewayGroupsExists_args.class, metaDataMap);
     }
 
-    public getGroupComputeResourcePolicy_args() {
+    public isGatewayGroupsExists_args() {
     }
 
-    public getGroupComputeResourcePolicy_args(
-      java.lang.String resourcePolicyId)
+    public isGatewayGroupsExists_args(
+      java.lang.String gatewayId)
     {
       this();
-      this.resourcePolicyId = resourcePolicyId;
+      this.gatewayId = gatewayId;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public getGroupComputeResourcePolicy_args(getGroupComputeResourcePolicy_args other) {
-      if (other.isSetResourcePolicyId()) {
-        this.resourcePolicyId = other.resourcePolicyId;
+    public isGatewayGroupsExists_args(isGatewayGroupsExists_args other) {
+      if (other.isSetGatewayId()) {
+        this.gatewayId = other.gatewayId;
       }
     }
 
-    public getGroupComputeResourcePolicy_args deepCopy() {
-      return new getGroupComputeResourcePolicy_args(this);
+    public isGatewayGroupsExists_args deepCopy() {
+      return new isGatewayGroupsExists_args(this);
     }
 
     @Override
     public void clear() {
-      this.resourcePolicyId = null;
+      this.gatewayId = null;
     }
 
-    public java.lang.String getResourcePolicyId() {
-      return this.resourcePolicyId;
+    public java.lang.String getGatewayId() {
+      return this.gatewayId;
     }
 
-    public getGroupComputeResourcePolicy_args setResourcePolicyId(java.lang.String resourcePolicyId) {
-      this.resourcePolicyId = resourcePolicyId;
+    public isGatewayGroupsExists_args setGatewayId(java.lang.String gatewayId) {
+      this.gatewayId = gatewayId;
       return this;
     }
 
-    public void unsetResourcePolicyId() {
-      this.resourcePolicyId = null;
+    public void unsetGatewayId() {
+      this.gatewayId = null;
     }
 
-    /** Returns true if field resourcePolicyId is set (has been assigned a value) and false otherwise */
-    public boolean isSetResourcePolicyId() {
-      return this.resourcePolicyId != 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 setResourcePolicyIdIsSet(boolean value) {
+    public void setGatewayIdIsSet(boolean value) {
       if (!value) {
-        this.resourcePolicyId = null;
+        this.gatewayId = null;
       }
     }
 
     public void setFieldValue(_Fields field, java.lang.Object value) {
       switch (field) {
-      case RESOURCE_POLICY_ID:
+      case GATEWAY_ID:
         if (value == null) {
-          unsetResourcePolicyId();
+          unsetGatewayId();
         } else {
-          setResourcePolicyId((java.lang.String)value);
+          setGatewayId((java.lang.String)value);
         }
         break;
 
@@ -195799,8 +202703,8 @@ public class RegistryService {
 
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
-      case RESOURCE_POLICY_ID:
-        return getResourcePolicyId();
+      case GATEWAY_ID:
+        return getGatewayId();
 
       }
       throw new java.lang.IllegalStateException();
@@ -195813,8 +202717,8 @@ public class RegistryService {
       }
 
       switch (field) {
-      case RESOURCE_POLICY_ID:
-        return isSetResourcePolicyId();
+      case GATEWAY_ID:
+        return isSetGatewayId();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -195823,23 +202727,23 @@ public class RegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof getGroupComputeResourcePolicy_args)
-        return this.equals((getGroupComputeResourcePolicy_args)that);
+      if (that instanceof isGatewayGroupsExists_args)
+        return this.equals((isGatewayGroupsExists_args)that);
       return false;
     }
 
-    public boolean equals(getGroupComputeResourcePolicy_args that) {
+    public boolean equals(isGatewayGroupsExists_args that) {
       if (that == null)
         return false;
       if (this == that)
         return true;
 
-      boolean this_present_resourcePolicyId = true && this.isSetResourcePolicyId();
-      boolean that_present_resourcePolicyId = true && that.isSetResourcePolicyId();
-      if (this_present_resourcePolicyId || that_present_resourcePolicyId) {
-        if (!(this_present_resourcePolicyId && that_present_resourcePolicyId))
+      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.resourcePolicyId.equals(that.resourcePolicyId))
+        if (!this.gatewayId.equals(that.gatewayId))
           return false;
       }
 
@@ -195850,27 +202754,27 @@ public class RegistryService {
     public int hashCode() {
       int hashCode = 1;
 
-      hashCode = hashCode * 8191 + ((isSetResourcePolicyId()) ? 131071 : 524287);
-      if (isSetResourcePolicyId())
-        hashCode = hashCode * 8191 + resourcePolicyId.hashCode();
+      hashCode = hashCode * 8191 + ((isSetGatewayId()) ? 131071 : 524287);
+      if (isSetGatewayId())
+        hashCode = hashCode * 8191 + gatewayId.hashCode();
 
       return hashCode;
     }
 
     @Override
-    public int compareTo(getGroupComputeResourcePolicy_args other) {
+    public int compareTo(isGatewayGroupsExists_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetResourcePolicyId()).compareTo(other.isSetResourcePolicyId());
+      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetResourcePolicyId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resourcePolicyId, other.resourcePolicyId);
+      if (isSetGatewayId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -195892,14 +202796,14 @@ public class RegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getGroupComputeResourcePolicy_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("isGatewayGroupsExists_args(");
       boolean first = true;
 
-      sb.append("resourcePolicyId:");
-      if (this.resourcePolicyId == null) {
+      sb.append("gatewayId:");
+      if (this.gatewayId == null) {
         sb.append("null");
       } else {
-        sb.append(this.resourcePolicyId);
+        sb.append(this.gatewayId);
       }
       first = false;
       sb.append(")");
@@ -195908,8 +202812,8 @@ public class RegistryService {
 
     public void validate() throws org.apache.thrift.TException {
       // check for required fields
-      if (resourcePolicyId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'resourcePolicyId' 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
     }
@@ -195930,15 +202834,15 @@ public class RegistryService {
       }
     }
 
-    private static class getGroupComputeResourcePolicy_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getGroupComputeResourcePolicy_argsStandardScheme getScheme() {
-        return new getGroupComputeResourcePolicy_argsStandardScheme();
+    private static class isGatewayGroupsExists_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public isGatewayGroupsExists_argsStandardScheme getScheme() {
+        return new isGatewayGroupsExists_argsStandardScheme();
       }
     }
 
-    private static class getGroupComputeResourcePolicy_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePolicy_args> {
+    private static class isGatewayGroupsExists_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isGatewayGroupsExists_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePolicy_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, isGatewayGroupsExists_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -195948,10 +202852,10 @@ public class RegistryService {
             break;
           }
           switch (schemeField.id) {
-            case 1: // RESOURCE_POLICY_ID
+            case 1: // GATEWAY_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.resourcePolicyId = iprot.readString();
-                struct.setResourcePolicyIdIsSet(true);
+                struct.gatewayId = iprot.readString();
+                struct.setGatewayIdIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -195967,13 +202871,13 @@ public class RegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupComputeResourcePolicy_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, isGatewayGroupsExists_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.resourcePolicyId != null) {
-          oprot.writeFieldBegin(RESOURCE_POLICY_ID_FIELD_DESC);
-          oprot.writeString(struct.resourcePolicyId);
+        if (struct.gatewayId != null) {
+          oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
+          oprot.writeString(struct.gatewayId);
           oprot.writeFieldEnd();
         }
         oprot.writeFieldStop();
@@ -195982,25 +202886,25 @@ public class RegistryService {
 
     }
 
-    private static class getGroupComputeResourcePolicy_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getGroupComputeResourcePolicy_argsTupleScheme getScheme() {
-        return new getGroupComputeResourcePolicy_argsTupleScheme();
+    private static class isGatewayGroupsExists_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public isGatewayGroupsExists_argsTupleScheme getScheme() {
+        return new isGatewayGroupsExists_argsTupleScheme();
       }
     }
 
-    private static class getGroupComputeResourcePolicy_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupComputeResourcePolicy_args> {
+    private static class isGatewayGroupsExists_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<isGatewayGroupsExists_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePolicy_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, isGatewayGroupsExists_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        oprot.writeString(struct.resourcePolicyId);
+        oprot.writeString(struct.gatewayId);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePolicy_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, isGatewayGroupsExists_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.resourcePolicyId = iprot.readString();
-        struct.setResourcePolicyIdIsSet(true);
+        struct.gatewayId = iprot.readString();
+        struct.setGatewayIdIsSet(true);
       }
     }
 
@@ -196009,16 +202913,16 @@ public class RegistryService {
     }
   }
 
-  public static class getGroupComputeResourcePolicy_result implements org.apache.thrift.TBase<getGroupComputeResourcePolicy_result, getGroupComputeResourcePolicy_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePolicy_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePolicy_result");
+  public static class isGatewayGroupsExists_result implements org.apache.thrift.TBase<isGatewayGroupsExists_result, isGatewayGroupsExists_result._Fields>, java.io.Serializable, Cloneable, Comparable<isGatewayGroupsExists_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isGatewayGroupsExists_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 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 RSE_FIELD_DESC = new org.apache.thrift.protocol.TField("rse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePolicy_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePolicy_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isGatewayGroupsExists_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isGatewayGroupsExists_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy success; // required
+    public boolean success; // required
     public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -196083,80 +202987,82 @@ public class RegistryService {
     }
 
     // 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.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy.class)));
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
       tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGroupComputeResourcePolicy_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(isGatewayGroupsExists_result.class, metaDataMap);
     }
 
-    public getGroupComputeResourcePolicy_result() {
+    public isGatewayGroupsExists_result() {
     }
 
-    public getGroupComputeResourcePolicy_result(
-      org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy success,
+    public isGatewayGroupsExists_result(
+      boolean success,
       org.apache.airavata.registry.api.exception.RegistryServiceException rse)
     {
       this();
       this.success = success;
+      setSuccessIsSet(true);
       this.rse = rse;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public getGroupComputeResourcePolicy_result(getGroupComputeResourcePolicy_result other) {
-      if (other.isSetSuccess()) {
-        this.success = new org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy(other.success);
-      }
+    public isGatewayGroupsExists_result(isGatewayGroupsExists_result other) {
+      __isset_bitfield = other.__isset_bitfield;
+      this.success = other.success;
       if (other.isSetRse()) {
         this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
       }
     }
 
-    public getGroupComputeResourcePolicy_result deepCopy() {
-      return new getGroupComputeResourcePolicy_result(this);
+    public isGatewayGroupsExists_result deepCopy() {
+      return new isGatewayGroupsExists_result(this);
     }
 
     @Override
     public void clear() {
-      this.success = null;
+      setSuccessIsSet(false);
+      this.success = false;
       this.rse = null;
     }
 
-    public org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy getSuccess() {
+    public boolean isSuccess() {
       return this.success;
     }
 
-    public getGroupComputeResourcePolicy_result setSuccess(org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy success) {
+    public isGatewayGroupsExists_result setSuccess(boolean success) {
       this.success = success;
+      setSuccessIsSet(true);
       return this;
     }
 
     public void unsetSuccess() {
-      this.success = null;
+      __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 this.success != null;
+      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
     }
 
     public void setSuccessIsSet(boolean value) {
-      if (!value) {
-        this.success = null;
-      }
+      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getGroupComputeResourcePolicy_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public isGatewayGroupsExists_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -196182,7 +203088,7 @@ public class RegistryService {
         if (value == null) {
           unsetSuccess();
         } else {
-          setSuccess((org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy)value);
+          setSuccess((java.lang.Boolean)value);
         }
         break;
 
@@ -196200,7 +203106,7 @@ public class RegistryService {
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
-        return getSuccess();
+        return isSuccess();
 
       case RSE:
         return getRse();
@@ -196228,23 +203134,23 @@ public class RegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof getGroupComputeResourcePolicy_result)
-        return this.equals((getGroupComputeResourcePolicy_result)that);
+      if (that instanceof isGatewayGroupsExists_result)
+        return this.equals((isGatewayGroupsExists_result)that);
       return false;
     }
 
-    public boolean equals(getGroupComputeResourcePolicy_result that) {
+    public boolean equals(isGatewayGroupsExists_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();
+      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.equals(that.success))
+        if (this.success != that.success)
           return false;
       }
 
@@ -196264,9 +203170,7 @@ public class RegistryService {
     public int hashCode() {
       int hashCode = 1;
 
-      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
-      if (isSetSuccess())
-        hashCode = hashCode * 8191 + success.hashCode();
+      hashCode = hashCode * 8191 + ((success) ? 131071 : 524287);
 
       hashCode = hashCode * 8191 + ((isSetRse()) ? 131071 : 524287);
       if (isSetRse())
@@ -196276,7 +203180,7 @@ public class RegistryService {
     }
 
     @Override
-    public int compareTo(getGroupComputeResourcePolicy_result other) {
+    public int compareTo(isGatewayGroupsExists_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -196320,15 +203224,11 @@ public class RegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getGroupComputeResourcePolicy_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("isGatewayGroupsExists_result(");
       boolean first = true;
 
       sb.append("success:");
-      if (this.success == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.success);
-      }
+      sb.append(this.success);
       first = false;
       if (!first) sb.append(", ");
       sb.append("rse:");
@@ -196345,9 +203245,6 @@ public class RegistryService {
     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 {
@@ -196360,21 +203257,23 @@ public class RegistryService {
 
     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 getGroupComputeResourcePolicy_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getGroupComputeResourcePolicy_resultStandardScheme getScheme() {
-        return new getGroupComputeResourcePolicy_resultStandardScheme();
+    private static class isGatewayGroupsExists_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public isGatewayGroupsExists_resultStandardScheme getScheme() {
+        return new isGatewayGroupsExists_resultStandardScheme();
       }
     }
 
-    private static class getGroupComputeResourcePolicy_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePolicy_result> {
+    private static class isGatewayGroupsExists_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isGatewayGroupsExists_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePolicy_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, isGatewayGroupsExists_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -196385,9 +203284,8 @@ public class RegistryService {
           }
           switch (schemeField.id) {
             case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.success = new org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy();
-                struct.success.read(iprot);
+              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);
@@ -196413,13 +203311,13 @@ public class RegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupComputeResourcePolicy_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, isGatewayGroupsExists_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.success != null) {
+        if (struct.isSetSuccess()) {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          struct.success.write(oprot);
+          oprot.writeBool(struct.success);
           oprot.writeFieldEnd();
         }
         if (struct.rse != null) {
@@ -196433,16 +203331,16 @@ public class RegistryService {
 
     }
 
-    private static class getGroupComputeResourcePolicy_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getGroupComputeResourcePolicy_resultTupleScheme getScheme() {
-        return new getGroupComputeResourcePolicy_resultTupleScheme();
+    private static class isGatewayGroupsExists_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public isGatewayGroupsExists_resultTupleScheme getScheme() {
+        return new isGatewayGroupsExists_resultTupleScheme();
       }
     }
 
-    private static class getGroupComputeResourcePolicy_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupComputeResourcePolicy_result> {
+    private static class isGatewayGroupsExists_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<isGatewayGroupsExists_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePolicy_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, isGatewayGroupsExists_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()) {
@@ -196453,7 +203351,7 @@ public class RegistryService {
         }
         oprot.writeBitSet(optionals, 2);
         if (struct.isSetSuccess()) {
-          struct.success.write(oprot);
+          oprot.writeBool(struct.success);
         }
         if (struct.isSetRse()) {
           struct.rse.write(oprot);
@@ -196461,12 +203359,11 @@ public class RegistryService {
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePolicy_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, isGatewayGroupsExists_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(2);
         if (incoming.get(0)) {
-          struct.success = new org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy();
-          struct.success.read(iprot);
+          struct.success = iprot.readBool();
           struct.setSuccessIsSet(true);
         }
         if (incoming.get(1)) {
@@ -196482,19 +203379,19 @@ public class RegistryService {
     }
   }
 
-  public static class getBatchQueueResourcePolicy_args implements org.apache.thrift.TBase<getBatchQueueResourcePolicy_args, getBatchQueueResourcePolicy_args._Fields>, java.io.Serializable, Cloneable, Comparable<getBatchQueueResourcePolicy_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getBatchQueueResourcePolicy_args");
+  public static class getGatewayGroups_args implements org.apache.thrift.TBase<getGatewayGroups_args, getGatewayGroups_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGatewayGroups_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGatewayGroups_args");
 
-    private static final org.apache.thrift.protocol.TField RESOURCE_POLICY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("resourcePolicyId", org.apache.thrift.protocol.TType.STRING, (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)1);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getBatchQueueResourcePolicy_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getBatchQueueResourcePolicy_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGatewayGroups_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGatewayGroups_argsTupleSchemeFactory();
 
-    public java.lang.String resourcePolicyId; // 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 {
-      RESOURCE_POLICY_ID((short)1, "resourcePolicyId");
+      GATEWAY_ID((short)1, "gatewayId");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -196509,8 +203406,8 @@ public class RegistryService {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
-          case 1: // RESOURCE_POLICY_ID
-            return RESOURCE_POLICY_ID;
+          case 1: // GATEWAY_ID
+            return GATEWAY_ID;
           default:
             return null;
         }
@@ -196554,71 +203451,71 @@ public class RegistryService {
     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.RESOURCE_POLICY_ID, new org.apache.thrift.meta_data.FieldMetaData("resourcePolicyId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      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(getBatchQueueResourcePolicy_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGatewayGroups_args.class, metaDataMap);
     }
 
-    public getBatchQueueResourcePolicy_args() {
+    public getGatewayGroups_args() {
     }
 
-    public getBatchQueueResourcePolicy_args(
-      java.lang.String resourcePolicyId)
+    public getGatewayGroups_args(
+      java.lang.String gatewayId)
     {
       this();
-      this.resourcePolicyId = resourcePolicyId;
+      this.gatewayId = gatewayId;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public getBatchQueueResourcePolicy_args(getBatchQueueResourcePolicy_args other) {
-      if (other.isSetResourcePolicyId()) {
-        this.resourcePolicyId = other.resourcePolicyId;
+    public getGatewayGroups_args(getGatewayGroups_args other) {
+      if (other.isSetGatewayId()) {
+        this.gatewayId = other.gatewayId;
       }
     }
 
-    public getBatchQueueResourcePolicy_args deepCopy() {
-      return new getBatchQueueResourcePolicy_args(this);
+    public getGatewayGroups_args deepCopy() {
+      return new getGatewayGroups_args(this);
     }
 
     @Override
     public void clear() {
-      this.resourcePolicyId = null;
+      this.gatewayId = null;
     }
 
-    public java.lang.String getResourcePolicyId() {
-      return this.resourcePolicyId;
+    public java.lang.String getGatewayId() {
+      return this.gatewayId;
     }
 
-    public getBatchQueueResourcePolicy_args setResourcePolicyId(java.lang.String resourcePolicyId) {
-      this.resourcePolicyId = resourcePolicyId;
+    public getGatewayGroups_args setGatewayId(java.lang.String gatewayId) {
+      this.gatewayId = gatewayId;
       return this;
     }
 
-    public void unsetResourcePolicyId() {
-      this.resourcePolicyId = null;
+    public void unsetGatewayId() {
+      this.gatewayId = null;
     }
 
-    /** Returns true if field resourcePolicyId is set (has been assigned a value) and false otherwise */
-    public boolean isSetResourcePolicyId() {
-      return this.resourcePolicyId != 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 setResourcePolicyIdIsSet(boolean value) {
+    public void setGatewayIdIsSet(boolean value) {
       if (!value) {
-        this.resourcePolicyId = null;
+        this.gatewayId = null;
       }
     }
 
     public void setFieldValue(_Fields field, java.lang.Object value) {
       switch (field) {
-      case RESOURCE_POLICY_ID:
+      case GATEWAY_ID:
         if (value == null) {
-          unsetResourcePolicyId();
+          unsetGatewayId();
         } else {
-          setResourcePolicyId((java.lang.String)value);
+          setGatewayId((java.lang.String)value);
         }
         break;
 
@@ -196627,8 +203524,8 @@ public class RegistryService {
 
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
-      case RESOURCE_POLICY_ID:
-        return getResourcePolicyId();
+      case GATEWAY_ID:
+        return getGatewayId();
 
       }
       throw new java.lang.IllegalStateException();
@@ -196641,8 +203538,8 @@ public class RegistryService {
       }
 
       switch (field) {
-      case RESOURCE_POLICY_ID:
-        return isSetResourcePolicyId();
+      case GATEWAY_ID:
+        return isSetGatewayId();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -196651,23 +203548,23 @@ public class RegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof getBatchQueueResourcePolicy_args)
-        return this.equals((getBatchQueueResourcePolicy_args)that);
+      if (that instanceof getGatewayGroups_args)
+        return this.equals((getGatewayGroups_args)that);
       return false;
     }
 
-    public boolean equals(getBatchQueueResourcePolicy_args that) {
+    public boolean equals(getGatewayGroups_args that) {
       if (that == null)
         return false;
       if (this == that)
         return true;
 
-      boolean this_present_resourcePolicyId = true && this.isSetResourcePolicyId();
-      boolean that_present_resourcePolicyId = true && that.isSetResourcePolicyId();
-      if (this_present_resourcePolicyId || that_present_resourcePolicyId) {
-        if (!(this_present_resourcePolicyId && that_present_resourcePolicyId))
+      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.resourcePolicyId.equals(that.resourcePolicyId))
+        if (!this.gatewayId.equals(that.gatewayId))
           return false;
       }
 
@@ -196678,27 +203575,27 @@ public class RegistryService {
     public int hashCode() {
       int hashCode = 1;
 
-      hashCode = hashCode * 8191 + ((isSetResourcePolicyId()) ? 131071 : 524287);
-      if (isSetResourcePolicyId())
-        hashCode = hashCode * 8191 + resourcePolicyId.hashCode();
+      hashCode = hashCode * 8191 + ((isSetGatewayId()) ? 131071 : 524287);
+      if (isSetGatewayId())
+        hashCode = hashCode * 8191 + gatewayId.hashCode();
 
       return hashCode;
     }
 
     @Override
-    public int compareTo(getBatchQueueResourcePolicy_args other) {
+    public int compareTo(getGatewayGroups_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetResourcePolicyId()).compareTo(other.isSetResourcePolicyId());
+      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetResourcePolicyId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resourcePolicyId, other.resourcePolicyId);
+      if (isSetGatewayId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -196720,14 +203617,14 @@ public class RegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getBatchQueueResourcePolicy_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getGatewayGroups_args(");
       boolean first = true;
 
-      sb.append("resourcePolicyId:");
-      if (this.resourcePolicyId == null) {
+      sb.append("gatewayId:");
+      if (this.gatewayId == null) {
         sb.append("null");
       } else {
-        sb.append(this.resourcePolicyId);
+        sb.append(this.gatewayId);
       }
       first = false;
       sb.append(")");
@@ -196736,8 +203633,8 @@ public class RegistryService {
 
     public void validate() throws org.apache.thrift.TException {
       // check for required fields
-      if (resourcePolicyId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'resourcePolicyId' 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
     }
@@ -196758,15 +203655,15 @@ public class RegistryService {
       }
     }
 
-    private static class getBatchQueueResourcePolicy_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getBatchQueueResourcePolicy_argsStandardScheme getScheme() {
-        return new getBatchQueueResourcePolicy_argsStandardScheme();
+    private static class getGatewayGroups_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGatewayGroups_argsStandardScheme getScheme() {
+        return new getGatewayGroups_argsStandardScheme();
       }
     }
 
-    private static class getBatchQueueResourcePolicy_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getBatchQueueResourcePolicy_args> {
+    private static class getGatewayGroups_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGatewayGroups_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getBatchQueueResourcePolicy_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getGatewayGroups_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -196776,10 +203673,10 @@ public class RegistryService {
             break;
           }
           switch (schemeField.id) {
-            case 1: // RESOURCE_POLICY_ID
+            case 1: // GATEWAY_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.resourcePolicyId = iprot.readString();
-                struct.setResourcePolicyIdIsSet(true);
+                struct.gatewayId = iprot.readString();
+                struct.setGatewayIdIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -196795,13 +203692,13 @@ public class RegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getBatchQueueResourcePolicy_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getGatewayGroups_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.resourcePolicyId != null) {
-          oprot.writeFieldBegin(RESOURCE_POLICY_ID_FIELD_DESC);
-          oprot.writeString(struct.resourcePolicyId);
+        if (struct.gatewayId != null) {
+          oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
+          oprot.writeString(struct.gatewayId);
           oprot.writeFieldEnd();
         }
         oprot.writeFieldStop();
@@ -196810,25 +203707,25 @@ public class RegistryService {
 
     }
 
-    private static class getBatchQueueResourcePolicy_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getBatchQueueResourcePolicy_argsTupleScheme getScheme() {
-        return new getBatchQueueResourcePolicy_argsTupleScheme();
+    private static class getGatewayGroups_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGatewayGroups_argsTupleScheme getScheme() {
+        return new getGatewayGroups_argsTupleScheme();
       }
     }
 
-    private static class getBatchQueueResourcePolicy_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getBatchQueueResourcePolicy_args> {
+    private static class getGatewayGroups_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGatewayGroups_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getBatchQueueResourcePolicy_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, getGatewayGroups_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        oprot.writeString(struct.resourcePolicyId);
+        oprot.writeString(struct.gatewayId);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getBatchQueueResourcePolicy_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, getGatewayGroups_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.resourcePolicyId = iprot.readString();
-        struct.setResourcePolicyIdIsSet(true);
+        struct.gatewayId = iprot.readString();
+        struct.setGatewayIdIsSet(true);
       }
     }
 
@@ -196837,16 +203734,16 @@ public class RegistryService {
     }
   }
 
-  public static class getBatchQueueResourcePolicy_result implements org.apache.thrift.TBase<getBatchQueueResourcePolicy_result, getBatchQueueResourcePolicy_result._Fields>, java.io.Serializable, Cloneable, Comparable<getBatchQueueResourcePolicy_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getBatchQueueResourcePolicy_result");
+  public static class getGatewayGroups_result implements org.apache.thrift.TBase<getGatewayGroups_result, getGatewayGroups_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGatewayGroups_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGatewayGroups_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 RSE_FIELD_DESC = new org.apache.thrift.protocol.TField("rse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getBatchQueueResourcePolicy_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getBatchQueueResourcePolicy_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGatewayGroups_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGatewayGroups_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy success; // required
+    public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups success; // required
     public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -196915,18 +203812,18 @@ public class RegistryService {
     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.groupresourceprofile.BatchQueueResourcePolicy.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups.class)));
       tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getBatchQueueResourcePolicy_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGatewayGroups_result.class, metaDataMap);
     }
 
-    public getBatchQueueResourcePolicy_result() {
+    public getGatewayGroups_result() {
     }
 
-    public getBatchQueueResourcePolicy_result(
-      org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy success,
+    public getGatewayGroups_result(
+      org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups success,
       org.apache.airavata.registry.api.exception.RegistryServiceException rse)
     {
       this();
@@ -196937,17 +203834,17 @@ public class RegistryService {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public getBatchQueueResourcePolicy_result(getBatchQueueResourcePolicy_result other) {
+    public getGatewayGroups_result(getGatewayGroups_result other) {
       if (other.isSetSuccess()) {
-        this.success = new org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy(other.success);
+        this.success = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups(other.success);
       }
       if (other.isSetRse()) {
         this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
       }
     }
 
-    public getBatchQueueResourcePolicy_result deepCopy() {
-      return new getBatchQueueResourcePolicy_result(this);
+    public getGatewayGroups_result deepCopy() {
+      return new getGatewayGroups_result(this);
     }
 
     @Override
@@ -196956,11 +203853,11 @@ public class RegistryService {
       this.rse = null;
     }
 
-    public org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy getSuccess() {
+    public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups getSuccess() {
       return this.success;
     }
 
-    public getBatchQueueResourcePolicy_result setSuccess(org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy success) {
+    public getGatewayGroups_result setSuccess(org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups success) {
       this.success = success;
       return this;
     }
@@ -196984,7 +203881,7 @@ public class RegistryService {
       return this.rse;
     }
 
-    public getBatchQueueResourcePolicy_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getGatewayGroups_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -197010,7 +203907,7 @@ public class RegistryService {
         if (value == null) {
           unsetSuccess();
         } else {
-          setSuccess((org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy)value);
+          setSuccess((org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups)value);
         }
         break;
 
@@ -197056,12 +203953,12 @@ public class RegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof getBatchQueueResourcePolicy_result)
-        return this.equals((getBatchQueueResourcePolicy_result)that);
+      if (that instanceof getGatewayGroups_result)
+        return this.equals((getGatewayGroups_result)that);
       return false;
     }
 
-    public boolean equals(getBatchQueueResourcePolicy_result that) {
+    public boolean equals(getGatewayGroups_result that) {
       if (that == null)
         return false;
       if (this == that)
@@ -197104,7 +204001,7 @@ public class RegistryService {
     }
 
     @Override
-    public int compareTo(getBatchQueueResourcePolicy_result other) {
+    public int compareTo(getGatewayGroups_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -197148,7 +204045,7 @@ public class RegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getBatchQueueResourcePolicy_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getGatewayGroups_result(");
       boolean first = true;
 
       sb.append("success:");
@@ -197194,15 +204091,15 @@ public class RegistryService {
       }
     }
 
-    private static class getBatchQueueResourcePolicy_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getBatchQueueResourcePolicy_resultStandardScheme getScheme() {
-        return new getBatchQueueResourcePolicy_resultStandardScheme();
+    private static class getGatewayGroups_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGatewayGroups_resultStandardScheme getScheme() {
+        return new getGatewayGroups_resultStandardScheme();
       }
     }
 
-    private static class getBatchQueueResourcePolicy_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getBatchQueueResourcePolicy_result> {
+    private static class getGatewayGroups_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGatewayGroups_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getBatchQueueResourcePolicy_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getGatewayGroups_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -197214,7 +204111,7 @@ public class RegistryService {
           switch (schemeField.id) {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.success = new org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy();
+                struct.success = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups();
                 struct.success.read(iprot);
                 struct.setSuccessIsSet(true);
               } else { 
@@ -197241,7 +204138,7 @@ public class RegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getBatchQueueResourcePolicy_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getGatewayGroups_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -197261,16 +204158,16 @@ public class RegistryService {
 
     }
 
-    private static class getBatchQueueResourcePolicy_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getBatchQueueResourcePolicy_resultTupleScheme getScheme() {
-        return new getBatchQueueResourcePolicy_resultTupleScheme();
+    private static class getGatewayGroups_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getGatewayGroups_resultTupleScheme getScheme() {
+        return new getGatewayGroups_resultTupleScheme();
       }
     }
 
-    private static class getBatchQueueResourcePolicy_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getBatchQueueResourcePolicy_result> {
+    private static class getGatewayGroups_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGatewayGroups_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getBatchQueueResourcePolicy_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, getGatewayGroups_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()) {
@@ -197289,11 +204186,11 @@ public class RegistryService {
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getBatchQueueResourcePolicy_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, getGatewayGroups_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(2);
         if (incoming.get(0)) {
-          struct.success = new org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy();
+          struct.success = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups();
           struct.success.read(iprot);
           struct.setSuccessIsSet(true);
         }
@@ -197310,19 +204207,22 @@ public class RegistryService {
     }
   }
 
-  public static class getGroupComputeResourcePrefList_args implements org.apache.thrift.TBase<getGroupComputeResourcePrefList_args, getGroupComputeResourcePrefList_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePrefList_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePrefList_args");
+  public static class getParser_args implements org.apache.thrift.TBase<getParser_args, getParser_args._Fields>, java.io.Serializable, Cloneable, Comparable<getParser_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParser_args");
 
-    private static final org.apache.thrift.protocol.TField GROUP_RESOURCE_PROFILE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupResourceProfileId", org.apache.thrift.protocol.TType.STRING, (short)1);
+    private static final org.apache.thrift.protocol.TField PARSER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("parserId", org.apache.thrift.protocol.TType.STRING, (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 getGroupComputeResourcePrefList_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePrefList_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParser_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParser_argsTupleSchemeFactory();
 
-    public java.lang.String groupResourceProfileId; // required
+    public java.lang.String parserId; // 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 {
-      GROUP_RESOURCE_PROFILE_ID((short)1, "groupResourceProfileId");
+      PARSER_ID((short)1, "parserId"),
+      GATEWAY_ID((short)2, "gatewayId");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -197337,8 +204237,10 @@ public class RegistryService {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
-          case 1: // GROUP_RESOURCE_PROFILE_ID
-            return GROUP_RESOURCE_PROFILE_ID;
+          case 1: // PARSER_ID
+            return PARSER_ID;
+          case 2: // GATEWAY_ID
+            return GATEWAY_ID;
           default:
             return null;
         }
@@ -197382,71 +204284,111 @@ public class RegistryService {
     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.GROUP_RESOURCE_PROFILE_ID, new org.apache.thrift.meta_data.FieldMetaData("groupResourceProfileId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      tmpMap.put(_Fields.PARSER_ID, new org.apache.thrift.meta_data.FieldMetaData("parserId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          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.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(getGroupComputeResourcePrefList_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getParser_args.class, metaDataMap);
     }
 
-    public getGroupComputeResourcePrefList_args() {
+    public getParser_args() {
     }
 
-    public getGroupComputeResourcePrefList_args(
-      java.lang.String groupResourceProfileId)
+    public getParser_args(
+      java.lang.String parserId,
+      java.lang.String gatewayId)
     {
       this();
-      this.groupResourceProfileId = groupResourceProfileId;
+      this.parserId = parserId;
+      this.gatewayId = gatewayId;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public getGroupComputeResourcePrefList_args(getGroupComputeResourcePrefList_args other) {
-      if (other.isSetGroupResourceProfileId()) {
-        this.groupResourceProfileId = other.groupResourceProfileId;
+    public getParser_args(getParser_args other) {
+      if (other.isSetParserId()) {
+        this.parserId = other.parserId;
+      }
+      if (other.isSetGatewayId()) {
+        this.gatewayId = other.gatewayId;
       }
     }
 
-    public getGroupComputeResourcePrefList_args deepCopy() {
-      return new getGroupComputeResourcePrefList_args(this);
+    public getParser_args deepCopy() {
+      return new getParser_args(this);
     }
 
     @Override
     public void clear() {
-      this.groupResourceProfileId = null;
+      this.parserId = null;
+      this.gatewayId = null;
     }
 
-    public java.lang.String getGroupResourceProfileId() {
-      return this.groupResourceProfileId;
+    public java.lang.String getParserId() {
+      return this.parserId;
     }
 
-    public getGroupComputeResourcePrefList_args setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
-      this.groupResourceProfileId = groupResourceProfileId;
+    public getParser_args setParserId(java.lang.String parserId) {
+      this.parserId = parserId;
       return this;
     }
 
-    public void unsetGroupResourceProfileId() {
-      this.groupResourceProfileId = null;
+    public void unsetParserId() {
+      this.parserId = null;
     }
 
-    /** Returns true if field groupResourceProfileId is set (has been assigned a value) and false otherwise */
-    public boolean isSetGroupResourceProfileId() {
-      return this.groupResourceProfileId != null;
+    /** Returns true if field parserId is set (has been assigned a value) and false otherwise */
+    public boolean isSetParserId() {
+      return this.parserId != null;
     }
 
-    public void setGroupResourceProfileIdIsSet(boolean value) {
+    public void setParserIdIsSet(boolean value) {
       if (!value) {
-        this.groupResourceProfileId = null;
+        this.parserId = null;
+      }
+    }
+
+    public java.lang.String getGatewayId() {
+      return this.gatewayId;
+    }
+
+    public getParser_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 GROUP_RESOURCE_PROFILE_ID:
+      case PARSER_ID:
         if (value == null) {
-          unsetGroupResourceProfileId();
+          unsetParserId();
         } else {
-          setGroupResourceProfileId((java.lang.String)value);
+          setParserId((java.lang.String)value);
+        }
+        break;
+
+      case GATEWAY_ID:
+        if (value == null) {
+          unsetGatewayId();
+        } else {
+          setGatewayId((java.lang.String)value);
         }
         break;
 
@@ -197455,8 +204397,11 @@ public class RegistryService {
 
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
-      case GROUP_RESOURCE_PROFILE_ID:
-        return getGroupResourceProfileId();
+      case PARSER_ID:
+        return getParserId();
+
+      case GATEWAY_ID:
+        return getGatewayId();
 
       }
       throw new java.lang.IllegalStateException();
@@ -197469,8 +204414,10 @@ public class RegistryService {
       }
 
       switch (field) {
-      case GROUP_RESOURCE_PROFILE_ID:
-        return isSetGroupResourceProfileId();
+      case PARSER_ID:
+        return isSetParserId();
+      case GATEWAY_ID:
+        return isSetGatewayId();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -197479,23 +204426,32 @@ public class RegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof getGroupComputeResourcePrefList_args)
-        return this.equals((getGroupComputeResourcePrefList_args)that);
+      if (that instanceof getParser_args)
+        return this.equals((getParser_args)that);
       return false;
     }
 
-    public boolean equals(getGroupComputeResourcePrefList_args that) {
+    public boolean equals(getParser_args that) {
       if (that == null)
         return false;
       if (this == that)
         return true;
 
-      boolean this_present_groupResourceProfileId = true && this.isSetGroupResourceProfileId();
-      boolean that_present_groupResourceProfileId = true && that.isSetGroupResourceProfileId();
-      if (this_present_groupResourceProfileId || that_present_groupResourceProfileId) {
-        if (!(this_present_groupResourceProfileId && that_present_groupResourceProfileId))
+      boolean this_present_parserId = true && this.isSetParserId();
+      boolean that_present_parserId = true && that.isSetParserId();
+      if (this_present_parserId || that_present_parserId) {
+        if (!(this_present_parserId && that_present_parserId))
           return false;
-        if (!this.groupResourceProfileId.equals(that.groupResourceProfileId))
+        if (!this.parserId.equals(that.parserId))
+          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;
       }
 
@@ -197506,27 +204462,41 @@ public class RegistryService {
     public int hashCode() {
       int hashCode = 1;
 
-      hashCode = hashCode * 8191 + ((isSetGroupResourceProfileId()) ? 131071 : 524287);
-      if (isSetGroupResourceProfileId())
-        hashCode = hashCode * 8191 + groupResourceProfileId.hashCode();
+      hashCode = hashCode * 8191 + ((isSetParserId()) ? 131071 : 524287);
+      if (isSetParserId())
+        hashCode = hashCode * 8191 + parserId.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetGatewayId()) ? 131071 : 524287);
+      if (isSetGatewayId())
+        hashCode = hashCode * 8191 + gatewayId.hashCode();
 
       return hashCode;
     }
 
     @Override
-    public int compareTo(getGroupComputeResourcePrefList_args other) {
+    public int compareTo(getParser_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+      lastComparison = java.lang.Boolean.valueOf(isSetParserId()).compareTo(other.isSetParserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetGroupResourceProfileId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.groupResourceProfileId, other.groupResourceProfileId);
+      if (isSetParserId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.parserId, other.parserId);
+        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;
         }
@@ -197548,14 +204518,22 @@ public class RegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getGroupComputeResourcePrefList_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getParser_args(");
       boolean first = true;
 
-      sb.append("groupResourceProfileId:");
-      if (this.groupResourceProfileId == null) {
+      sb.append("parserId:");
+      if (this.parserId == null) {
         sb.append("null");
       } else {
-        sb.append(this.groupResourceProfileId);
+        sb.append(this.parserId);
+      }
+      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(")");
@@ -197564,8 +204542,11 @@ public class RegistryService {
 
     public void validate() throws org.apache.thrift.TException {
       // check for required fields
-      if (groupResourceProfileId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupResourceProfileId' was not present! Struct: " + toString());
+      if (parserId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'parserId' 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
     }
@@ -197586,15 +204567,15 @@ public class RegistryService {
       }
     }
 
-    private static class getGroupComputeResourcePrefList_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getGroupComputeResourcePrefList_argsStandardScheme getScheme() {
-        return new getGroupComputeResourcePrefList_argsStandardScheme();
+    private static class getParser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getParser_argsStandardScheme getScheme() {
+        return new getParser_argsStandardScheme();
       }
     }
 
-    private static class getGroupComputeResourcePrefList_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePrefList_args> {
+    private static class getParser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParser_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePrefList_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getParser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -197604,10 +204585,18 @@ public class RegistryService {
             break;
           }
           switch (schemeField.id) {
-            case 1: // GROUP_RESOURCE_PROFILE_ID
+            case 1: // PARSER_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.groupResourceProfileId = iprot.readString();
-                struct.setGroupResourceProfileIdIsSet(true);
+                struct.parserId = iprot.readString();
+                struct.setParserIdIsSet(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);
               }
@@ -197623,13 +204612,18 @@ public class RegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupComputeResourcePrefList_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getParser_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.groupResourceProfileId != null) {
-          oprot.writeFieldBegin(GROUP_RESOURCE_PROFILE_ID_FIELD_DESC);
-          oprot.writeString(struct.groupResourceProfileId);
+        if (struct.parserId != null) {
+          oprot.writeFieldBegin(PARSER_ID_FIELD_DESC);
+          oprot.writeString(struct.parserId);
+          oprot.writeFieldEnd();
+        }
+        if (struct.gatewayId != null) {
+          oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
+          oprot.writeString(struct.gatewayId);
           oprot.writeFieldEnd();
         }
         oprot.writeFieldStop();
@@ -197638,25 +204632,28 @@ public class RegistryService {
 
     }
 
-    private static class getGroupComputeResourcePrefList_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getGroupComputeResourcePrefList_argsTupleScheme getScheme() {
-        return new getGroupComputeResourcePrefList_argsTupleScheme();
+    private static class getParser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getParser_argsTupleScheme getScheme() {
+        return new getParser_argsTupleScheme();
       }
     }
 
-    private static class getGroupComputeResourcePrefList_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupComputeResourcePrefList_args> {
+    private static class getParser_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getParser_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePrefList_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, getParser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        oprot.writeString(struct.groupResourceProfileId);
+        oprot.writeString(struct.parserId);
+        oprot.writeString(struct.gatewayId);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePrefList_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, getParser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.groupResourceProfileId = iprot.readString();
-        struct.setGroupResourceProfileIdIsSet(true);
+        struct.parserId = iprot.readString();
+        struct.setParserIdIsSet(true);
+        struct.gatewayId = iprot.readString();
+        struct.setGatewayIdIsSet(true);
       }
     }
 
@@ -197665,16 +204662,16 @@ public class RegistryService {
     }
   }
 
-  public static class getGroupComputeResourcePrefList_result implements org.apache.thrift.TBase<getGroupComputeResourcePrefList_result, getGroupComputeResourcePrefList_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePrefList_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePrefList_result");
+  public static class getParser_result implements org.apache.thrift.TBase<getParser_result, getParser_result._Fields>, java.io.Serializable, Cloneable, Comparable<getParser_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParser_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 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 RSE_FIELD_DESC = new org.apache.thrift.protocol.TField("rse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePrefList_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePrefList_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParser_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParser_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> success; // required
+    public org.apache.airavata.model.appcatalog.parser.Parser success; // required
     public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -197743,19 +204740,18 @@ public class RegistryService {
     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.groupresourceprofile.GroupComputeResourcePreference.class))));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.parser.Parser.class)));
       tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGroupComputeResourcePrefList_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getParser_result.class, metaDataMap);
     }
 
-    public getGroupComputeResourcePrefList_result() {
+    public getParser_result() {
     }
 
-    public getGroupComputeResourcePrefList_result(
-      java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> success,
+    public getParser_result(
+      org.apache.airavata.model.appcatalog.parser.Parser success,
       org.apache.airavata.registry.api.exception.RegistryServiceException rse)
     {
       this();
@@ -197766,21 +204762,17 @@ public class RegistryService {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public getGroupComputeResourcePrefList_result(getGroupComputeResourcePrefList_result other) {
+    public getParser_result(getParser_result other) {
       if (other.isSetSuccess()) {
-        java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> __this__success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>(other.success.size());
-        for (org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference other_element : other.success) {
-          __this__success.add(new org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference(other_element));
-        }
-        this.success = __this__success;
+        this.success = new org.apache.airavata.model.appcatalog.parser.Parser(other.success);
       }
       if (other.isSetRse()) {
         this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
       }
     }
 
-    public getGroupComputeResourcePrefList_result deepCopy() {
-      return new getGroupComputeResourcePrefList_result(this);
+    public getParser_result deepCopy() {
+      return new getParser_result(this);
     }
 
     @Override
@@ -197789,26 +204781,11 @@ public class RegistryService {
       this.rse = null;
     }
 
-    public int getSuccessSize() {
-      return (this.success == null) ? 0 : this.success.size();
-    }
-
-    public java.util.Iterator<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> getSuccessIterator() {
-      return (this.success == null) ? null : this.success.iterator();
-    }
-
-    public void addToSuccess(org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference elem) {
-      if (this.success == null) {
-        this.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>();
-      }
-      this.success.add(elem);
-    }
-
-    public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> getSuccess() {
+    public org.apache.airavata.model.appcatalog.parser.Parser getSuccess() {
       return this.success;
     }
 
-    public getGroupComputeResourcePrefList_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> success) {
+    public getParser_result setSuccess(org.apache.airavata.model.appcatalog.parser.Parser success) {
       this.success = success;
       return this;
     }
@@ -197832,7 +204809,7 @@ public class RegistryService {
       return this.rse;
     }
 
-    public getGroupComputeResourcePrefList_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getParser_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -197858,7 +204835,7 @@ public class RegistryService {
         if (value == null) {
           unsetSuccess();
         } else {
-          setSuccess((java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>)value);
+          setSuccess((org.apache.airavata.model.appcatalog.parser.Parser)value);
         }
         break;
 
@@ -197904,12 +204881,12 @@ public class RegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof getGroupComputeResourcePrefList_result)
-        return this.equals((getGroupComputeResourcePrefList_result)that);
+      if (that instanceof getParser_result)
+        return this.equals((getParser_result)that);
       return false;
     }
 
-    public boolean equals(getGroupComputeResourcePrefList_result that) {
+    public boolean equals(getParser_result that) {
       if (that == null)
         return false;
       if (this == that)
@@ -197952,7 +204929,7 @@ public class RegistryService {
     }
 
     @Override
-    public int compareTo(getGroupComputeResourcePrefList_result other) {
+    public int compareTo(getParser_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -197996,7 +204973,7 @@ public class RegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getGroupComputeResourcePrefList_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getParser_result(");
       boolean first = true;
 
       sb.append("success:");
@@ -198021,6 +204998,9 @@ public class RegistryService {
     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 {
@@ -198039,15 +205019,15 @@ public class RegistryService {
       }
     }
 
-    private static class getGroupComputeResourcePrefList_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getGroupComputeResourcePrefList_resultStandardScheme getScheme() {
-        return new getGroupComputeResourcePrefList_resultStandardScheme();
+    private static class getParser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getParser_resultStandardScheme getScheme() {
+        return new getParser_resultStandardScheme();
       }
     }
 
-    private static class getGroupComputeResourcePrefList_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePrefList_result> {
+    private static class getParser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParser_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePrefList_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getParser_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -198058,19 +205038,9 @@ public class RegistryService {
           }
           switch (schemeField.id) {
             case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-                {
-                  org.apache.thrift.protocol.TList _list474 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>(_list474.size);
-                  org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference _elem475;
-                  for (int _i476 = 0; _i476 < _list474.size; ++_i476)
-                  {
-                    _elem475 = new org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference();
-                    _elem475.read(iprot);
-                    struct.success.add(_elem475);
-                  }
-                  iprot.readListEnd();
-                }
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.success = new org.apache.airavata.model.appcatalog.parser.Parser();
+                struct.success.read(iprot);
                 struct.setSuccessIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
@@ -198096,20 +205066,13 @@ public class RegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupComputeResourcePrefList_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getParser_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.groupresourceprofile.GroupComputeResourcePreference _iter477 : struct.success)
-            {
-              _iter477.write(oprot);
-            }
-            oprot.writeListEnd();
-          }
+          struct.success.write(oprot);
           oprot.writeFieldEnd();
         }
         if (struct.rse != null) {
@@ -198123,16 +205086,16 @@ public class RegistryService {
 
     }
 
-    private static class getGroupComputeResourcePrefList_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getGroupComputeResourcePrefList_resultTupleScheme getScheme() {
-        return new getGroupComputeResourcePrefList_resultTupleScheme();
+    private static class getParser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getParser_resultTupleScheme getScheme() {
+        return new getParser_resultTupleScheme();
       }
     }
 
-    private static class getGroupComputeResourcePrefList_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupComputeResourcePrefList_result> {
+    private static class getParser_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getParser_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePrefList_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, getParser_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()) {
@@ -198143,13 +205106,7 @@ public class RegistryService {
         }
         oprot.writeBitSet(optionals, 2);
         if (struct.isSetSuccess()) {
-          {
-            oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference _iter478 : struct.success)
-            {
-              _iter478.write(oprot);
-            }
-          }
+          struct.success.write(oprot);
         }
         if (struct.isSetRse()) {
           struct.rse.write(oprot);
@@ -198157,21 +205114,12 @@ public class RegistryService {
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePrefList_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, getParser_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(2);
         if (incoming.get(0)) {
-          {
-            org.apache.thrift.protocol.TList _list479 = 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.groupresourceprofile.GroupComputeResourcePreference>(_list479.size);
-            org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference _elem480;
-            for (int _i481 = 0; _i481 < _list479.size; ++_i481)
-            {
-              _elem480 = new org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference();
-              _elem480.read(iprot);
-              struct.success.add(_elem480);
-            }
-          }
+          struct.success = new org.apache.airavata.model.appcatalog.parser.Parser();
+          struct.success.read(iprot);
           struct.setSuccessIsSet(true);
         }
         if (incoming.get(1)) {
@@ -198187,19 +205135,19 @@ public class RegistryService {
     }
   }
 
-  public static class getGroupBatchQueueResourcePolicyList_args implements org.apache.thrift.TBase<getGroupBatchQueueResourcePolicyList_args, getGroupBatchQueueResourcePolicyList_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupBatchQueueResourcePolicyList_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupBatchQueueResourcePolicyList_args");
+  public static class saveParser_args implements org.apache.thrift.TBase<saveParser_args, saveParser_args._Fields>, java.io.Serializable, Cloneable, Comparable<saveParser_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("saveParser_args");
 
-    private static final org.apache.thrift.protocol.TField GROUP_RESOURCE_PROFILE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupResourceProfileId", org.apache.thrift.protocol.TType.STRING, (short)1);
+    private static final org.apache.thrift.protocol.TField PARSER_FIELD_DESC = new org.apache.thrift.protocol.TField("parser", org.apache.thrift.protocol.TType.STRUCT, (short)1);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupBatchQueueResourcePolicyList_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupBatchQueueResourcePolicyList_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new saveParser_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new saveParser_argsTupleSchemeFactory();
 
-    public java.lang.String groupResourceProfileId; // required
+    public org.apache.airavata.model.appcatalog.parser.Parser parser; // 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 {
-      GROUP_RESOURCE_PROFILE_ID((short)1, "groupResourceProfileId");
+      PARSER((short)1, "parser");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -198214,8 +205162,8 @@ public class RegistryService {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
-          case 1: // GROUP_RESOURCE_PROFILE_ID
-            return GROUP_RESOURCE_PROFILE_ID;
+          case 1: // PARSER
+            return PARSER;
           default:
             return null;
         }
@@ -198259,71 +205207,71 @@ public class RegistryService {
     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.GROUP_RESOURCE_PROFILE_ID, new org.apache.thrift.meta_data.FieldMetaData("groupResourceProfileId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.PARSER, new org.apache.thrift.meta_data.FieldMetaData("parser", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.parser.Parser.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGroupBatchQueueResourcePolicyList_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(saveParser_args.class, metaDataMap);
     }
 
-    public getGroupBatchQueueResourcePolicyList_args() {
+    public saveParser_args() {
     }
 
-    public getGroupBatchQueueResourcePolicyList_args(
-      java.lang.String groupResourceProfileId)
+    public saveParser_args(
+      org.apache.airavata.model.appcatalog.parser.Parser parser)
     {
       this();
-      this.groupResourceProfileId = groupResourceProfileId;
+      this.parser = parser;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public getGroupBatchQueueResourcePolicyList_args(getGroupBatchQueueResourcePolicyList_args other) {
-      if (other.isSetGroupResourceProfileId()) {
-        this.groupResourceProfileId = other.groupResourceProfileId;
+    public saveParser_args(saveParser_args other) {
+      if (other.isSetParser()) {
+        this.parser = new org.apache.airavata.model.appcatalog.parser.Parser(other.parser);
       }
     }
 
-    public getGroupBatchQueueResourcePolicyList_args deepCopy() {
-      return new getGroupBatchQueueResourcePolicyList_args(this);
+    public saveParser_args deepCopy() {
+      return new saveParser_args(this);
     }
 
     @Override
     public void clear() {
-      this.groupResourceProfileId = null;
+      this.parser = null;
     }
 
-    public java.lang.String getGroupResourceProfileId() {
-      return this.groupResourceProfileId;
+    public org.apache.airavata.model.appcatalog.parser.Parser getParser() {
+      return this.parser;
     }
 
-    public getGroupBatchQueueResourcePolicyList_args setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
-      this.groupResourceProfileId = groupResourceProfileId;
+    public saveParser_args setParser(org.apache.airavata.model.appcatalog.parser.Parser parser) {
+      this.parser = parser;
       return this;
     }
 
-    public void unsetGroupResourceProfileId() {
-      this.groupResourceProfileId = null;
+    public void unsetParser() {
+      this.parser = null;
     }
 
-    /** Returns true if field groupResourceProfileId is set (has been assigned a value) and false otherwise */
-    public boolean isSetGroupResourceProfileId() {
-      return this.groupResourceProfileId != null;
+    /** Returns true if field parser is set (has been assigned a value) and false otherwise */
+    public boolean isSetParser() {
+      return this.parser != null;
     }
 
-    public void setGroupResourceProfileIdIsSet(boolean value) {
+    public void setParserIsSet(boolean value) {
       if (!value) {
-        this.groupResourceProfileId = null;
+        this.parser = null;
       }
     }
 
     public void setFieldValue(_Fields field, java.lang.Object value) {
       switch (field) {
-      case GROUP_RESOURCE_PROFILE_ID:
+      case PARSER:
         if (value == null) {
-          unsetGroupResourceProfileId();
+          unsetParser();
         } else {
-          setGroupResourceProfileId((java.lang.String)value);
+          setParser((org.apache.airavata.model.appcatalog.parser.Parser)value);
         }
         break;
 
@@ -198332,8 +205280,8 @@ public class RegistryService {
 
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
-      case GROUP_RESOURCE_PROFILE_ID:
-        return getGroupResourceProfileId();
+      case PARSER:
+        return getParser();
 
       }
       throw new java.lang.IllegalStateException();
@@ -198346,8 +205294,8 @@ public class RegistryService {
       }
 
       switch (field) {
-      case GROUP_RESOURCE_PROFILE_ID:
-        return isSetGroupResourceProfileId();
+      case PARSER:
+        return isSetParser();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -198356,23 +205304,23 @@ public class RegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof getGroupBatchQueueResourcePolicyList_args)
-        return this.equals((getGroupBatchQueueResourcePolicyList_args)that);
+      if (that instanceof saveParser_args)
+        return this.equals((saveParser_args)that);
       return false;
     }
 
-    public boolean equals(getGroupBatchQueueResourcePolicyList_args that) {
+    public boolean equals(saveParser_args that) {
       if (that == null)
         return false;
       if (this == that)
         return true;
 
-      boolean this_present_groupResourceProfileId = true && this.isSetGroupResourceProfileId();
-      boolean that_present_groupResourceProfileId = true && that.isSetGroupResourceProfileId();
-      if (this_present_groupResourceProfileId || that_present_groupResourceProfileId) {
-        if (!(this_present_groupResourceProfileId && that_present_groupResourceProfileId))
+      boolean this_present_parser = true && this.isSetParser();
+      boolean that_present_parser = true && that.isSetParser();
+      if (this_present_parser || that_present_parser) {
+        if (!(this_present_parser && that_present_parser))
           return false;
-        if (!this.groupResourceProfileId.equals(that.groupResourceProfileId))
+        if (!this.parser.equals(that.parser))
           return false;
       }
 
@@ -198383,27 +205331,27 @@ public class RegistryService {
     public int hashCode() {
       int hashCode = 1;
 
-      hashCode = hashCode * 8191 + ((isSetGroupResourceProfileId()) ? 131071 : 524287);
-      if (isSetGroupResourceProfileId())
-        hashCode = hashCode * 8191 + groupResourceProfileId.hashCode();
+      hashCode = hashCode * 8191 + ((isSetParser()) ? 131071 : 524287);
+      if (isSetParser())
+        hashCode = hashCode * 8191 + parser.hashCode();
 
       return hashCode;
     }
 
     @Override
-    public int compareTo(getGroupBatchQueueResourcePolicyList_args other) {
+    public int compareTo(saveParser_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+      lastComparison = java.lang.Boolean.valueOf(isSetParser()).compareTo(other.isSetParser());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetGroupResourceProfileId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.groupResourceProfileId, other.groupResourceProfileId);
+      if (isSetParser()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.parser, other.parser);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -198425,14 +205373,14 @@ public class RegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getGroupBatchQueueResourcePolicyList_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("saveParser_args(");
       boolean first = true;
 
-      sb.append("groupResourceProfileId:");
-      if (this.groupResourceProfileId == null) {
+      sb.append("parser:");
+      if (this.parser == null) {
         sb.append("null");
       } else {
-        sb.append(this.groupResourceProfileId);
+        sb.append(this.parser);
       }
       first = false;
       sb.append(")");
@@ -198441,10 +205389,13 @@ public class RegistryService {
 
     public void validate() throws org.apache.thrift.TException {
       // check for required fields
-      if (groupResourceProfileId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupResourceProfileId' was not present! Struct: " + toString());
+      if (parser == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'parser' was not present! Struct: " + toString());
       }
       // check for sub-struct validity
+      if (parser != null) {
+        parser.validate();
+      }
     }
 
     private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -198463,15 +205414,15 @@ public class RegistryService {
       }
     }
 
-    private static class getGroupBatchQueueResourcePolicyList_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getGroupBatchQueueResourcePolicyList_argsStandardScheme getScheme() {
-        return new getGroupBatchQueueResourcePolicyList_argsStandardScheme();
+    private static class saveParser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public saveParser_argsStandardScheme getScheme() {
+        return new saveParser_argsStandardScheme();
       }
     }
 
-    private static class getGroupBatchQueueResourcePolicyList_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupBatchQueueResourcePolicyList_args> {
+    private static class saveParser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<saveParser_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupBatchQueueResourcePolicyList_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, saveParser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -198481,10 +205432,11 @@ public class RegistryService {
             break;
           }
           switch (schemeField.id) {
-            case 1: // GROUP_RESOURCE_PROFILE_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.groupResourceProfileId = iprot.readString();
-                struct.setGroupResourceProfileIdIsSet(true);
+            case 1: // PARSER
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.parser = new org.apache.airavata.model.appcatalog.parser.Parser();
+                struct.parser.read(iprot);
+                struct.setParserIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -198500,13 +205452,13 @@ public class RegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupBatchQueueResourcePolicyList_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, saveParser_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.groupResourceProfileId != null) {
-          oprot.writeFieldBegin(GROUP_RESOURCE_PROFILE_ID_FIELD_DESC);
-          oprot.writeString(struct.groupResourceProfileId);
+        if (struct.parser != null) {
+          oprot.writeFieldBegin(PARSER_FIELD_DESC);
+          struct.parser.write(oprot);
           oprot.writeFieldEnd();
         }
         oprot.writeFieldStop();
@@ -198515,25 +205467,26 @@ public class RegistryService {
 
     }
 
-    private static class getGroupBatchQueueResourcePolicyList_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getGroupBatchQueueResourcePolicyList_argsTupleScheme getScheme() {
-        return new getGroupBatchQueueResourcePolicyList_argsTupleScheme();
+    private static class saveParser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public saveParser_argsTupleScheme getScheme() {
+        return new saveParser_argsTupleScheme();
       }
     }
 
-    private static class getGroupBatchQueueResourcePolicyList_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupBatchQueueResourcePolicyList_args> {
+    private static class saveParser_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<saveParser_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getGroupBatchQueueResourcePolicyList_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, saveParser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        oprot.writeString(struct.groupResourceProfileId);
+        struct.parser.write(oprot);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getGroupBatchQueueResourcePolicyList_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, saveParser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.groupResourceProfileId = iprot.readString();
-        struct.setGroupResourceProfileIdIsSet(true);
+        struct.parser = new org.apache.airavata.model.appcatalog.parser.Parser();
+        struct.parser.read(iprot);
+        struct.setParserIsSet(true);
       }
     }
 
@@ -198542,16 +205495,16 @@ public class RegistryService {
     }
   }
 
-  public static class getGroupBatchQueueResourcePolicyList_result implements org.apache.thrift.TBase<getGroupBatchQueueResourcePolicyList_result, getGroupBatchQueueResourcePolicyList_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupBatchQueueResourcePolicyList_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupBatchQueueResourcePolicyList_result");
+  public static class saveParser_result implements org.apache.thrift.TBase<saveParser_result, saveParser_result._Fields>, java.io.Serializable, Cloneable, Comparable<saveParser_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("saveParser_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 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 RSE_FIELD_DESC = new org.apache.thrift.protocol.TField("rse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupBatchQueueResourcePolicyList_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupBatchQueueResourcePolicyList_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new saveParser_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new saveParser_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> success; // required
+    public java.lang.String success; // required
     public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -198620,19 +205573,18 @@ public class RegistryService {
     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.groupresourceprofile.BatchQueueResourcePolicy.class))));
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGroupBatchQueueResourcePolicyList_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(saveParser_result.class, metaDataMap);
     }
 
-    public getGroupBatchQueueResourcePolicyList_result() {
+    public saveParser_result() {
     }
 
-    public getGroupBatchQueueResourcePolicyList_result(
-      java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> success,
+    public saveParser_result(
+      java.lang.String success,
       org.apache.airavata.registry.api.exception.RegistryServiceException rse)
     {
       this();
@@ -198643,21 +205595,17 @@ public class RegistryService {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public getGroupBatchQueueResourcePolicyList_result(getGroupBatchQueueResourcePolicyList_result other) {
+    public saveParser_result(saveParser_result other) {
       if (other.isSetSuccess()) {
-        java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> __this__success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>(other.success.size());
-        for (org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy other_element : other.success) {
-          __this__success.add(new org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy(other_element));
-        }
-        this.success = __this__success;
+        this.success = other.success;
       }
       if (other.isSetRse()) {
         this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
       }
     }
 
-    public getGroupBatchQueueResourcePolicyList_result deepCopy() {
-      return new getGroupBatchQueueResourcePolicyList_result(this);
+    public saveParser_result deepCopy() {
+      return new saveParser_result(this);
     }
 
     @Override
@@ -198666,26 +205614,11 @@ public class RegistryService {
       this.rse = null;
     }
 
-    public int getSuccessSize() {
-      return (this.success == null) ? 0 : this.success.size();
-    }
-
-    public java.util.Iterator<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> getSuccessIterator() {
-      return (this.success == null) ? null : this.success.iterator();
-    }
-
-    public void addToSuccess(org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy elem) {
-      if (this.success == null) {
-        this.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>();
-      }
-      this.success.add(elem);
-    }
-
-    public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> getSuccess() {
+    public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public getGroupBatchQueueResourcePolicyList_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> success) {
+    public saveParser_result setSuccess(java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -198709,7 +205642,7 @@ public class RegistryService {
       return this.rse;
     }
 
-    public getGroupBatchQueueResourcePolicyList_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public saveParser_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -198735,7 +205668,7 @@ public class RegistryService {
         if (value == null) {
           unsetSuccess();
         } else {
-          setSuccess((java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>)value);
+          setSuccess((java.lang.String)value);
         }
         break;
 
@@ -198781,12 +205714,12 @@ public class RegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof getGroupBatchQueueResourcePolicyList_result)
-        return this.equals((getGroupBatchQueueResourcePolicyList_result)that);
+      if (that instanceof saveParser_result)
+        return this.equals((saveParser_result)that);
       return false;
     }
 
-    public boolean equals(getGroupBatchQueueResourcePolicyList_result that) {
+    public boolean equals(saveParser_result that) {
       if (that == null)
         return false;
       if (this == that)
@@ -198829,7 +205762,7 @@ public class RegistryService {
     }
 
     @Override
-    public int compareTo(getGroupBatchQueueResourcePolicyList_result other) {
+    public int compareTo(saveParser_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -198873,7 +205806,7 @@ public class RegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getGroupBatchQueueResourcePolicyList_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("saveParser_result(");
       boolean first = true;
 
       sb.append("success:");
@@ -198916,15 +205849,15 @@ public class RegistryService {
       }
     }
 
-    private static class getGroupBatchQueueResourcePolicyList_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getGroupBatchQueueResourcePolicyList_resultStandardScheme getScheme() {
-        return new getGroupBatchQueueResourcePolicyList_resultStandardScheme();
+    private static class saveParser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public saveParser_resultStandardScheme getScheme() {
+        return new saveParser_resultStandardScheme();
       }
     }
 
-    private static class getGroupBatchQueueResourcePolicyList_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupBatchQueueResourcePolicyList_result> {
+    private static class saveParser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<saveParser_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupBatchQueueResourcePolicyList_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, saveParser_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -198935,19 +205868,8 @@ public class RegistryService {
           }
           switch (schemeField.id) {
             case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-                {
-                  org.apache.thrift.protocol.TList _list482 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>(_list482.size);
-                  org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy _elem483;
-                  for (int _i484 = 0; _i484 < _list482.size; ++_i484)
-                  {
-                    _elem483 = new org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy();
-                    _elem483.read(iprot);
-                    struct.success.add(_elem483);
-                  }
-                  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);
@@ -198973,20 +205895,13 @@ public class RegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupBatchQueueResourcePolicyList_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, saveParser_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.groupresourceprofile.BatchQueueResourcePolicy _iter485 : struct.success)
-            {
-              _iter485.write(oprot);
-            }
-            oprot.writeListEnd();
-          }
+          oprot.writeString(struct.success);
           oprot.writeFieldEnd();
         }
         if (struct.rse != null) {
@@ -199000,16 +205915,16 @@ public class RegistryService {
 
     }
 
-    private static class getGroupBatchQueueResourcePolicyList_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getGroupBatchQueueResourcePolicyList_resultTupleScheme getScheme() {
-        return new getGroupBatchQueueResourcePolicyList_resultTupleScheme();
+    private static class saveParser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public saveParser_resultTupleScheme getScheme() {
+        return new saveParser_resultTupleScheme();
       }
     }
 
-    private static class getGroupBatchQueueResourcePolicyList_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupBatchQueueResourcePolicyList_result> {
+    private static class saveParser_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<saveParser_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getGroupBatchQueueResourcePolicyList_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, saveParser_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()) {
@@ -199020,13 +205935,7 @@ public class RegistryService {
         }
         oprot.writeBitSet(optionals, 2);
         if (struct.isSetSuccess()) {
-          {
-            oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy _iter486 : struct.success)
-            {
-              _iter486.write(oprot);
-            }
-          }
+          oprot.writeString(struct.success);
         }
         if (struct.isSetRse()) {
           struct.rse.write(oprot);
@@ -199034,21 +205943,11 @@ public class RegistryService {
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getGroupBatchQueueResourcePolicyList_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, saveParser_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(2);
         if (incoming.get(0)) {
-          {
-            org.apache.thrift.protocol.TList _list487 = 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.groupresourceprofile.BatchQueueResourcePolicy>(_list487.size);
-            org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy _elem488;
-            for (int _i489 = 0; _i489 < _list487.size; ++_i489)
-            {
-              _elem488 = new org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy();
-              _elem488.read(iprot);
-              struct.success.add(_elem488);
-            }
-          }
+          struct.success = iprot.readString();
           struct.setSuccessIsSet(true);
         }
         if (incoming.get(1)) {
@@ -199064,19 +205963,19 @@ public class RegistryService {
     }
   }
 
-  public static class getGroupComputeResourcePolicyList_args implements org.apache.thrift.TBase<getGroupComputeResourcePolicyList_args, getGroupComputeResourcePolicyList_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePolicyList_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePolicyList_args");
+  public static class listAllParsers_args implements org.apache.thrift.TBase<listAllParsers_args, listAllParsers_args._Fields>, java.io.Serializable, Cloneable, Comparable<listAllParsers_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("listAllParsers_args");
 
-    private static final org.apache.thrift.protocol.TField GROUP_RESOURCE_PROFILE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupResourceProfileId", org.apache.thrift.protocol.TType.STRING, (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)1);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePolicyList_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePolicyList_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listAllParsers_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listAllParsers_argsTupleSchemeFactory();
 
-    public java.lang.String groupResourceProfileId; // 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 {
-      GROUP_RESOURCE_PROFILE_ID((short)1, "groupResourceProfileId");
+      GATEWAY_ID((short)1, "gatewayId");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -199091,8 +205990,8 @@ public class RegistryService {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
-          case 1: // GROUP_RESOURCE_PROFILE_ID
-            return GROUP_RESOURCE_PROFILE_ID;
+          case 1: // GATEWAY_ID
+            return GATEWAY_ID;
           default:
             return null;
         }
@@ -199136,71 +206035,71 @@ public class RegistryService {
     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.GROUP_RESOURCE_PROFILE_ID, new org.apache.thrift.meta_data.FieldMetaData("groupResourceProfileId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      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(getGroupComputeResourcePolicyList_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(listAllParsers_args.class, metaDataMap);
     }
 
-    public getGroupComputeResourcePolicyList_args() {
+    public listAllParsers_args() {
     }
 
-    public getGroupComputeResourcePolicyList_args(
-      java.lang.String groupResourceProfileId)
+    public listAllParsers_args(
+      java.lang.String gatewayId)
     {
       this();
-      this.groupResourceProfileId = groupResourceProfileId;
+      this.gatewayId = gatewayId;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public getGroupComputeResourcePolicyList_args(getGroupComputeResourcePolicyList_args other) {
-      if (other.isSetGroupResourceProfileId()) {
-        this.groupResourceProfileId = other.groupResourceProfileId;
+    public listAllParsers_args(listAllParsers_args other) {
+      if (other.isSetGatewayId()) {
+        this.gatewayId = other.gatewayId;
       }
     }
 
-    public getGroupComputeResourcePolicyList_args deepCopy() {
-      return new getGroupComputeResourcePolicyList_args(this);
+    public listAllParsers_args deepCopy() {
+      return new listAllParsers_args(this);
     }
 
     @Override
     public void clear() {
-      this.groupResourceProfileId = null;
+      this.gatewayId = null;
     }
 
-    public java.lang.String getGroupResourceProfileId() {
-      return this.groupResourceProfileId;
+    public java.lang.String getGatewayId() {
+      return this.gatewayId;
     }
 
-    public getGroupComputeResourcePolicyList_args setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
-      this.groupResourceProfileId = groupResourceProfileId;
+    public listAllParsers_args setGatewayId(java.lang.String gatewayId) {
+      this.gatewayId = gatewayId;
       return this;
     }
 
-    public void unsetGroupResourceProfileId() {
-      this.groupResourceProfileId = null;
+    public void unsetGatewayId() {
+      this.gatewayId = null;
     }
 
-    /** Returns true if field groupResourceProfileId is set (has been assigned a value) and false otherwise */
-    public boolean isSetGroupResourceProfileId() {
-      return this.groupResourceProfileId != 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 setGroupResourceProfileIdIsSet(boolean value) {
+    public void setGatewayIdIsSet(boolean value) {
       if (!value) {
-        this.groupResourceProfileId = null;
+        this.gatewayId = null;
       }
     }
 
     public void setFieldValue(_Fields field, java.lang.Object value) {
       switch (field) {
-      case GROUP_RESOURCE_PROFILE_ID:
+      case GATEWAY_ID:
         if (value == null) {
-          unsetGroupResourceProfileId();
+          unsetGatewayId();
         } else {
-          setGroupResourceProfileId((java.lang.String)value);
+          setGatewayId((java.lang.String)value);
         }
         break;
 
@@ -199209,8 +206108,8 @@ public class RegistryService {
 
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
-      case GROUP_RESOURCE_PROFILE_ID:
-        return getGroupResourceProfileId();
+      case GATEWAY_ID:
+        return getGatewayId();
 
       }
       throw new java.lang.IllegalStateException();
@@ -199223,8 +206122,8 @@ public class RegistryService {
       }
 
       switch (field) {
-      case GROUP_RESOURCE_PROFILE_ID:
... 10821 lines suppressed ...