You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2018/02/16 15:08:56 UTC

[airavata] 02/02: Merge branch 'develop' into group-based-auth

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

machristie pushed a commit to branch group-based-auth
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit 919337453d72eaab5814091e6f56d9aea4406ad3
Merge: 75ff817 86a2908
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Fri Feb 16 10:03:11 2018 -0500

    Merge branch 'develop' into group-based-auth
    
    There were conflicts in RegistryService.java which I resolved by
    regenerating it with thrift.

 .travis.yml                                        |     3 +
 airavata-api/airavata-api-server/pom.xml           |    10 -
 .../groupmanager/cpi/GroupManagerService-remote    |     7 +
 .../groupmanager/cpi/GroupManagerService.py        |   263 +-
 .../service/security/KeyCloakSecurityManager.java  |     2 +-
 .../develop/pga_config/TestApplication/vars.yml    |    66 -
 .../develop/pga_config/TestApplication/vault.yml   |    18 -
 dev-tools/ansible/pga-scigap-dev.yml               |     1 -
 .../roles/gfac/templates/gfac-config.yaml.j2       |     4 +
 dev-tools/ansible/roles/zookeeper/tasks/main.yml   |     6 +
 .../ansible/roles/zookeeper/templates/java.env.j2  |     1 +
 .../roles/zookeeper/templates/zookeeper.service.j2 |     1 +
 .../apache/airavata/common/utils/ThriftUtils.java  |    14 +-
 .../credential-store-service/pom.xml               |     6 -
 modules/distribution/pom.xml                       |     5 -
 modules/gfac/gfac-core/pom.xml                     |    15 +-
 .../java/org/apache/airavata/gfac/core/GFac.java   |     6 +-
 .../apache/airavata/gfac/core/GFacConstants.java   |     8 +
 .../org/apache/airavata/gfac/core/GFacEngine.java  |     3 +-
 .../org/apache/airavata/gfac/core/GFacUtils.java   |   364 +-
 .../airavata/gfac/core/context/ProcessContext.java |   112 +-
 .../org/apache/airavata/gfac/impl/Factory.java     |    34 +-
 .../apache/airavata/gfac/impl/GFacEngineImpl.java  |   465 +-
 .../org/apache/airavata/gfac/impl/GFacWorker.java  |    50 +-
 .../airavata/gfac/impl/task/ArchiveTask.java       |    12 +-
 .../gfac/impl/task/AuroraJobSubmissionTask.java    |   144 +-
 .../gfac/impl/task/BESJobSubmissionTask.java       |   300 +-
 .../airavata/gfac/impl/task/DataStageTask.java     |     1 +
 .../airavata/gfac/impl/task/DataStreamingTask.java |     2 +-
 .../gfac/impl/task/DefaultJobSubmissionTask.java   |   444 +-
 .../gfac/impl/task/ForkJobSubmissionTask.java      |    49 +-
 .../gfac/impl/task/LocalJobSubmissionTask.java     |    37 +-
 .../airavata/gfac/impl/task/SCPDataStageTask.java  |    47 +-
 .../airavata/gfac/impl/task/utils/StreamData.java  |    24 +-
 .../gfac/impl/task/utils/bes/DataTransferrer.java  |    35 +-
 .../task/utils/bes/UNICORESecurityContext.java     |     1 -
 .../gfac/monitor/cloud/AuroraJobMonitor.java       |    82 +-
 .../gfac/monitor/email/EmailBasedMonitor.java      |    51 +-
 modules/gfac/gfac-service/pom.xml                  |    10 -
 .../airavata/gfac/server/GfacServerHandler.java    |    63 +-
 .../gfac/client/GfacClientFactoryTest.java         |     2 -
 .../airavata/gfac/client/util/Initialize.java      |   101 -
 .../sample/OrchestratorClientSample.java           |     2 +-
 modules/orchestrator/orchestrator-core/pom.xml     |    15 +-
 .../core/context/OrchestratorContext.java          |     9 -
 .../core/utils/OrchestratorConstants.java          |     4 +
 .../orchestrator/core/utils/OrchestratorUtils.java |   306 +-
 .../core/validator/impl/BatchQueueValidator.java   |   243 +-
 .../cpi/impl/AbstractOrchestrator.java             |    13 +-
 .../cpi/impl/SimpleOrchestratorImpl.java           |   288 +-
 .../orchestrator/core/util/Initialize.java         |   171 +-
 modules/orchestrator/orchestrator-service/pom.xml  |    10 -
 .../server/OrchestratorServerHandler.java          |   206 +-
 .../orchestrator/util/OrchestratorUtils.java       |    33 +-
 .../orchestrator/client/util/Initialize.java       |   133 +-
 .../api/service/handler/RegistryServerHandler.java |   354 +-
 .../airavata/registry/api/RegistryService.java     | 48282 +++++++++++++------
 .../sharing-registry/sharing-data-migrator/pom.xml |     5 -
 .../sharing-registry-distribution/pom.xml          |     5 -
 .../workflow/core/WorkflowInterpreter.java         |    29 +-
 pom.xml                                            |    24 +-
 .../component-cpis/registry-api.thrift             |    94 +-
 62 files changed, 37047 insertions(+), 16048 deletions(-)

diff --cc modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/RegistryService.java
index c992f07,ad6ea06..636395f
--- 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
@@@ -27618,40 -28198,18792 +29436,19704 @@@ public class RegistryService 
            public void onError(java.lang.Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TSerializable msg;
-             getGroupComputeResourcePolicyList_result result = new getGroupComputeResourcePolicyList_result();
+             isWorkflowExistWithName_result result = new isWorkflowExistWithName_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, isWorkflowExistWithName_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+         iface.isWorkflowExistWithName(args.workflowName,resultHandler);
+       }
+     }
+ 
+     public static class registerDataProduct<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerDataProduct_args, java.lang.String> {
+       public registerDataProduct() {
+         super("registerDataProduct");
+       }
+ 
+       public registerDataProduct_args getEmptyArgsInstance() {
+         return new registerDataProduct_args();
+       }
+ 
+       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+         final org.apache.thrift.AsyncProcessFunction fcall = this;
+         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+           public void onComplete(java.lang.String o) {
+             registerDataProduct_result result = new registerDataProduct_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;
+             registerDataProduct_result result = new registerDataProduct_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, registerDataProduct_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+         iface.registerDataProduct(args.dataProductModel,resultHandler);
+       }
+     }
+ 
+     public static class getDataProduct<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getDataProduct_args, org.apache.airavata.model.data.replica.DataProductModel> {
+       public getDataProduct() {
+         super("getDataProduct");
+       }
+ 
+       public getDataProduct_args getEmptyArgsInstance() {
+         return new getDataProduct_args();
+       }
+ 
+       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> 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.data.replica.DataProductModel>() { 
+           public void onComplete(org.apache.airavata.model.data.replica.DataProductModel o) {
+             getDataProduct_result result = new getDataProduct_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;
+             getDataProduct_result result = new getDataProduct_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, getDataProduct_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> resultHandler) throws org.apache.thrift.TException {
+         iface.getDataProduct(args.dataProductUri,resultHandler);
+       }
+     }
+ 
+     public static class registerReplicaLocation<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerReplicaLocation_args, java.lang.String> {
+       public registerReplicaLocation() {
+         super("registerReplicaLocation");
+       }
+ 
+       public registerReplicaLocation_args getEmptyArgsInstance() {
+         return new registerReplicaLocation_args();
+       }
+ 
+       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+         final org.apache.thrift.AsyncProcessFunction fcall = this;
+         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+           public void onComplete(java.lang.String o) {
+             registerReplicaLocation_result result = new registerReplicaLocation_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;
+             registerReplicaLocation_result result = new registerReplicaLocation_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, registerReplicaLocation_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+         iface.registerReplicaLocation(args.replicaLocationModel,resultHandler);
+       }
+     }
+ 
+     public static class getParentDataProduct<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getParentDataProduct_args, org.apache.airavata.model.data.replica.DataProductModel> {
+       public getParentDataProduct() {
+         super("getParentDataProduct");
+       }
+ 
+       public getParentDataProduct_args getEmptyArgsInstance() {
+         return new getParentDataProduct_args();
+       }
+ 
+       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> 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.data.replica.DataProductModel>() { 
+           public void onComplete(org.apache.airavata.model.data.replica.DataProductModel o) {
+             getParentDataProduct_result result = new getParentDataProduct_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;
+             getParentDataProduct_result result = new getParentDataProduct_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, getParentDataProduct_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> resultHandler) throws org.apache.thrift.TException {
+         iface.getParentDataProduct(args.productUri,resultHandler);
+       }
+     }
+ 
+     public static class getChildDataProducts<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getChildDataProducts_args, java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> {
+       public getChildDataProducts() {
+         super("getChildDataProducts");
+       }
+ 
+       public getChildDataProducts_args getEmptyArgsInstance() {
+         return new getChildDataProducts_args();
+       }
+ 
+       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> 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.data.replica.DataProductModel>>() { 
+           public void onComplete(java.util.List<org.apache.airavata.model.data.replica.DataProductModel> o) {
+             getChildDataProducts_result result = new getChildDataProducts_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;
+             getChildDataProducts_result result = new getChildDataProducts_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, getChildDataProducts_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> resultHandler) throws org.apache.thrift.TException {
+         iface.getChildDataProducts(args.productUri,resultHandler);
+       }
+     }
+ 
+     public static class searchDataProductsByName<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, searchDataProductsByName_args, java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> {
+       public searchDataProductsByName() {
+         super("searchDataProductsByName");
+       }
+ 
+       public searchDataProductsByName_args getEmptyArgsInstance() {
+         return new searchDataProductsByName_args();
+       }
+ 
+       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> 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.data.replica.DataProductModel>>() { 
+           public void onComplete(java.util.List<org.apache.airavata.model.data.replica.DataProductModel> o) {
+             searchDataProductsByName_result result = new searchDataProductsByName_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;
+             searchDataProductsByName_result result = new searchDataProductsByName_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, searchDataProductsByName_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> resultHandler) throws org.apache.thrift.TException {
+         iface.searchDataProductsByName(args.gatewayId, args.userId, args.productName, args.limit, args.offset,resultHandler);
+       }
+     }
+ 
++    public static class createGroupResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createGroupResourceProfile_args, Void> {
++      public createGroupResourceProfile() {
++        super("createGroupResourceProfile");
++      }
++
++      public createGroupResourceProfile_args getEmptyArgsInstance() {
++        return new createGroupResourceProfile_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) {
++            createGroupResourceProfile_result result = new createGroupResourceProfile_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;
++            createGroupResourceProfile_result result = new createGroupResourceProfile_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, createGroupResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
++        iface.createGroupResourceProfile(args.groupResourceProfile,resultHandler);
++      }
++    }
++
++    public static class updateGroupResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateGroupResourceProfile_args, Void> {
++      public updateGroupResourceProfile() {
++        super("updateGroupResourceProfile");
++      }
++
++      public updateGroupResourceProfile_args getEmptyArgsInstance() {
++        return new updateGroupResourceProfile_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) {
++            updateGroupResourceProfile_result result = new updateGroupResourceProfile_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;
++            updateGroupResourceProfile_result result = new updateGroupResourceProfile_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, updateGroupResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
++        iface.updateGroupResourceProfile(args.groupResourceProfile,resultHandler);
++      }
++    }
++
++    public static class getGroupResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroupResourceProfile_args, org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> {
++      public getGroupResourceProfile() {
++        super("getGroupResourceProfile");
++      }
++
++      public getGroupResourceProfile_args getEmptyArgsInstance() {
++        return new getGroupResourceProfile_args();
++      }
++
++      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> 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.appcatalog.groupresourceprofile.GroupResourceProfile>() { 
++          public void onComplete(org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile o) {
++            getGroupResourceProfile_result result = new getGroupResourceProfile_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;
++            getGroupResourceProfile_result result = new getGroupResourceProfile_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, getGroupResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> resultHandler) throws org.apache.thrift.TException {
++        iface.getGroupResourceProfile(args.groupResourceProfileId,resultHandler);
++      }
++    }
++
++    public static class removeGroupResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeGroupResourceProfile_args, java.lang.Boolean> {
++      public removeGroupResourceProfile() {
++        super("removeGroupResourceProfile");
++      }
++
++      public removeGroupResourceProfile_args getEmptyArgsInstance() {
++        return new removeGroupResourceProfile_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) {
++            removeGroupResourceProfile_result result = new removeGroupResourceProfile_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;
++            removeGroupResourceProfile_result result = new removeGroupResourceProfile_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, removeGroupResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
++        iface.removeGroupResourceProfile(args.groupResourceProfileId,resultHandler);
++      }
++    }
++
++    public static class getGroupResourceList<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroupResourceList_args, java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>> {
++      public getGroupResourceList() {
++        super("getGroupResourceList");
++      }
++
++      public getGroupResourceList_args getEmptyArgsInstance() {
++        return new getGroupResourceList_args();
++      }
++
++      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>> 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.appcatalog.groupresourceprofile.GroupResourceProfile>>() { 
++          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> o) {
++            getGroupResourceList_result result = new getGroupResourceList_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;
++            getGroupResourceList_result result = new getGroupResourceList_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, getGroupResourceList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>> resultHandler) throws org.apache.thrift.TException {
++        iface.getGroupResourceList(args.gatewayId,resultHandler);
++      }
++    }
++
++    public static class removeGroupComputePrefs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeGroupComputePrefs_args, java.lang.Boolean> {
++      public removeGroupComputePrefs() {
++        super("removeGroupComputePrefs");
++      }
++
++      public removeGroupComputePrefs_args getEmptyArgsInstance() {
++        return new removeGroupComputePrefs_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) {
++            removeGroupComputePrefs_result result = new removeGroupComputePrefs_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;
++            removeGroupComputePrefs_result result = new removeGroupComputePrefs_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, removeGroupComputePrefs_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
++        iface.removeGroupComputePrefs(args.computeResourceId, args.groupResourceProfileId,resultHandler);
++      }
++    }
++
++    public static class removeGroupComputeResourcePolicy<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeGroupComputeResourcePolicy_args, java.lang.Boolean> {
++      public removeGroupComputeResourcePolicy() {
++        super("removeGroupComputeResourcePolicy");
++      }
++
++      public removeGroupComputeResourcePolicy_args getEmptyArgsInstance() {
++        return new removeGroupComputeResourcePolicy_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) {
++            removeGroupComputeResourcePolicy_result result = new removeGroupComputeResourcePolicy_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;
++            removeGroupComputeResourcePolicy_result result = new removeGroupComputeResourcePolicy_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, removeGroupComputeResourcePolicy_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
++        iface.removeGroupComputeResourcePolicy(args.resourcePolicyId,resultHandler);
++      }
++    }
++
++    public static class removeGroupBatchQueueResourcePolicy<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeGroupBatchQueueResourcePolicy_args, java.lang.Boolean> {
++      public removeGroupBatchQueueResourcePolicy() {
++        super("removeGroupBatchQueueResourcePolicy");
++      }
++
++      public removeGroupBatchQueueResourcePolicy_args getEmptyArgsInstance() {
++        return new removeGroupBatchQueueResourcePolicy_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) {
++            removeGroupBatchQueueResourcePolicy_result result = new removeGroupBatchQueueResourcePolicy_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;
++            removeGroupBatchQueueResourcePolicy_result result = new removeGroupBatchQueueResourcePolicy_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, removeGroupBatchQueueResourcePolicy_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
++        iface.removeGroupBatchQueueResourcePolicy(args.resourcePolicyId,resultHandler);
++      }
++    }
++
++    public static class getGroupComputeResourcePreference<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroupComputeResourcePreference_args, org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> {
++      public getGroupComputeResourcePreference() {
++        super("getGroupComputeResourcePreference");
++      }
++
++      public getGroupComputeResourcePreference_args getEmptyArgsInstance() {
++        return new getGroupComputeResourcePreference_args();
++      }
++
++      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> 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.appcatalog.groupresourceprofile.GroupComputeResourcePreference>() { 
++          public void onComplete(org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference o) {
++            getGroupComputeResourcePreference_result result = new getGroupComputeResourcePreference_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;
++            getGroupComputeResourcePreference_result result = new getGroupComputeResourcePreference_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, getGroupComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> resultHandler) throws org.apache.thrift.TException {
++        iface.getGroupComputeResourcePreference(args.computeResourceId, args.groupResourceProfileId,resultHandler);
++      }
++    }
++
++    public static class getGroupComputeResourcePolicy<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroupComputeResourcePolicy_args, org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> {
++      public getGroupComputeResourcePolicy() {
++        super("getGroupComputeResourcePolicy");
++      }
++
++      public getGroupComputeResourcePolicy_args getEmptyArgsInstance() {
++        return new getGroupComputeResourcePolicy_args();
++      }
++
++      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> 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.appcatalog.groupresourceprofile.ComputeResourcePolicy>() { 
++          public void onComplete(org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy o) {
++            getGroupComputeResourcePolicy_result result = new getGroupComputeResourcePolicy_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;
++            getGroupComputeResourcePolicy_result result = new getGroupComputeResourcePolicy_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, getGroupComputeResourcePolicy_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> resultHandler) throws org.apache.thrift.TException {
++        iface.getGroupComputeResourcePolicy(args.resourcePolicyId,resultHandler);
++      }
++    }
++
++    public static class getBatchQueueResourcePolicy<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getBatchQueueResourcePolicy_args, org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> {
++      public getBatchQueueResourcePolicy() {
++        super("getBatchQueueResourcePolicy");
++      }
++
++      public getBatchQueueResourcePolicy_args getEmptyArgsInstance() {
++        return new getBatchQueueResourcePolicy_args();
++      }
++
++      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> 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.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>() { 
++          public void onComplete(org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy o) {
++            getBatchQueueResourcePolicy_result result = new getBatchQueueResourcePolicy_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;
++            getBatchQueueResourcePolicy_result result = new getBatchQueueResourcePolicy_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, getBatchQueueResourcePolicy_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> resultHandler) throws org.apache.thrift.TException {
++        iface.getBatchQueueResourcePolicy(args.resourcePolicyId,resultHandler);
++      }
++    }
++
++    public static class getGroupComputeResourcePrefList<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroupComputeResourcePrefList_args, java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>> {
++      public getGroupComputeResourcePrefList() {
++        super("getGroupComputeResourcePrefList");
++      }
++
++      public getGroupComputeResourcePrefList_args getEmptyArgsInstance() {
++        return new getGroupComputeResourcePrefList_args();
++      }
++
++      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>> 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.appcatalog.groupresourceprofile.GroupComputeResourcePreference>>() { 
++          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> o) {
++            getGroupComputeResourcePrefList_result result = new getGroupComputeResourcePrefList_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;
++            getGroupComputeResourcePrefList_result result = new getGroupComputeResourcePrefList_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, getGroupComputeResourcePrefList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>> resultHandler) throws org.apache.thrift.TException {
++        iface.getGroupComputeResourcePrefList(args.groupResourceProfileId,resultHandler);
++      }
++    }
++
++    public static class getGroupBatchQueueResourcePolicyList<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroupBatchQueueResourcePolicyList_args, java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>> {
++      public getGroupBatchQueueResourcePolicyList() {
++        super("getGroupBatchQueueResourcePolicyList");
++      }
++
++      public getGroupBatchQueueResourcePolicyList_args getEmptyArgsInstance() {
++        return new getGroupBatchQueueResourcePolicyList_args();
++      }
++
++      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>> 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.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>>() { 
++          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> o) {
++            getGroupBatchQueueResourcePolicyList_result result = new getGroupBatchQueueResourcePolicyList_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;
++            getGroupBatchQueueResourcePolicyList_result result = new getGroupBatchQueueResourcePolicyList_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, getGroupBatchQueueResourcePolicyList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>> resultHandler) throws org.apache.thrift.TException {
++        iface.getGroupBatchQueueResourcePolicyList(args.groupResourceProfileId,resultHandler);
++      }
++    }
++
++    public static class getGroupComputeResourcePolicyList<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGroupComputeResourcePolicyList_args, java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>> {
++      public getGroupComputeResourcePolicyList() {
++        super("getGroupComputeResourcePolicyList");
++      }
++
++      public getGroupComputeResourcePolicyList_args getEmptyArgsInstance() {
++        return new getGroupComputeResourcePolicyList_args();
++      }
++
++      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>> 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.appcatalog.groupresourceprofile.ComputeResourcePolicy>>() { 
++          public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> o) {
++            getGroupComputeResourcePolicyList_result result = new getGroupComputeResourcePolicyList_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;
++            getGroupComputeResourcePolicyList_result result = new getGroupComputeResourcePolicyList_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, getGroupComputeResourcePolicyList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>> resultHandler) throws org.apache.thrift.TException {
++        iface.getGroupComputeResourcePolicyList(args.groupResourceProfileId,resultHandler);
++      }
++    }
++
+   }
+ 
+   public static class getAPIVersion_args implements org.apache.thrift.TBase<getAPIVersion_args, getAPIVersion_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAPIVersion_args>   {
+     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAPIVersion_args");
+ 
+ 
+     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAPIVersion_argsStandardSchemeFactory();
+     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAPIVersion_argsTupleSchemeFactory();
+ 
+ 
+     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+ ;
+ 
+       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) {
+           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;
+       }
+     }
+     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);
+       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAPIVersion_args.class, metaDataMap);
+     }
+ 
+     public getAPIVersion_args() {
+     }
+ 
+     /**
+      * Performs a deep copy on <i>other</i>.
+      */
+     public getAPIVersion_args(getAPIVersion_args other) {
+     }
+ 
+     public getAPIVersion_args deepCopy() {
+       return new getAPIVersion_args(this);
+     }
+ 
+     @Override
+     public void clear() {
+     }
+ 
+     public void setFieldValue(_Fields field, java.lang.Object value) {
+       switch (field) {
+       }
+     }
+ 
+     public java.lang.Object getFieldValue(_Fields field) {
+       switch (field) {
+       }
+       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) {
+       }
+       throw new java.lang.IllegalStateException();
+     }
+ 
+     @Override
+     public boolean equals(java.lang.Object that) {
+       if (that == null)
+         return false;
+       if (that instanceof getAPIVersion_args)
+         return this.equals((getAPIVersion_args)that);
+       return false;
+     }
+ 
+     public boolean equals(getAPIVersion_args that) {
+       if (that == null)
+         return false;
+       if (this == that)
+         return true;
+ 
+       return true;
+     }
+ 
+     @Override
+     public int hashCode() {
+       int hashCode = 1;
+ 
+       return hashCode;
+     }
+ 
+     @Override
+     public int compareTo(getAPIVersion_args other) {
+       if (!getClass().equals(other.getClass())) {
+         return getClass().getName().compareTo(other.getClass().getName());
+       }
+ 
+       int lastComparison = 0;
+ 
+       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("getAPIVersion_args(");
+       boolean first = true;
+ 
+       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 getAPIVersion_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public getAPIVersion_argsStandardScheme getScheme() {
+         return new getAPIVersion_argsStandardScheme();
+       }
+     }
+ 
+     private static class getAPIVersion_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAPIVersion_args> {
+ 
+       public void read(org.apache.thrift.protocol.TProtocol iprot, getAPIVersion_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) {
+             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, getAPIVersion_args struct) throws org.apache.thrift.TException {
+         struct.validate();
+ 
+         oprot.writeStructBegin(STRUCT_DESC);
+         oprot.writeFieldStop();
+         oprot.writeStructEnd();
+       }
+ 
+     }
+ 
+     private static class getAPIVersion_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public getAPIVersion_argsTupleScheme getScheme() {
+         return new getAPIVersion_argsTupleScheme();
+       }
+     }
+ 
+     private static class getAPIVersion_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAPIVersion_args> {
+ 
+       @Override
+       public void write(org.apache.thrift.protocol.TProtocol prot, getAPIVersion_args struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+       }
+ 
+       @Override
+       public void read(org.apache.thrift.protocol.TProtocol prot, getAPIVersion_args struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+       }
+     }
+ 
+     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 getAPIVersion_result implements org.apache.thrift.TBase<getAPIVersion_result, getAPIVersion_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAPIVersion_result>   {
+     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAPIVersion_result");
+ 
+     private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
+     private static final org.apache.thrift.protocol.TField 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 getAPIVersion_resultStandardSchemeFactory();
+     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAPIVersion_resultTupleSchemeFactory();
+ 
+     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. */
+     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.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(getAPIVersion_result.class, metaDataMap);
+     }
+ 
+     public getAPIVersion_result() {
+     }
+ 
+     public getAPIVersion_result(
+       java.lang.String 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 getAPIVersion_result(getAPIVersion_result other) {
+       if (other.isSetSuccess()) {
+         this.success = other.success;
+       }
+       if (other.isSetRse()) {
+         this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
+       }
+     }
+ 
+     public getAPIVersion_result deepCopy() {
+       return new getAPIVersion_result(this);
+     }
+ 
+     @Override
+     public void clear() {
+       this.success = null;
+       this.rse = null;
+     }
+ 
+     public java.lang.String getSuccess() {
+       return this.success;
+     }
+ 
+     public getAPIVersion_result setSuccess(java.lang.String success) {
+       this.success = success;
+       return this;
+     }
+ 
+     public void unsetSuccess() {
+       this.success = null;
+     }
+ 
+     /** Returns true if field success is set (has been assigned a value) and false otherwise */
+     public boolean isSetSuccess() {
+       return this.success != null;
+     }
+ 
+     public void setSuccessIsSet(boolean value) {
+       if (!value) {
+         this.success = null;
+       }
+     }
+ 
+     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
+       return this.rse;
+     }
+ 
+     public getAPIVersion_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.lang.String)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 getAPIVersion_result)
+         return this.equals((getAPIVersion_result)that);
+       return false;
+     }
+ 
+     public boolean equals(getAPIVersion_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(getAPIVersion_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("getAPIVersion_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 getAPIVersion_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public getAPIVersion_resultStandardScheme getScheme() {
+         return new getAPIVersion_resultStandardScheme();
+       }
+     }
+ 
+     private static class getAPIVersion_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAPIVersion_result> {
+ 
+       public void read(org.apache.thrift.protocol.TProtocol iprot, getAPIVersion_result struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TField schemeField;
+         iprot.readStructBegin();
+         while (true)
+         {
+           schemeField = iprot.readFieldBegin();
+           if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+             break;
+           }
+           switch (schemeField.id) {
+             case 0: // SUCCESS
+               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                 struct.success = iprot.readString();
+                 struct.setSuccessIsSet(true);
+               } else { 
+                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+               }
+               break;
+             case 1: // 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, getAPIVersion_result struct) throws org.apache.thrift.TException {
+         struct.validate();
+ 
+         oprot.writeStructBegin(STRUCT_DESC);
+         if (struct.success != null) {
+           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+           oprot.writeString(struct.success);
+           oprot.writeFieldEnd();
+         }
+         if (struct.rse != null) {
+           oprot.writeFieldBegin(RSE_FIELD_DESC);
+           struct.rse.write(oprot);
+           oprot.writeFieldEnd();
+         }
+         oprot.writeFieldStop();
+         oprot.writeStructEnd();
+       }
+ 
+     }
+ 
+     private static class getAPIVersion_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public getAPIVersion_resultTupleScheme getScheme() {
+         return new getAPIVersion_resultTupleScheme();
+       }
+     }
+ 
+     private static class getAPIVersion_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAPIVersion_result> {
+ 
+       @Override
+       public void write(org.apache.thrift.protocol.TProtocol prot, getAPIVersion_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.writeString(struct.success);
+         }
+         if (struct.isSetRse()) {
+           struct.rse.write(oprot);
+         }
+       }
+ 
+       @Override
+       public void read(org.apache.thrift.protocol.TProtocol prot, getAPIVersion_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 = iprot.readString();
+           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 isUserExists_args implements org.apache.thrift.TBase<isUserExists_args, isUserExists_args._Fields>, java.io.Serializable, Cloneable, Comparable<isUserExists_args>   {
+     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isUserExists_args");
+ 
+     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.protocol.TField USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userName", org.apache.thrift.protocol.TType.STRING, (short)2);
+ 
+     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isUserExists_argsStandardSchemeFactory();
+     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isUserExists_argsTupleSchemeFactory();
+ 
+     public java.lang.String gatewayId; // required
+     public java.lang.String userName; // required
+ 
+     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+       GATEWAY_ID((short)1, "gatewayId"),
+       USER_NAME((short)2, "userName");
+ 
+       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+ 
+       static {
+         for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+           byName.put(field.getFieldName(), field);
+         }
+       }
+ 
+       /**
+        * Find the _Fields constant that matches fieldId, or null if its not found.
+        */
+       public static _Fields findByThriftId(int fieldId) {
+         switch(fieldId) {
+           case 1: // GATEWAY_ID
+             return GATEWAY_ID;
+           case 2: // USER_NAME
+             return USER_NAME;
+           default:
+             return null;
+         }
+       }
+ 
+       /**
+        * Find the _Fields constant that matches fieldId, throwing an exception
+        * if it is not found.
+        */
+       public static _Fields findByThriftIdOrThrow(int fieldId) {
+         _Fields fields = findByThriftId(fieldId);
+         if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+         return fields;
+       }
+ 
+       /**
+        * Find the _Fields constant that matches name, or null if its not found.
+        */
+       public static _Fields findByName(java.lang.String name) {
+         return byName.get(name);
+       }
+ 
+       private final short _thriftId;
+       private final java.lang.String _fieldName;
+ 
+       _Fields(short thriftId, java.lang.String fieldName) {
+         _thriftId = thriftId;
+         _fieldName = fieldName;
+       }
+ 
+       public short getThriftFieldId() {
+         return _thriftId;
+       }
+ 
+       public java.lang.String getFieldName() {
+         return _fieldName;
+       }
+     }
+ 
+     // isset id assignments
+     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+     static {
+       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+       tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+       tmpMap.put(_Fields.USER_NAME, new org.apache.thrift.meta_data.FieldMetaData("userName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(isUserExists_args.class, metaDataMap);
+     }
+ 
+     public isUserExists_args() {
+     }
+ 
+     public isUserExists_args(
+       java.lang.String gatewayId,
+       java.lang.String userName)
+     {
+       this();
+       this.gatewayId = gatewayId;
+       this.userName = userName;
+     }
+ 
+     /**
+      * Performs a deep copy on <i>other</i>.
+      */
+     public isUserExists_args(isUserExists_args other) {
+       if (other.isSetGatewayId()) {
+         this.gatewayId = other.gatewayId;
+       }
+       if (other.isSetUserName()) {
+         this.userName = other.userName;
+       }
+     }
+ 
+     public isUserExists_args deepCopy() {
+       return new isUserExists_args(this);
+     }
+ 
+     @Override
+     public void clear() {
+       this.gatewayId = null;
+       this.userName = null;
+     }
+ 
+     public java.lang.String getGatewayId() {
+       return this.gatewayId;
+     }
+ 
+     public isUserExists_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 java.lang.String getUserName() {
+       return this.userName;
+     }
+ 
+     public isUserExists_args setUserName(java.lang.String userName) {
+       this.userName = userName;
+       return this;
+     }
+ 
+     public void unsetUserName() {
+       this.userName = null;
+     }
+ 
+     /** Returns true if field userName is set (has been assigned a value) and false otherwise */
+     public boolean isSetUserName() {
+       return this.userName != null;
+     }
+ 
+     public void setUserNameIsSet(boolean value) {
+       if (!value) {
+         this.userName = null;
+       }
+     }
+ 
+     public void setFieldValue(_Fields field, java.lang.Object value) {
+       switch (field) {
+       case GATEWAY_ID:
+         if (value == null) {
+           unsetGatewayId();
+         } else {
+           setGatewayId((java.lang.String)value);
+         }
+         break;
+ 
+       case USER_NAME:
+         if (value == null) {
+           unsetUserName();
+         } else {
+           setUserName((java.lang.String)value);
+         }
+         break;
+ 
+       }
+     }
+ 
+     public java.lang.Object getFieldValue(_Fields field) {
+       switch (field) {
+       case GATEWAY_ID:
+         return getGatewayId();
+ 
+       case USER_NAME:
+         return getUserName();
+ 
+       }
+       throw new java.lang.IllegalStateException();
+     }
+ 
+     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+     public boolean isSet(_Fields field) {
+       if (field == null) {
+         throw new java.lang.IllegalArgumentException();
+       }
+ 
+       switch (field) {
+       case GATEWAY_ID:
+         return isSetGatewayId();
+       case USER_NAME:
+         return isSetUserName();
+       }
+       throw new java.lang.IllegalStateException();
+     }
+ 
+     @Override
+     public boolean equals(java.lang.Object that) {
+       if (that == null)
+         return false;
+       if (that instanceof isUserExists_args)
+         return this.equals((isUserExists_args)that);
+       return false;
+     }
+ 
+     public boolean equals(isUserExists_args that) {
+       if (that == null)
+         return false;
+       if (this == that)
+         return true;
+ 
+       boolean this_present_gatewayId = true && this.isSetGatewayId();
+       boolean that_present_gatewayId = true && that.isSetGatewayId();
+       if (this_present_gatewayId || that_present_gatewayId) {
+         if (!(this_present_gatewayId && that_present_gatewayId))
+           return false;
+         if (!this.gatewayId.equals(that.gatewayId))
+           return false;
+       }
+ 
+       boolean this_present_userName = true && this.isSetUserName();
+       boolean that_present_userName = true && that.isSetUserName();
+       if (this_present_userName || that_present_userName) {
+         if (!(this_present_userName && that_present_userName))
+           return false;
+         if (!this.userName.equals(that.userName))
+           return false;
+       }
+ 
+       return true;
+     }
+ 
+     @Override
+     public int hashCode() {
+       int hashCode = 1;
+ 
+       hashCode = hashCode * 8191 + ((isSetGatewayId()) ? 131071 : 524287);
+       if (isSetGatewayId())
+         hashCode = hashCode * 8191 + gatewayId.hashCode();
+ 
+       hashCode = hashCode * 8191 + ((isSetUserName()) ? 131071 : 524287);
+       if (isSetUserName())
+         hashCode = hashCode * 8191 + userName.hashCode();
+ 
+       return hashCode;
+     }
+ 
+     @Override
+     public int compareTo(isUserExists_args other) {
+       if (!getClass().equals(other.getClass())) {
+         return getClass().getName().compareTo(other.getClass().getName());
+       }
+ 
+       int lastComparison = 0;
+ 
+       lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+       if (lastComparison != 0) {
+         return lastComparison;
+       }
+       if (isSetGatewayId()) {
+         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
+         if (lastComparison != 0) {
+           return lastComparison;
+         }
+       }
+       lastComparison = java.lang.Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
+       if (lastComparison != 0) {
+         return lastComparison;
+       }
+       if (isSetUserName()) {
+         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userName, other.userName);
+         if (lastComparison != 0) {
+           return lastComparison;
+         }
+       }
+       return 0;
+     }
+ 
+     public _Fields fieldForId(int fieldId) {
+       return _Fields.findByThriftId(fieldId);
+     }
+ 
+     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+       scheme(iprot).read(iprot, this);
+     }
+ 
+     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+       scheme(oprot).write(oprot, this);
+     }
+ 
+     @Override
+     public java.lang.String toString() {
+       java.lang.StringBuilder sb = new java.lang.StringBuilder("isUserExists_args(");
+       boolean first = true;
+ 
+       sb.append("gatewayId:");
+       if (this.gatewayId == null) {
+         sb.append("null");
+       } else {
+         sb.append(this.gatewayId);
+       }
+       first = false;
+       if (!first) sb.append(", ");
+       sb.append("userName:");
+       if (this.userName == null) {
+         sb.append("null");
+       } else {
+         sb.append(this.userName);
+       }
+       first = false;
+       sb.append(")");
+       return sb.toString();
+     }
+ 
+     public void validate() throws org.apache.thrift.TException {
+       // check for required fields
+       if (gatewayId == null) {
+         throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
+       }
+       if (userName == null) {
+         throw new org.apache.thrift.protocol.TProtocolException("Required field 'userName' was not present! Struct: " + toString());
+       }
+       // check for sub-struct validity
+     }
+ 
+     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 isUserExists_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public isUserExists_argsStandardScheme getScheme() {
+         return new isUserExists_argsStandardScheme();
+       }
+     }
+ 
+     private static class isUserExists_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isUserExists_args> {
+ 
+       public void read(org.apache.thrift.protocol.TProtocol iprot, isUserExists_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_ID
+               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                 struct.gatewayId = iprot.readString();
+                 struct.setGatewayIdIsSet(true);
+               } else { 
+                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+               }
+               break;
+             case 2: // USER_NAME
+               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                 struct.userName = iprot.readString();
+                 struct.setUserNameIsSet(true);
+               } else { 
+                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+               }
+               break;
+             default:
+               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+           }
+           iprot.readFieldEnd();
+         }
+         iprot.readStructEnd();
+ 
+         // check for required fields of primitive type, which can't be checked in the validate method
+         struct.validate();
+       }
+ 
+       public void write(org.apache.thrift.protocol.TProtocol oprot, isUserExists_args struct) throws org.apache.thrift.TException {
+         struct.validate();
+ 
+         oprot.writeStructBegin(STRUCT_DESC);
+         if (struct.gatewayId != null) {
+           oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
+           oprot.writeString(struct.gatewayId);
+           oprot.writeFieldEnd();
+         }
+         if (struct.userName != null) {
+           oprot.writeFieldBegin(USER_NAME_FIELD_DESC);
+           oprot.writeString(struct.userName);
+           oprot.writeFieldEnd();
+         }
+         oprot.writeFieldStop();
+         oprot.writeStructEnd();
+       }
+ 
+     }
+ 
+     private static class isUserExists_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public isUserExists_argsTupleScheme getScheme() {
+         return new isUserExists_argsTupleScheme();
+       }
+     }
+ 
+     private static class isUserExists_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<isUserExists_args> {
+ 
+       @Override
+       public void write(org.apache.thrift.protocol.TProtocol prot, isUserExists_args struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+         oprot.writeString(struct.gatewayId);
+         oprot.writeString(struct.userName);
+       }
+ 
+       @Override
+       public void read(org.apache.thrift.protocol.TProtocol prot, isUserExists_args struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+         struct.gatewayId = iprot.readString();
+         struct.setGatewayIdIsSet(true);
+         struct.userName = iprot.readString();
+         struct.setUserNameIsSet(true);
+       }
+     }
+ 
+     private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+       return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+     }
+   }
+ 
+   public static class isUserExists_result implements org.apache.thrift.TBase<isUserExists_result, isUserExists_result._Fields>, java.io.Serializable, Cloneable, Comparable<isUserExists_result>   {
+     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isUserExists_result");
+ 
+     private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
+     private static final org.apache.thrift.protocol.TField 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 isUserExists_resultStandardSchemeFactory();
+     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isUserExists_resultTupleSchemeFactory();
+ 
+     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. */
+     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
+     private static final int __SUCCESS_ISSET_ID = 0;
+     private byte __isset_bitfield = 0;
+     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+     static {
+       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+       tmpMap.put(_Fields.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(isUserExists_result.class, metaDataMap);
+     }
+ 
+     public isUserExists_result() {
+     }
+ 
+     public isUserExists_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 isUserExists_result(isUserExists_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 isUserExists_result deepCopy() {
+       return new isUserExists_result(this);
+     }
+ 
+     @Override
+     public void clear() {
+       setSuccessIsSet(false);
+       this.success = false;
+       this.rse = null;
+     }
+ 
+     public boolean isSuccess() {
+       return this.success;
+     }
+ 
+     public isUserExists_result setSuccess(boolean success) {
+       this.success = success;
+       setSuccessIsSet(true);
+       return this;
+     }
+ 
+     public void unsetSuccess() {
+       __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+     }
+ 
+     /** Returns true if field success is set (has been assigned a value) and false otherwise */
+     public boolean isSetSuccess() {
+       return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+     }
+ 
+     public void setSuccessIsSet(boolean value) {
+       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
+     }
+ 
+     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
+       return this.rse;
+     }
+ 
+     public isUserExists_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.lang.Boolean)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 isSuccess();
+ 
+       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 isUserExists_result)
+         return this.equals((isUserExists_result)that);
+       return false;
+     }
+ 
+     public boolean equals(isUserExists_result that) {
+       if (that == null)
+         return false;
+       if (this == that)
+         return true;
+ 
+       boolean this_present_success = true;
+       boolean that_present_success = true;
+       if (this_present_success || that_present_success) {
+         if (!(this_present_success && that_present_success))
+           return false;
+         if (this.success != that.success)
+           return false;
+       }
+ 
+       boolean this_present_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 + ((success) ? 131071 : 524287);
+ 
+       hashCode = hashCode * 8191 + ((isSetRse()) ? 131071 : 524287);
+       if (isSetRse())
+         hashCode = hashCode * 8191 + rse.hashCode();
+ 
+       return hashCode;
+     }
+ 
+     @Override
+     public int compareTo(isUserExists_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("isUserExists_result(");
+       boolean first = true;
+ 
+       sb.append("success:");
+       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 {
+         // 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 isUserExists_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public isUserExists_resultStandardScheme getScheme() {
+         return new isUserExists_resultStandardScheme();
+       }
+     }
+ 
+     private static class isUserExists_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isUserExists_result> {
+ 
+       public void read(org.apache.thrift.protocol.TProtocol iprot, isUserExists_result struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TField schemeField;
+         iprot.readStructBegin();
+         while (true)
+         {
+           schemeField = iprot.readFieldBegin();
+           if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+             break;
+           }
+           switch (schemeField.id) {
+             case 0: // SUCCESS
+               if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+                 struct.success = iprot.readBool();
+                 struct.setSuccessIsSet(true);
+               } else { 
+                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+               }
+               break;
+             case 1: // 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, isUserExists_result struct) throws org.apache.thrift.TException {
+         struct.validate();
+ 
+         oprot.writeStructBegin(STRUCT_DESC);
+         if (struct.isSetSuccess()) {
+           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+           oprot.writeBool(struct.success);
+           oprot.writeFieldEnd();
+         }
+         if (struct.rse != null) {
+           oprot.writeFieldBegin(RSE_FIELD_DESC);
+           struct.rse.write(oprot);
+           oprot.writeFieldEnd();
+         }
+         oprot.writeFieldStop();
+         oprot.writeStructEnd();
+       }
+ 
+     }
+ 
+     private static class isUserExists_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public isUserExists_resultTupleScheme getScheme() {
+         return new isUserExists_resultTupleScheme();
+       }
+     }
+ 
+     private static class isUserExists_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<isUserExists_result> {
+ 
+       @Override
+       public void write(org.apache.thrift.protocol.TProtocol prot, isUserExists_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.writeBool(struct.success);
+         }
+         if (struct.isSetRse()) {
+           struct.rse.write(oprot);
+         }
+       }
+ 
+       @Override
+       public void read(org.apache.thrift.protocol.TProtocol prot, isUserExists_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 = iprot.readBool();
+           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 addGateway_args implements org.apache.thrift.TBase<addGateway_args, addGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<addGateway_args>   {
+     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGateway_args");
+ 
+     private static final org.apache.thrift.protocol.TField GATEWAY_FIELD_DESC = new org.apache.thrift.protocol.TField("gateway", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+ 
+     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addGateway_argsStandardSchemeFactory();
+     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGateway_argsTupleSchemeFactory();
+ 
+     public org.apache.airavata.model.workspace.Gateway gateway; // 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((short)1, "gateway");
+ 
+       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
+             return GATEWAY;
+           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, new org.apache.thrift.meta_data.FieldMetaData("gateway", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.workspace.Gateway.class)));
+       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addGateway_args.class, metaDataMap);
+     }
+ 
+     public addGateway_args() {
+     }
+ 
+     public addGateway_args(
+       org.apache.airavata.model.workspace.Gateway gateway)
+     {
+       this();
+       this.gateway = gateway;
+     }
+ 
+     /**
+      * Performs a deep copy on <i>other</i>.
+      */
+     public addGateway_args(addGateway_args other) {
+       if (other.isSetGateway()) {
+         this.gateway = new org.apache.airavata.model.workspace.Gateway(other.gateway);
+       }
+     }
+ 
+     public addGateway_args deepCopy() {
+       return new addGateway_args(this);
+     }
+ 
+     @Override
+     public void clear() {
+       this.gateway = null;
+     }
+ 
+     public org.apache.airavata.model.workspace.Gateway getGateway() {
+       return this.gateway;
+     }
+ 
+     public addGateway_args setGateway(org.apache.airavata.model.workspace.Gateway gateway) {
+       this.gateway = gateway;
+       return this;
+     }
+ 
+     public void unsetGateway() {
+       this.gateway = null;
+     }
+ 
+     /** Returns true if field gateway is set (has been assigned a value) and false otherwise */
+     public boolean isSetGateway() {
+       return this.gateway != null;
+     }
+ 
+     public void setGatewayIsSet(boolean value) {
+       if (!value) {
+         this.gateway = null;
+       }
+     }
+ 
+     public void setFieldValue(_Fields field, java.lang.Object value) {
+       switch (field) {
+       case GATEWAY:
+         if (value == null) {
+           unsetGateway();
+         } else {
+           setGateway((org.apache.airavata.model.workspace.Gateway)value);
+         }
+         break;
+ 
+       }
+     }
+ 
+     public java.lang.Object getFieldValue(_Fields field) {
+       switch (field) {
+       case GATEWAY:
+         return getGateway();
+ 
+       }
+       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:
+         return isSetGateway();
+       }
+       throw new java.lang.IllegalStateException();
+     }
+ 
+     @Override
+     public boolean equals(java.lang.Object that) {
+       if (that == null)
+         return false;
+       if (that instanceof addGateway_args)
+         return this.equals((addGateway_args)that);
+       return false;
+     }
+ 
+     public boolean equals(addGateway_args that) {
+       if (that == null)
+         return false;
+       if (this == that)
+         return true;
+ 
+       boolean this_present_gateway = true && this.isSetGateway();
+       boolean that_present_gateway = true && that.isSetGateway();
+       if (this_present_gateway || that_present_gateway) {
+         if (!(this_present_gateway && that_present_gateway))
+           return false;
+         if (!this.gateway.equals(that.gateway))
+           return false;
+       }
+ 
+       return true;
+     }
+ 
+     @Override
+     public int hashCode() {
+       int hashCode = 1;
+ 
+       hashCode = hashCode * 8191 + ((isSetGateway()) ? 131071 : 524287);
+       if (isSetGateway())
+         hashCode = hashCode * 8191 + gateway.hashCode();
+ 
+       return hashCode;
+     }
+ 
+     @Override
+     public int compareTo(addGateway_args other) {
+       if (!getClass().equals(other.getClass())) {
+         return getClass().getName().compareTo(other.getClass().getName());
+       }
+ 
+       int lastComparison = 0;
+ 
+       lastComparison = java.lang.Boolean.valueOf(isSetGateway()).compareTo(other.isSetGateway());
+       if (lastComparison != 0) {
+         return lastComparison;
+       }
+       if (isSetGateway()) {
+         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gateway, other.gateway);
+         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("addGateway_args(");
+       boolean first = true;
+ 
+       sb.append("gateway:");
+       if (this.gateway == null) {
+         sb.append("null");
+       } else {
+         sb.append(this.gateway);
+       }
+       first = false;
+       sb.append(")");
+       return sb.toString();
+     }
+ 
+     public void validate() throws org.apache.thrift.TException {
+       // check for required fields
+       if (gateway == null) {
+         throw new org.apache.thrift.protocol.TProtocolException("Required field 'gateway' was not present! Struct: " + toString());
+       }
+       // check for sub-struct validity
+       if (gateway != null) {
+         gateway.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 addGateway_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public addGateway_argsStandardScheme getScheme() {
+         return new addGateway_argsStandardScheme();
+       }
+     }
+ 
+     private static class addGateway_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGateway_args> {
+ 
+       public void read(org.apache.thrift.protocol.TProtocol iprot, addGateway_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
+               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                 struct.gateway = new org.apache.airavata.model.workspace.Gateway();
+                 struct.gateway.read(iprot);
+                 struct.setGatewayIsSet(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, addGateway_args struct) throws org.apache.thrift.TException {
+         struct.validate();
+ 
+         oprot.writeStructBegin(STRUCT_DESC);
+         if (struct.gateway != null) {
+           oprot.writeFieldBegin(GATEWAY_FIELD_DESC);
+           struct.gateway.write(oprot);
+           oprot.writeFieldEnd();
+         }
+         oprot.writeFieldStop();
+         oprot.writeStructEnd();
+       }
+ 
+     }
+ 
+     private static class addGateway_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public addGateway_argsTupleScheme getScheme() {
+         return new addGateway_argsTupleScheme();
+       }
+     }
+ 
+     private static class addGateway_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<addGateway_args> {
+ 
+       @Override
+       public void write(org.apache.thrift.protocol.TProtocol prot, addGateway_args struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+         struct.gateway.write(oprot);
+       }
+ 
+       @Override
+       public void read(org.apache.thrift.protocol.TProtocol prot, addGateway_args struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+         struct.gateway = new org.apache.airavata.model.workspace.Gateway();
+         struct.gateway.read(iprot);
+         struct.setGatewayIsSet(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 addGateway_result implements org.apache.thrift.TBase<addGateway_result, addGateway_result._Fields>, java.io.Serializable, Cloneable, Comparable<addGateway_result>   {
+     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGateway_result");
+ 
+     private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
+     private static final org.apache.thrift.protocol.TField 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 addGateway_resultStandardSchemeFactory();
+     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGateway_resultTupleSchemeFactory();
+ 
+     public java.lang.String success; // required
+     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 {
+       SUCCESS((short)0, "success"),
+       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 0: // SUCCESS
+             return SUCCESS;
+           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.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+       tmpMap.put(_Fields.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(addGateway_result.class, metaDataMap);
+     }
+ 
+     public addGateway_result() {
+     }
+ 
+     public addGateway_result(
+       java.lang.String success,
+       org.apache.airavata.registry.api.exception.RegistryServiceException rse,
+       org.apache.airavata.model.error.DuplicateEntryException dee)
+     {
+       this();
+       this.success = success;
+       this.rse = rse;
+       this.dee = dee;
+     }
+ 
+     /**
+      * Performs a deep copy on <i>other</i>.
+      */
+     public addGateway_result(addGateway_result other) {
+       if (other.isSetSuccess()) {
+         this.success = other.success;
+       }
+       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 addGateway_result deepCopy() {
+       return new addGateway_result(this);
+     }
+ 
+     @Override
+     public void clear() {
+       this.success = null;
+       this.rse = null;
+       this.dee = null;
+     }
+ 
+     public java.lang.String getSuccess() {
+       return this.success;
+     }
+ 
+     public addGateway_result setSuccess(java.lang.String success) {
+       this.success = success;
+       return this;
+     }
+ 
+     public void unsetSuccess() {
+       this.success = null;
+     }
+ 
+     /** Returns true if field success is set (has been assigned a value) and false otherwise */
+     public boolean isSetSuccess() {
+       return this.success != null;
+     }
+ 
+     public void setSuccessIsSet(boolean value) {
+       if (!value) {
+         this.success = null;
+       }
+     }
+ 
+     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
+       return this.rse;
+     }
+ 
+     public addGateway_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 addGateway_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 SUCCESS:
+         if (value == null) {
+           unsetSuccess();
+         } else {
+           setSuccess((java.lang.String)value);
+         }
+         break;
+ 
+       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 SUCCESS:
+         return getSuccess();
+ 
+       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 SUCCESS:
+         return isSetSuccess();
+       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 addGateway_result)
+         return this.equals((addGateway_result)that);
+       return false;
+     }
+ 
+     public boolean equals(addGateway_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;
+       }
+ 
+       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 + ((isSetSuccess()) ? 131071 : 524287);
+       if (isSetSuccess())
+         hashCode = hashCode * 8191 + success.hashCode();
+ 
+       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(addGateway_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;
+         }
+       }
+       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("addGateway_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;
+       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 addGateway_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public addGateway_resultStandardScheme getScheme() {
+         return new addGateway_resultStandardScheme();
+       }
+     }
+ 
+     private static class addGateway_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGateway_result> {
+ 
+       public void read(org.apache.thrift.protocol.TProtocol iprot, addGateway_result struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TField schemeField;
+         iprot.readStructBegin();
+         while (true)
+         {
+           schemeField = iprot.readFieldBegin();
+           if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+             break;
+           }
+           switch (schemeField.id) {
+             case 0: // SUCCESS
+               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                 struct.success = iprot.readString();
+                 struct.setSuccessIsSet(true);
+               } else { 
+                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+               }
+               break;
+             case 1: // 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, addGateway_result struct) throws org.apache.thrift.TException {
+         struct.validate();
+ 
+         oprot.writeStructBegin(STRUCT_DESC);
+         if (struct.success != null) {
+           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+           oprot.writeString(struct.success);
+           oprot.writeFieldEnd();
+         }
+         if (struct.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 addGateway_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public addGateway_resultTupleScheme getScheme() {
+         return new addGateway_resultTupleScheme();
+       }
+     }
+ 
+     private static class addGateway_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<addGateway_result> {
+ 
+       @Override
+       public void write(org.apache.thrift.protocol.TProtocol prot, addGateway_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);
+         }
+         if (struct.isSetDee()) {
+           optionals.set(2);
+         }
+         oprot.writeBitSet(optionals, 3);
+         if (struct.isSetSuccess()) {
+           oprot.writeString(struct.success);
+         }
+         if (struct.isSetRse()) {
+           struct.rse.write(oprot);
+         }
+         if (struct.isSetDee()) {
+           struct.dee.write(oprot);
+         }
+       }
+ 
+       @Override
+       public void read(org.apache.thrift.protocol.TProtocol prot, addGateway_result struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+         java.util.BitSet incoming = iprot.readBitSet(3);
+         if (incoming.get(0)) {
+           struct.success = iprot.readString();
+           struct.setSuccessIsSet(true);
+         }
+         if (incoming.get(1)) {
+           struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+           struct.rse.read(iprot);
+           struct.setRseIsSet(true);
+         }
+         if (incoming.get(2)) {
+           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 getAllUsersInGateway_args implements org.apache.thrift.TBase<getAllUsersInGateway_args, getAllUsersInGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllUsersInGateway_args>   {
+     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllUsersInGateway_args");
+ 
+     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 getAllUsersInGateway_argsStandardSchemeFactory();
+     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllUsersInGateway_argsTupleSchemeFactory();
+ 
+     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 {
+       GATEWAY_ID((short)1, "gatewayId");
+ 
+       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+ 
+       static {
+         for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+           byName.put(field.getFieldName(), field);
+         }
+       }
+ 
+       /**
+        * Find the _Fields constant that matches fieldId, or null if its not found.
+        */
+       public static _Fields findByThriftId(int fieldId) {
+         switch(fieldId) {
+           case 1: // GATEWAY_ID
+             return GATEWAY_ID;
+           default:
+             return null;
+         }
+       }
+ 
+       /**
+        * Find the _Fields constant that matches fieldId, throwing an exception
+        * if it is not found.
+        */
+       public static _Fields findByThriftIdOrThrow(int fieldId) {
+         _Fields fields = findByThriftId(fieldId);
+         if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+         return fields;
+       }
+ 
+       /**
+        * Find the _Fields constant that matches name, or null if its not found.
+        */
+       public static _Fields findByName(java.lang.String name) {
+         return byName.get(name);
+       }
+ 
+       private final short _thriftId;
+       private final java.lang.String _fieldName;
+ 
+       _Fields(short thriftId, java.lang.String fieldName) {
+         _thriftId = thriftId;
+         _fieldName = fieldName;
+       }
+ 
+       public short getThriftFieldId() {
+         return _thriftId;
+       }
+ 
+       public java.lang.String getFieldName() {
+         return _fieldName;
+       }
+     }
+ 
+     // isset id assignments
+     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+     static {
+       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+       tmpMap.put(_Fields.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(getAllUsersInGateway_args.class, metaDataMap);
+     }
+ 
+     public getAllUsersInGateway_args() {
+     }
+ 
+     public getAllUsersInGateway_args(
+       java.lang.String gatewayId)
+     {
+       this();
+       this.gatewayId = gatewayId;
+     }
+ 
+     /**
+      * Performs a deep copy on <i>other</i>.
+      */
+     public getAllUsersInGateway_args(getAllUsersInGateway_args other) {
+       if (other.isSetGatewayId()) {
+         this.gatewayId = other.gatewayId;
+       }
+     }
+ 
+     public getAllUsersInGateway_args deepCopy() {
+       return new getAllUsersInGateway_args(this);
+     }
+ 
+     @Override
+     public void clear() {
+       this.gatewayId = null;
+     }
+ 
+     public java.lang.String getGatewayId() {
+       return this.gatewayId;
+     }
+ 
+     public getAllUsersInGateway_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 GATEWAY_ID:
+         if (value == null) {
+           unsetGatewayId();
+         } else {
+           setGatewayId((java.lang.String)value);
+         }
+         break;
+ 
+       }
+     }
+ 
+     public java.lang.Object getFieldValue(_Fields field) {
+       switch (field) {
+       case GATEWAY_ID:
+         return getGatewayId();
+ 
+       }
+       throw new java.lang.IllegalStateException();
+     }
+ 
+     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+     public boolean isSet(_Fields field) {
+       if (field == null) {
+         throw new java.lang.IllegalArgumentException();
+       }
+ 
+       switch (field) {
+       case GATEWAY_ID:
+         return isSetGatewayId();
+       }
+       throw new java.lang.IllegalStateException();
+     }
+ 
+     @Override
+     public boolean equals(java.lang.Object that) {
+       if (that == null)
+         return false;
+       if (that instanceof getAllUsersInGateway_args)
+         return this.equals((getAllUsersInGateway_args)that);
+       return false;
+     }
+ 
+     public boolean equals(getAllUsersInGateway_args that) {
+       if (that == null)
+         return false;
+       if (this == that)
+         return true;
+ 
+       boolean this_present_gatewayId = true && this.isSetGatewayId();
+       boolean that_present_gatewayId = true && that.isSetGatewayId();
+       if (this_present_gatewayId || that_present_gatewayId) {
+         if (!(this_present_gatewayId && that_present_gatewayId))
+           return false;
+         if (!this.gatewayId.equals(that.gatewayId))
+           return false;
+       }
+ 
+       return true;
+     }
+ 
+     @Override
+     public int hashCode() {
+       int hashCode = 1;
+ 
+       hashCode = hashCode * 8191 + ((isSetGatewayId()) ? 131071 : 524287);
+       if (isSetGatewayId())
+         hashCode = hashCode * 8191 + gatewayId.hashCode();
+ 
+       return hashCode;
+     }
+ 
+     @Override
+     public int compareTo(getAllUsersInGateway_args other) {
+       if (!getClass().equals(other.getClass())) {
+         return getClass().getName().compareTo(other.getClass().getName());
+       }
+ 
+       int lastComparison = 0;
+ 
+       lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+       if (lastComparison != 0) {
+         return lastComparison;
+       }
+       if (isSetGatewayId()) {
+         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
+         if (lastComparison != 0) {
+           return lastComparison;
+         }
+       }
+       return 0;
+     }
+ 
+     public _Fields fieldForId(int fieldId) {
+       return _Fields.findByThriftId(fieldId);
+     }
+ 
+     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+       scheme(iprot).read(iprot, this);
+     }
+ 
+     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+       scheme(oprot).write(oprot, this);
+     }
+ 
+     @Override
+     public java.lang.String toString() {
+       java.lang.StringBuilder sb = new java.lang.StringBuilder("getAllUsersInGateway_args(");
+       boolean first = true;
+ 
+       sb.append("gatewayId:");
+       if (this.gatewayId == null) {
+         sb.append("null");
+       } else {
+         sb.append(this.gatewayId);
+       }
+       first = false;
+       sb.append(")");
+       return sb.toString();
+     }
+ 
+     public void validate() throws org.apache.thrift.TException {
+       // check for required fields
+       if (gatewayId == null) {
+         throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' 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 getAllUsersInGateway_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public getAllUsersInGateway_argsStandardScheme getScheme() {
+         return new getAllUsersInGateway_argsStandardScheme();
+       }
+     }
+ 
+     private static class getAllUsersInGateway_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllUsersInGateway_args> {
+ 
+       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllUsersInGateway_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_ID
+               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                 struct.gatewayId = iprot.readString();
+                 struct.setGatewayIdIsSet(true);
+               } else { 
+                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+               }
+               break;
+             default:
+               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+           }
+           iprot.readFieldEnd();
+         }
+         iprot.readStructEnd();
+ 
+         // check for required fields of primitive type, which can't be checked in the validate method
+         struct.validate();
+       }
+ 
+       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllUsersInGateway_args struct) throws org.apache.thrift.TException {
+         struct.validate();
+ 
+         oprot.writeStructBegin(STRUCT_DESC);
+         if (struct.gatewayId != null) {
+           oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
+           oprot.writeString(struct.gatewayId);
+           oprot.writeFieldEnd();
+         }
+         oprot.writeFieldStop();
+         oprot.writeStructEnd();
+       }
+ 
+     }
+ 
+     private static class getAllUsersInGateway_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public getAllUsersInGateway_argsTupleScheme getScheme() {
+         return new getAllUsersInGateway_argsTupleScheme();
+       }
+     }
+ 
+     private static class getAllUsersInGateway_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAllUsersInGateway_args> {
+ 
+       @Override
+       public void write(org.apache.thrift.protocol.TProtocol prot, getAllUsersInGateway_args struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+         oprot.writeString(struct.gatewayId);
+       }
+ 
+       @Override
+       public void read(org.apache.thrift.protocol.TProtocol prot, getAllUsersInGateway_args struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+         struct.gatewayId = iprot.readString();
+         struct.setGatewayIdIsSet(true);
+       }
+     }
+ 
+     private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+       return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+     }
+   }
+ 
+   public static class getAllUsersInGateway_result implements org.apache.thrift.TBase<getAllUsersInGateway_result, getAllUsersInGateway_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllUsersInGateway_result>   {
+     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllUsersInGateway_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 getAllUsersInGateway_resultStandardSchemeFactory();
+     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllUsersInGateway_resultTupleSchemeFactory();
+ 
+     public java.util.List<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. */
+     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.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(getAllUsersInGateway_result.class, metaDataMap);
+     }
+ 
+     public getAllUsersInGateway_result() {
+     }
+ 
+     public getAllUsersInGateway_result(
+       java.util.List<java.lang.String> 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 getAllUsersInGateway_result(getAllUsersInGateway_result other) {
+       if (other.isSetSuccess()) {
+         java.util.List<java.lang.String> __this__success = new java.util.ArrayList<java.lang.String>(other.success);
+         this.success = __this__success;
+       }
+       if (other.isSetRse()) {
+         this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
+       }
+     }
+ 
+     public getAllUsersInGateway_result deepCopy() {
+       return new getAllUsersInGateway_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<java.lang.String> getSuccessIterator() {
+       return (this.success == null) ? null : this.success.iterator();
+     }
+ 
+     public void addToSuccess(java.lang.String elem) {
+       if (this.success == null) {
+         this.success = new java.util.ArrayList<java.lang.String>();
+       }
+       this.success.add(elem);
+     }
+ 
+     public java.util.List<java.lang.String> getSuccess() {
+       return this.success;
+     }
+ 
+     public getAllUsersInGateway_result setSuccess(java.util.List<java.lang.String> success) {
+       this.success = success;
+       return this;
+     }
+ 
+     public void unsetSuccess() {
+       this.success = null;
+     }
+ 
+     /** Returns true if field success is set (has been assigned a value) and false otherwise */
+     public boolean isSetSuccess() {
+       return this.success != null;
+     }
+ 
+     public void setSuccessIsSet(boolean value) {
+       if (!value) {
+         this.success = null;
+       }
+     }
+ 
+     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
+       return this.rse;
+     }
+ 
+     public getAllUsersInGateway_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<java.lang.String>)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 getAllUsersInGateway_result)
+         return this.equals((getAllUsersInGateway_result)that);
+       return false;
+     }
+ 
+     public boolean equals(getAllUsersInGateway_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(getAllUsersInGateway_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("getAllUsersInGateway_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 getAllUsersInGateway_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public getAllUsersInGateway_resultStandardScheme getScheme() {
+         return new getAllUsersInGateway_resultStandardScheme();
+       }
+     }
+ 
+     private static class getAllUsersInGateway_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllUsersInGateway_result> {
+ 
+       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllUsersInGateway_result struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TField schemeField;
+         iprot.readStructBegin();
+         while (true)
+         {
+           schemeField = iprot.readFieldBegin();
+           if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+             break;
+           }
+           switch (schemeField.id) {
+             case 0: // SUCCESS
+               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+                 {
+                   org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
+                   struct.success = new java.util.ArrayList<java.lang.String>(_list0.size);
+                   java.lang.String _elem1;
+                   for (int _i2 = 0; _i2 < _list0.size; ++_i2)
+                   {
+                     _elem1 = iprot.readString();
+                     struct.success.add(_elem1);
+                   }
+                   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, getAllUsersInGateway_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.STRING, struct.success.size()));
+             for (java.lang.String _iter3 : struct.success)
+             {
+               oprot.writeString(_iter3);
+             }
+             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 getAllUsersInGateway_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public getAllUsersInGateway_resultTupleScheme getScheme() {
+         return new getAllUsersInGateway_resultTupleScheme();
+       }
+     }
+ 
+     private static class getAllUsersInGateway_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAllUsersInGateway_result> {
+ 
+       @Override
+       public void write(org.apache.thrift.protocol.TProtocol prot, getAllUsersInGateway_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 (java.lang.String _iter4 : struct.success)
+             {
+               oprot.writeString(_iter4);
+             }
+           }
+         }
+         if (struct.isSetRse()) {
+           struct.rse.write(oprot);
+         }
+       }
+ 
+       @Override
+       public void read(org.apache.thrift.protocol.TProtocol prot, getAllUsersInGateway_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 _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+             struct.success = new java.util.ArrayList<java.lang.String>(_list5.size);
+             java.lang.String _elem6;
+             for (int _i7 = 0; _i7 < _list5.size; ++_i7)
+             {
+               _elem6 = iprot.readString();
+               struct.success.add(_elem6);
+             }
+           }
+           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 updateGateway_args implements org.apache.thrift.TBase<updateGateway_args, updateGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateGateway_args>   {
+     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGateway_args");
+ 
+     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.protocol.TField UPDATED_GATEWAY_FIELD_DESC = new org.apache.thrift.protocol.TField("updatedGateway", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+ 
+     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGateway_argsStandardSchemeFactory();
+     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGateway_argsTupleSchemeFactory();
+ 
+     public java.lang.String gatewayId; // required
+     public org.apache.airavata.model.workspace.Gateway updatedGateway; // 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_ID((short)1, "gatewayId"),
+       UPDATED_GATEWAY((short)2, "updatedGateway");
+ 
+       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_ID
+             return GATEWAY_ID;
+           case 2: // UPDATED_GATEWAY
+             return UPDATED_GATEWAY;
+           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_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+       tmpMap.put(_Fields.UPDATED_GATEWAY, new org.apache.thrift.meta_data.FieldMetaData("updatedGateway", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.workspace.Gateway.class)));
+       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateGateway_args.class, metaDataMap);
+     }
+ 
+     public updateGateway_args() {
+     }
+ 
+     public updateGateway_args(
+       java.lang.String gatewayId,
+       org.apache.airavata.model.workspace.Gateway updatedGateway)
+     {
+       this();
+       this.gatewayId = gatewayId;
+       this.updatedGateway = updatedGateway;
+     }
+ 
+     /**
+      * Performs a deep copy on <i>other</i>.
+      */
+     public updateGateway_args(updateGateway_args other) {
+       if (other.isSetGatewayId()) {
+         this.gatewayId = other.gatewayId;
+       }
+       if (other.isSetUpdatedGateway()) {
+         this.updatedGateway = new org.apache.airavata.model.workspace.Gateway(other.updatedGateway);
+       }
+     }
+ 
+     public updateGateway_args deepCopy() {
+       return new updateGateway_args(this);
+     }
+ 
+     @Override
+     public void clear() {
+       this.gatewayId = null;
+       this.updatedGateway = null;
+     }
+ 
+     public java.lang.String getGatewayId() {
+       return this.gatewayId;
+     }
+ 
+     public updateGateway_args setGatewayId(java.lang.String gatewayId) {
+       this.gatewayId = gatewayId;
+       return this;
+     }
+ 
+     public void unsetGatewayId() {
+       this.gatewayId = null;
+     }
+ 
+     /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
+     public boolean isSetGatewayId() {
+       return this.gatewayId != null;
+     }
+ 
+     public void setGatewayIdIsSet(boolean value) {
+       if (!value) {
+         this.gatewayId = null;
+       }
+     }
+ 
+     public org.apache.airavata.model.workspace.Gateway getUpdatedGateway() {
+       return this.updatedGateway;
+     }
+ 
+     public updateGateway_args setUpdatedGateway(org.apache.airavata.model.workspace.Gateway updatedGateway) {
+       this.updatedGateway = updatedGateway;
+       return this;
+     }
+ 
+     public void unsetUpdatedGateway() {
+       this.updatedGateway = null;
+     }
+ 
+     /** Returns true if field updatedGateway is set (has been assigned a value) and false otherwise */
+     public boolean isSetUpdatedGateway() {
+       return this.updatedGateway != null;
+     }
+ 
+     public void setUpdatedGatewayIsSet(boolean value) {
+       if (!value) {
+         this.updatedGateway = null;
+       }
+     }
+ 
+     public void setFieldValue(_Fields field, java.lang.Object value) {
+       switch (field) {
+       case GATEWAY_ID:
+         if (value == null) {
+           unsetGatewayId();
+         } else {
+           setGatewayId((java.lang.String)value);
+         }
+         break;
+ 
+       case UPDATED_GATEWAY:
+         if (value == null) {
+           unsetUpdatedGateway();
+         } else {
+           setUpdatedGateway((org.apache.airavata.model.workspace.Gateway)value);
+         }
+         break;
+ 
+       }
+     }
+ 
+     public java.lang.Object getFieldValue(_Fields field) {
+       switch (field) {
+       case GATEWAY_ID:
+         return getGatewayId();
+ 
+       case UPDATED_GATEWAY:
+         return getUpdatedGateway();
+ 
+       }
+       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_ID:
+         return isSetGatewayId();
+       case UPDATED_GATEWAY:
+         return isSetUpdatedGateway();
+       }
+       throw new java.lang.IllegalStateException();
+     }
+ 
+     @Override
+     public boolean equals(java.lang.Object that) {
+       if (that == null)
+         return false;
+       if (that instanceof updateGateway_args)
+         return this.equals((updateGateway_args)that);
+       return false;
+     }
+ 
+     public boolean equals(updateGateway_args that) {
+       if (that == null)
+         return false;
+       if (this == that)
+         return true;
+ 
+       boolean this_present_gatewayId = true && this.isSetGatewayId();
+       boolean that_present_gatewayId = true && that.isSetGatewayId();
+       if (this_present_gatewayId || that_present_gatewayId) {
+         if (!(this_present_gatewayId && that_present_gatewayId))
+           return false;
+         if (!this.gatewayId.equals(that.gatewayId))
+           return false;
+       }
+ 
+       boolean this_present_updatedGateway = true && this.isSetUpdatedGateway();
+       boolean that_present_updatedGateway = true && that.isSetUpdatedGateway();
+       if (this_present_updatedGateway || that_present_updatedGateway) {
+         if (!(this_present_updatedGateway && that_present_updatedGateway))
+           return false;
+         if (!this.updatedGateway.equals(that.updatedGateway))
+           return false;
+       }
+ 
+       return true;
+     }
+ 
+     @Override
+     public int hashCode() {
+       int hashCode = 1;
+ 
+       hashCode = hashCode * 8191 + ((isSetGatewayId()) ? 131071 : 524287);
+       if (isSetGatewayId())
+         hashCode = hashCode * 8191 + gatewayId.hashCode();
+ 
+       hashCode = hashCode * 8191 + ((isSetUpdatedGateway()) ? 131071 : 524287);
+       if (isSetUpdatedGateway())
+         hashCode = hashCode * 8191 + updatedGateway.hashCode();
+ 
+       return hashCode;
+     }
+ 
+     @Override
+     public int compareTo(updateGateway_args other) {
+       if (!getClass().equals(other.getClass())) {
+         return getClass().getName().compareTo(other.getClass().getName());
+       }
+ 
+       int lastComparison = 0;
+ 
+       lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+       if (lastComparison != 0) {
+         return lastComparison;
+       }
+       if (isSetGatewayId()) {
+         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
+         if (lastComparison != 0) {
+           return lastComparison;
+         }
+       }
+       lastComparison = java.lang.Boolean.valueOf(isSetUpdatedGateway()).compareTo(other.isSetUpdatedGateway());
+       if (lastComparison != 0) {
+         return lastComparison;
+       }
+       if (isSetUpdatedGateway()) {
+         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.updatedGateway, other.updatedGateway);
+         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("updateGateway_args(");
+       boolean first = true;
+ 
+       sb.append("gatewayId:");
+       if (this.gatewayId == null) {
+         sb.append("null");
+       } else {
+         sb.append(this.gatewayId);
+       }
+       first = false;
+       if (!first) sb.append(", ");
+       sb.append("updatedGateway:");
+       if (this.updatedGateway == null) {
+         sb.append("null");
+       } else {
+         sb.append(this.updatedGateway);
+       }
+       first = false;
+       sb.append(")");
+       return sb.toString();
+     }
+ 
+     public void validate() throws org.apache.thrift.TException {
+       // check for required fields
+       if (gatewayId == null) {
+         throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
+       }
+       if (updatedGateway == null) {
+         throw new org.apache.thrift.protocol.TProtocolException("Required field 'updatedGateway' was not present! Struct: " + toString());
+       }
+       // check for sub-struct validity
+       if (updatedGateway != null) {
+         updatedGateway.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 updateGateway_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public updateGateway_argsStandardScheme getScheme() {
+         return new updateGateway_argsStandardScheme();
+       }
+     }
+ 
+     private static class updateGateway_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGateway_args> {
+ 
+       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGateway_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_ID
+               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                 struct.gatewayId = iprot.readString();
+                 struct.setGatewayIdIsSet(true);
+               } else { 
+                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+               }
+               break;
+             case 2: // UPDATED_GATEWAY
+               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                 struct.updatedGateway = new org.apache.airavata.model.workspace.Gateway();
+                 struct.updatedGateway.read(iprot);
+                 struct.setUpdatedGatewayIsSet(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, updateGateway_args struct) throws org.apache.thrift.TException {
+         struct.validate();
+ 
+         oprot.writeStructBegin(STRUCT_DESC);
+         if (struct.gatewayId != null) {
+           oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
+           oprot.writeString(struct.gatewayId);
+           oprot.writeFieldEnd();
+         }
+         if (struct.updatedGateway != null) {
+           oprot.writeFieldBegin(UPDATED_GATEWAY_FIELD_DESC);
+           struct.updatedGateway.write(oprot);
+           oprot.writeFieldEnd();
+         }
+         oprot.writeFieldStop();
+         oprot.writeStructEnd();
+       }
+ 
+     }
+ 
+     private static class updateGateway_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public updateGateway_argsTupleScheme getScheme() {
+         return new updateGateway_argsTupleScheme();
+       }
+     }
+ 
+     private static class updateGateway_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<updateGateway_args> {
+ 
+       @Override
+       public void write(org.apache.thrift.protocol.TProtocol prot, updateGateway_args struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+         oprot.writeString(struct.gatewayId);
+         struct.updatedGateway.write(oprot);
+       }
+ 
+       @Override
+       public void read(org.apache.thrift.protocol.TProtocol prot, updateGateway_args struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+         struct.gatewayId = iprot.readString();
+         struct.setGatewayIdIsSet(true);
+         struct.updatedGateway = new org.apache.airavata.model.workspace.Gateway();
+         struct.updatedGateway.read(iprot);
+         struct.setUpdatedGatewayIsSet(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 updateGateway_result implements org.apache.thrift.TBase<updateGateway_result, updateGateway_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateGateway_result>   {
+     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGateway_result");
+ 
+     private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
+     private static final org.apache.thrift.protocol.TField 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 updateGateway_resultStandardSchemeFactory();
+     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGateway_resultTupleSchemeFactory();
+ 
+     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. */
+     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
+     private static final int __SUCCESS_ISSET_ID = 0;
+     private byte __isset_bitfield = 0;
+     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+     static {
+       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+       tmpMap.put(_Fields.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(updateGateway_result.class, metaDataMap);
+     }
+ 
+     public updateGateway_result() {
+     }
+ 
+     public updateGateway_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 updateGateway_result(updateGateway_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 updateGateway_result deepCopy() {
+       return new updateGateway_result(this);
+     }
+ 
+     @Override
+     public void clear() {
+       setSuccessIsSet(false);
+       this.success = false;
+       this.rse = null;
+     }
+ 
+     public boolean isSuccess() {
+       return this.success;
+     }
+ 
+     public updateGateway_result setSuccess(boolean success) {
+       this.success = success;
+       setSuccessIsSet(true);
+       return this;
+     }
+ 
+     public void unsetSuccess() {
+       __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+     }
+ 
+     /** Returns true if field success is set (has been assigned a value) and false otherwise */
+     public boolean isSetSuccess() {
+       return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+     }
+ 
+     public void setSuccessIsSet(boolean value) {
+       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
+     }
+ 
+     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
+       return this.rse;
+     }
+ 
+     public updateGateway_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.lang.Boolean)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 isSuccess();
+ 
+       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 updateGateway_result)
+         return this.equals((updateGateway_result)that);
+       return false;
+     }
+ 
+     public boolean equals(updateGateway_result that) {
+       if (that == null)
+         return false;
+       if (this == that)
+         return true;
+ 
+       boolean this_present_success = true;
+       boolean that_present_success = true;
+       if (this_present_success || that_present_success) {
+         if (!(this_present_success && that_present_success))
+           return false;
+         if (this.success != that.success)
+           return false;
+       }
+ 
+       boolean this_present_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 + ((success) ? 131071 : 524287);
+ 
+       hashCode = hashCode * 8191 + ((isSetRse()) ? 131071 : 524287);
+       if (isSetRse())
+         hashCode = hashCode * 8191 + rse.hashCode();
+ 
+       return hashCode;
+     }
+ 
+     @Override
+     public int compareTo(updateGateway_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("updateGateway_result(");
+       boolean first = true;
+ 
+       sb.append("success:");
+       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 {
+         // 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 updateGateway_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public updateGateway_resultStandardScheme getScheme() {
+         return new updateGateway_resultStandardScheme();
+       }
+     }
+ 
+     private static class updateGateway_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGateway_result> {
+ 
+       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGateway_result struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TField schemeField;
+         iprot.readStructBegin();
+         while (true)
+         {
+           schemeField = iprot.readFieldBegin();
+           if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+             break;
+           }
+           switch (schemeField.id) {
+             case 0: // SUCCESS
+               if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+                 struct.success = iprot.readBool();
+                 struct.setSuccessIsSet(true);
+               } else { 
+                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+               }
+               break;
+             case 1: // 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, updateGateway_result struct) throws org.apache.thrift.TException {
+         struct.validate();
+ 
+         oprot.writeStructBegin(STRUCT_DESC);
+         if (struct.isSetSuccess()) {
+           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+           oprot.writeBool(struct.success);
+           oprot.writeFieldEnd();
+         }
+         if (struct.rse != null) {
+           oprot.writeFieldBegin(RSE_FIELD_DESC);
+           struct.rse.write(oprot);
+           oprot.writeFieldEnd();
+         }
+         oprot.writeFieldStop();
+         oprot.writeStructEnd();
+       }
+ 
+     }
+ 
+     private static class updateGateway_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public updateGateway_resultTupleScheme getScheme() {
+         return new updateGateway_resultTupleScheme();
+       }
+     }
+ 
+     private static class updateGateway_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<updateGateway_result> {
+ 
+       @Override
+       public void write(org.apache.thrift.protocol.TProtocol prot, updateGateway_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.writeBool(struct.success);
+         }
+         if (struct.isSetRse()) {
+           struct.rse.write(oprot);
+         }
+       }
+ 
+       @Override
+       public void read(org.apache.thrift.protocol.TProtocol prot, updateGateway_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 = iprot.readBool();
+           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 getGateway_args implements org.apache.thrift.TBase<getGateway_args, getGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGateway_args>   {
+     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGateway_args");
+ 
+     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 getGateway_argsStandardSchemeFactory();
+     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGateway_argsTupleSchemeFactory();
+ 
+     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 {
+       GATEWAY_ID((short)1, "gatewayId");
+ 
+       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+ 
+       static {
+         for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+           byName.put(field.getFieldName(), field);
+         }
+       }
+ 
+       /**
+        * Find the _Fields constant that matches fieldId, or null if its not found.
+        */
+       public static _Fields findByThriftId(int fieldId) {
+         switch(fieldId) {
+           case 1: // GATEWAY_ID
+             return GATEWAY_ID;
+           default:
+             return null;
+         }
+       }
+ 
+       /**
+        * Find the _Fields constant that matches fieldId, throwing an exception
+        * if it is not found.
+        */
+       public static _Fields findByThriftIdOrThrow(int fieldId) {
+         _Fields fields = findByThriftId(fieldId);
+         if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+         return fields;
+       }
+ 
+       /**
+        * Find the _Fields constant that matches name, or null if its not found.
+        */
+       public static _Fields findByName(java.lang.String name) {
+         return byName.get(name);
+       }
+ 
+       private final short _thriftId;
+       private final java.lang.String _fieldName;
+ 
+       _Fields(short thriftId, java.lang.String fieldName) {
+         _thriftId = thriftId;
+         _fieldName = fieldName;
+       }
+ 
+       public short getThriftFieldId() {
+         return _thriftId;
+       }
+ 
+       public java.lang.String getFieldName() {
+         return _fieldName;
+       }
+     }
+ 
+     // isset id assignments
+     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+     static {
+       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+       tmpMap.put(_Fields.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(getGateway_args.class, metaDataMap);
+     }
+ 
+     public getGateway_args() {
+     }
+ 
+     public getGateway_args(
+       java.lang.String gatewayId)
+     {
+       this();
+       this.gatewayId = gatewayId;
+     }
+ 
+     /**
+      * Performs a deep copy on <i>other</i>.
+      */
+     public getGateway_args(getGateway_args other) {
+       if (other.isSetGatewayId()) {
+         this.gatewayId = other.gatewayId;
+       }
+     }
+ 
+     public getGateway_args deepCopy() {
+       return new getGateway_args(this);
+     }
+ 
+     @Override
+     public void clear() {
+       this.gatewayId = null;
+     }
+ 
+     public java.lang.String getGatewayId() {
+       return this.gatewayId;
+     }
+ 
+     public getGateway_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 GATEWAY_ID:
+         if (value == null) {
+           unsetGatewayId();
+         } else {
+           setGatewayId((java.lang.String)value);
+         }
+         break;
+ 
+       }
+     }
+ 
+     public java.lang.Object getFieldValue(_Fields field) {
+       switch (field) {
+       case GATEWAY_ID:
+         return getGatewayId();
+ 
+       }
+       throw new java.lang.IllegalStateException();
+     }
+ 
+     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+     public boolean isSet(_Fields field) {
+       if (field == null) {
+         throw new java.lang.IllegalArgumentException();
+       }
+ 
+       switch (field) {
+       case GATEWAY_ID:
+         return isSetGatewayId();
+       }
+       throw new java.lang.IllegalStateException();
+     }
+ 
+     @Override
+     public boolean equals(java.lang.Object that) {
+       if (that == null)
+         return false;
+       if (that instanceof getGateway_args)
+         return this.equals((getGateway_args)that);
+       return false;
+     }
+ 
+     public boolean equals(getGateway_args that) {
+       if (that == null)
+         return false;
+       if (this == that)
+         return true;
+ 
+       boolean this_present_gatewayId = true && this.isSetGatewayId();
+       boolean that_present_gatewayId = true && that.isSetGatewayId();
+       if (this_present_gatewayId || that_present_gatewayId) {
+         if (!(this_present_gatewayId && that_present_gatewayId))
+           return false;
+         if (!this.gatewayId.equals(that.gatewayId))
+           return false;
+       }
+ 
+       return true;
+     }
+ 
+     @Override
+     public int hashCode() {
+       int hashCode = 1;
+ 
+       hashCode = hashCode * 8191 + ((isSetGatewayId()) ? 131071 : 524287);
+       if (isSetGatewayId())
+         hashCode = hashCode * 8191 + gatewayId.hashCode();
+ 
+       return hashCode;
+     }
+ 
+     @Override
+     public int compareTo(getGateway_args other) {
+       if (!getClass().equals(other.getClass())) {
+         return getClass().getName().compareTo(other.getClass().getName());
+       }
+ 
+       int lastComparison = 0;
+ 
+       lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+       if (lastComparison != 0) {
+         return lastComparison;
+       }
+       if (isSetGatewayId()) {
+         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
+         if (lastComparison != 0) {
+           return lastComparison;
+         }
+       }
+       return 0;
+     }
+ 
+     public _Fields fieldForId(int fieldId) {
+       return _Fields.findByThriftId(fieldId);
+     }
+ 
+     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+       scheme(iprot).read(iprot, this);
+     }
+ 
+     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+       scheme(oprot).write(oprot, this);
+     }
+ 
+     @Override
+     public java.lang.String toString() {
+       java.lang.StringBuilder sb = new java.lang.StringBuilder("getGateway_args(");
+       boolean first = true;
+ 
+       sb.append("gatewayId:");
+       if (this.gatewayId == null) {
+         sb.append("null");
+       } else {
+         sb.append(this.gatewayId);
+       }
+       first = false;
+       sb.append(")");
+       return sb.toString();
+     }
+ 
+     public void validate() throws org.apache.thrift.TException {
+       // check for required fields
+       if (gatewayId == null) {
+         throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' 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 getGateway_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public getGateway_argsStandardScheme getScheme() {
+         return new getGateway_argsStandardScheme();
+       }
+     }
+ 
+     private static class getGateway_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGateway_args> {
+ 
+       public void read(org.apache.thrift.protocol.TProtocol iprot, getGateway_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_ID
+               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                 struct.gatewayId = iprot.readString();
+                 struct.setGatewayIdIsSet(true);
+               } else { 
+                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+               }
+               break;
+             default:
+               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+           }
+           iprot.readFieldEnd();
+         }
+         iprot.readStructEnd();
+ 
+         // check for required fields of primitive type, which can't be checked in the validate method
+         struct.validate();
+       }
+ 
+       public void write(org.apache.thrift.protocol.TProtocol oprot, getGateway_args struct) throws org.apache.thrift.TException {
+         struct.validate();
+ 
+         oprot.writeStructBegin(STRUCT_DESC);
+         if (struct.gatewayId != null) {
+           oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
+           oprot.writeString(struct.gatewayId);
+           oprot.writeFieldEnd();
+         }
+         oprot.writeFieldStop();
+         oprot.writeStructEnd();
+       }
+ 
+     }
+ 
+     private static class getGateway_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public getGateway_argsTupleScheme getScheme() {
+         return new getGateway_argsTupleScheme();
+       }
+     }
+ 
+     private static class getGateway_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGateway_args> {
+ 
+       @Override
+       public void write(org.apache.thrift.protocol.TProtocol prot, getGateway_args struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+         oprot.writeString(struct.gatewayId);
+       }
+ 
+       @Override
+       public void read(org.apache.thrift.protocol.TProtocol prot, getGateway_args struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+         struct.gatewayId = iprot.readString();
+         struct.setGatewayIdIsSet(true);
+       }
+     }
+ 
+     private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+       return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+     }
+   }
+ 
+   public static class getGateway_result implements org.apache.thrift.TBase<getGateway_result, getGateway_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGateway_result>   {
+     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGateway_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 getGateway_resultStandardSchemeFactory();
+     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGateway_resultTupleSchemeFactory();
+ 
+     public org.apache.airavata.model.workspace.Gateway 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.workspace.Gateway.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(getGateway_result.class, metaDataMap);
+     }
+ 
+     public getGateway_result() {
+     }
+ 
+     public getGateway_result(
+       org.apache.airavata.model.workspace.Gateway 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 getGateway_result(getGateway_result other) {
+       if (other.isSetSuccess()) {
+         this.success = new org.apache.airavata.model.workspace.Gateway(other.success);
+       }
+       if (other.isSetRse()) {
+         this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
+       }
+     }
+ 
+     public getGateway_result deepCopy() {
+       return new getGateway_result(this);
+     }
+ 
+     @Override
+     public void clear() {
+       this.success = null;
+       this.rse = null;
+     }
+ 
+     public org.apache.airavata.model.workspace.Gateway getSuccess() {
+       return this.success;
+     }
+ 
+     public getGateway_result setSuccess(org.apache.airavata.model.workspace.Gateway 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 getGateway_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.workspace.Gateway)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 getGateway_result)
+         return this.equals((getGateway_result)that);
+       return false;
+     }
+ 
+     public boolean equals(getGateway_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(getGateway_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("getGateway_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 getGateway_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public getGateway_resultStandardScheme getScheme() {
+         return new getGateway_resultStandardScheme();
+       }
+     }
+ 
+     private static class getGateway_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGateway_result> {
+ 
+       public void read(org.apache.thrift.protocol.TProtocol iprot, getGateway_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.workspace.Gateway();
+                 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, getGateway_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 getGateway_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public getGateway_resultTupleScheme getScheme() {
+         return new getGateway_resultTupleScheme();
+       }
+     }
+ 
+     private static class getGateway_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGateway_result> {
+ 
+       @Override
+       public void write(org.apache.thrift.protocol.TProtocol prot, getGateway_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, getGateway_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.workspace.Gateway();
+           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 deleteGateway_args implements org.apache.thrift.TBase<deleteGateway_args, deleteGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGateway_args>   {
+     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGateway_args");
+ 
+     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 deleteGateway_argsStandardSchemeFactory();
+     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteGateway_argsTupleSchemeFactory();
+ 
+     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 {
+       GATEWAY_ID((short)1, "gatewayId");
+ 
+       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+ 
+       static {
+         for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+           byName.put(field.getFieldName(), field);
+         }
+       }
+ 
+       /**
+        * Find the _Fields constant that matches fieldId, or null if its not found.
+        */
+       public static _Fields findByThriftId(int fieldId) {
+         switch(fieldId) {
+           case 1: // GATEWAY_ID
+             return GATEWAY_ID;
+           default:
+             return null;
+         }
+       }
+ 
+       /**
+        * Find the _Fields constant that matches fieldId, throwing an exception
+        * if it is not found.
+        */
+       public static _Fields findByThriftIdOrThrow(int fieldId) {
+         _Fields fields = findByThriftId(fieldId);
+         if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+         return fields;
+       }
+ 
+       /**
+        * Find the _Fields constant that matches name, or null if its not found.
+        */
+       public static _Fields findByName(java.lang.String name) {
+         return byName.get(name);
+       }
+ 
+       private final short _thriftId;
+       private final java.lang.String _fieldName;
+ 
+       _Fields(short thriftId, java.lang.String fieldName) {
+         _thriftId = thriftId;
+         _fieldName = fieldName;
+       }
+ 
+       public short getThriftFieldId() {
+         return _thriftId;
+       }
+ 
+       public java.lang.String getFieldName() {
+         return _fieldName;
+       }
+     }
+ 
+     // isset id assignments
+     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+     static {
+       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+       tmpMap.put(_Fields.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(deleteGateway_args.class, metaDataMap);
+     }
+ 
+     public deleteGateway_args() {
+     }
+ 
+     public deleteGateway_args(
+       java.lang.String gatewayId)
+     {
+       this();
+       this.gatewayId = gatewayId;
+     }
+ 
+     /**
+      * Performs a deep copy on <i>other</i>.
+      */
+     public deleteGateway_args(deleteGateway_args other) {
+       if (other.isSetGatewayId()) {
+         this.gatewayId = other.gatewayId;
+       }
+     }
+ 
+     public deleteGateway_args deepCopy() {
+       return new deleteGateway_args(this);
+     }
+ 
+     @Override
+     public void clear() {
+       this.gatewayId = null;
+     }
+ 
+     public java.lang.String getGatewayId() {
+       return this.gatewayId;
+     }
+ 
+     public deleteGateway_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 GATEWAY_ID:
+         if (value == null) {
+           unsetGatewayId();
+         } else {
+           setGatewayId((java.lang.String)value);
+         }
+         break;
+ 
+       }
+     }
+ 
+     public java.lang.Object getFieldValue(_Fields field) {
+       switch (field) {
+       case GATEWAY_ID:
+         return getGatewayId();
+ 
+       }
+       throw new java.lang.IllegalStateException();
+     }
+ 
+     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+     public boolean isSet(_Fields field) {
+       if (field == null) {
+         throw new java.lang.IllegalArgumentException();
+       }
+ 
+       switch (field) {
+       case GATEWAY_ID:
+         return isSetGatewayId();
+       }
+       throw new java.lang.IllegalStateException();
+     }
+ 
+     @Override
+     public boolean equals(java.lang.Object that) {
+       if (that == null)
+         return false;
+       if (that instanceof deleteGateway_args)
+         return this.equals((deleteGateway_args)that);
+       return false;
+     }
+ 
+     public boolean equals(deleteGateway_args that) {
+       if (that == null)
+         return false;
+       if (this == that)
+         return true;
+ 
+       boolean this_present_gatewayId = true && this.isSetGatewayId();
+       boolean that_present_gatewayId = true && that.isSetGatewayId();
+       if (this_present_gatewayId || that_present_gatewayId) {
+         if (!(this_present_gatewayId && that_present_gatewayId))
+           return false;
+         if (!this.gatewayId.equals(that.gatewayId))
+           return false;
+       }
+ 
+       return true;
+     }
+ 
+     @Override
+     public int hashCode() {
+       int hashCode = 1;
+ 
+       hashCode = hashCode * 8191 + ((isSetGatewayId()) ? 131071 : 524287);
+       if (isSetGatewayId())
+         hashCode = hashCode * 8191 + gatewayId.hashCode();
+ 
+       return hashCode;
+     }
+ 
+     @Override
+     public int compareTo(deleteGateway_args other) {
+       if (!getClass().equals(other.getClass())) {
+         return getClass().getName().compareTo(other.getClass().getName());
+       }
+ 
+       int lastComparison = 0;
+ 
+       lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+       if (lastComparison != 0) {
+         return lastComparison;
+       }
+       if (isSetGatewayId()) {
+         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
+         if (lastComparison != 0) {
+           return lastComparison;
+         }
+       }
+       return 0;
+     }
+ 
+     public _Fields fieldForId(int fieldId) {
+       return _Fields.findByThriftId(fieldId);
+     }
+ 
+     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+       scheme(iprot).read(iprot, this);
+     }
+ 
+     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+       scheme(oprot).write(oprot, this);
+     }
+ 
+     @Override
+     public java.lang.String toString() {
+       java.lang.StringBuilder sb = new java.lang.StringBuilder("deleteGateway_args(");
+       boolean first = true;
+ 
+       sb.append("gatewayId:");
+       if (this.gatewayId == null) {
+         sb.append("null");
+       } else {
+         sb.append(this.gatewayId);
+       }
+       first = false;
+       sb.append(")");
+       return sb.toString();
+     }
+ 
+     public void validate() throws org.apache.thrift.TException {
+       // check for required fields
+       if (gatewayId == null) {
+         throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' 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 deleteGateway_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public deleteGateway_argsStandardScheme getScheme() {
+         return new deleteGateway_argsStandardScheme();
+       }
+     }
+ 
+     private static class deleteGateway_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteGateway_args> {
+ 
+       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteGateway_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_ID
+               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                 struct.gatewayId = iprot.readString();
+                 struct.setGatewayIdIsSet(true);
+               } else { 
+                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+               }
+               break;
+             default:
+               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+           }
+           iprot.readFieldEnd();
+         }
+         iprot.readStructEnd();
+ 
+         // check for required fields of primitive type, which can't be checked in the validate method
+         struct.validate();
+       }
+ 
+       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteGateway_args struct) throws org.apache.thrift.TException {
+         struct.validate();
+ 
+         oprot.writeStructBegin(STRUCT_DESC);
+         if (struct.gatewayId != null) {
+           oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
+           oprot.writeString(struct.gatewayId);
+           oprot.writeFieldEnd();
+         }
+         oprot.writeFieldStop();
+         oprot.writeStructEnd();
+       }
+ 
+     }
+ 
+     private static class deleteGateway_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public deleteGateway_argsTupleScheme getScheme() {
+         return new deleteGateway_argsTupleScheme();
+       }
+     }
+ 
+     private static class deleteGateway_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<deleteGateway_args> {
+ 
+       @Override
+       public void write(org.apache.thrift.protocol.TProtocol prot, deleteGateway_args struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+         oprot.writeString(struct.gatewayId);
+       }
+ 
+       @Override
+       public void read(org.apache.thrift.protocol.TProtocol prot, deleteGateway_args struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+         struct.gatewayId = iprot.readString();
+         struct.setGatewayIdIsSet(true);
+       }
+     }
+ 
+     private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+       return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+     }
+   }
+ 
+   public static class deleteGateway_result implements org.apache.thrift.TBase<deleteGateway_result, deleteGateway_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGateway_result>   {
+     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGateway_result");
+ 
+     private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
+     private static final org.apache.thrift.protocol.TField 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 deleteGateway_resultStandardSchemeFactory();
+     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteGateway_resultTupleSchemeFactory();
+ 
+     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. */
+     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
+     private static final int __SUCCESS_ISSET_ID = 0;
+     private byte __isset_bitfield = 0;
+     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+     static {
+       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+       tmpMap.put(_Fields.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(deleteGateway_result.class, metaDataMap);
+     }
+ 
+     public deleteGateway_result() {
+     }
+ 
+     public deleteGateway_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 deleteGateway_result(deleteGateway_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 deleteGateway_result deepCopy() {
+       return new deleteGateway_result(this);
+     }
+ 
+     @Override
+     public void clear() {
+       setSuccessIsSet(false);
+       this.success = false;
+       this.rse = null;
+     }
+ 
+     public boolean isSuccess() {
+       return this.success;
+     }
+ 
+     public deleteGateway_result setSuccess(boolean success) {
+       this.success = success;
+       setSuccessIsSet(true);
+       return this;
+     }
+ 
+     public void unsetSuccess() {
+       __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+     }
+ 
+     /** Returns true if field success is set (has been assigned a value) and false otherwise */
+     public boolean isSetSuccess() {
+       return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+     }
+ 
+     public void setSuccessIsSet(boolean value) {
+       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
+     }
+ 
+     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
+       return this.rse;
+     }
+ 
+     public deleteGateway_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.lang.Boolean)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 isSuccess();
+ 
+       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 deleteGateway_result)
+         return this.equals((deleteGateway_result)that);
+       return false;
+     }
+ 
+     public boolean equals(deleteGateway_result that) {
+       if (that == null)
+         return false;
+       if (this == that)
+         return true;
+ 
+       boolean this_present_success = true;
+       boolean that_present_success = true;
+       if (this_present_success || that_present_success) {
+         if (!(this_present_success && that_present_success))
+           return false;
+         if (this.success != that.success)
+           return false;
+       }
+ 
+       boolean this_present_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 + ((success) ? 131071 : 524287);
+ 
+       hashCode = hashCode * 8191 + ((isSetRse()) ? 131071 : 524287);
+       if (isSetRse())
+         hashCode = hashCode * 8191 + rse.hashCode();
+ 
+       return hashCode;
+     }
+ 
+     @Override
+     public int compareTo(deleteGateway_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("deleteGateway_result(");
+       boolean first = true;
+ 
+       sb.append("success:");
+       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 {
+         // 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 deleteGateway_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public deleteGateway_resultStandardScheme getScheme() {
+         return new deleteGateway_resultStandardScheme();
+       }
+     }
+ 
+     private static class deleteGateway_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteGateway_result> {
+ 
+       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteGateway_result struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TField schemeField;
+         iprot.readStructBegin();
+         while (true)
+         {
+           schemeField = iprot.readFieldBegin();
+           if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+             break;
+           }
+           switch (schemeField.id) {
+             case 0: // SUCCESS
+               if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+                 struct.success = iprot.readBool();
+                 struct.setSuccessIsSet(true);
+               } else { 
+                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+               }
+               break;
+             case 1: // 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, deleteGateway_result struct) throws org.apache.thrift.TException {
+         struct.validate();
+ 
+         oprot.writeStructBegin(STRUCT_DESC);
+         if (struct.isSetSuccess()) {
+           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+           oprot.writeBool(struct.success);
+           oprot.writeFieldEnd();
+         }
+         if (struct.rse != null) {
+           oprot.writeFieldBegin(RSE_FIELD_DESC);
+           struct.rse.write(oprot);
+           oprot.writeFieldEnd();
+         }
+         oprot.writeFieldStop();
+         oprot.writeStructEnd();
+       }
+ 
+     }
+ 
+     private static class deleteGateway_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public deleteGateway_resultTupleScheme getScheme() {
+         return new deleteGateway_resultTupleScheme();
+       }
+     }
+ 
+     private static class deleteGateway_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<deleteGateway_result> {
+ 
+       @Override
+       public void write(org.apache.thrift.protocol.TProtocol prot, deleteGateway_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.writeBool(struct.success);
+         }
+         if (struct.isSetRse()) {
+           struct.rse.write(oprot);
+         }
+       }
+ 
+       @Override
+       public void read(org.apache.thrift.protocol.TProtocol prot, deleteGateway_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 = iprot.readBool();
+           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 getAllGateways_args implements org.apache.thrift.TBase<getAllGateways_args, getAllGateways_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGateways_args>   {
+     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGateways_args");
+ 
+ 
+     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllGateways_argsStandardSchemeFactory();
+     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllGateways_argsTupleSchemeFactory();
+ 
+ 
+     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+ ;
+ 
+       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) {
+           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;
+       }
+     }
+     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);
+       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllGateways_args.class, metaDataMap);
+     }
+ 
+     public getAllGateways_args() {
+     }
+ 
+     /**
+      * Performs a deep copy on <i>other</i>.
+      */
+     public getAllGateways_args(getAllGateways_args other) {
+     }
+ 
+     public getAllGateways_args deepCopy() {
+       return new getAllGateways_args(this);
+     }
+ 
+     @Override
+     public void clear() {
+     }
+ 
+     public void setFieldValue(_Fields field, java.lang.Object value) {
+       switch (field) {
+       }
+     }
+ 
+     public java.lang.Object getFieldValue(_Fields field) {
+       switch (field) {
+       }
+       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) {
+       }
+       throw new java.lang.IllegalStateException();
+     }
+ 
+     @Override
+     public boolean equals(java.lang.Object that) {
+       if (that == null)
+         return false;
+       if (that instanceof getAllGateways_args)
+         return this.equals((getAllGateways_args)that);
+       return false;
+     }
+ 
+     public boolean equals(getAllGateways_args that) {
+       if (that == null)
+         return false;
+       if (this == that)
+         return true;
+ 
+       return true;
+     }
+ 
+     @Override
+     public int hashCode() {
+       int hashCode = 1;
+ 
+       return hashCode;
+     }
+ 
+     @Override
+     public int compareTo(getAllGateways_args other) {
+       if (!getClass().equals(other.getClass())) {
+         return getClass().getName().compareTo(other.getClass().getName());
+       }
+ 
+       int lastComparison = 0;
+ 
+       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("getAllGateways_args(");
+       boolean first = true;
+ 
+       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 getAllGateways_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public getAllGateways_argsStandardScheme getScheme() {
+         return new getAllGateways_argsStandardScheme();
+       }
+     }
+ 
+     private static class getAllGateways_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllGateways_args> {
+ 
+       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllGateways_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) {
+             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, getAllGateways_args struct) throws org.apache.thrift.TException {
+         struct.validate();
+ 
+         oprot.writeStructBegin(STRUCT_DESC);
+         oprot.writeFieldStop();
+         oprot.writeStructEnd();
+       }
+ 
+     }
+ 
+     private static class getAllGateways_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public getAllGateways_argsTupleScheme getScheme() {
+         return new getAllGateways_argsTupleScheme();
+       }
+     }
+ 
+     private static class getAllGateways_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAllGateways_args> {
+ 
+       @Override
+       public void write(org.apache.thrift.protocol.TProtocol prot, getAllGateways_args struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+       }
+ 
+       @Override
+       public void read(org.apache.thrift.protocol.TProtocol prot, getAllGateways_args struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+       }
+     }
+ 
+     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 getAllGateways_result implements org.apache.thrift.TBase<getAllGateways_result, getAllGateways_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGateways_result>   {
+     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGateways_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 getAllGateways_resultStandardSchemeFactory();
+     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllGateways_resultTupleSchemeFactory();
+ 
+     public java.util.List<org.apache.airavata.model.workspace.Gateway> 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.workspace.Gateway.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(getAllGateways_result.class, metaDataMap);
+     }
+ 
+     public getAllGateways_result() {
+     }
+ 
+     public getAllGateways_result(
+       java.util.List<org.apache.airavata.model.workspace.Gateway> 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 getAllGateways_result(getAllGateways_result other) {
+       if (other.isSetSuccess()) {
+         java.util.List<org.apache.airavata.model.workspace.Gateway> __this__success = new java.util.ArrayList<org.apache.airavata.model.workspace.Gateway>(other.success.size());
+         for (org.apache.airavata.model.workspace.Gateway other_element : other.success) {
+           __this__success.add(new org.apache.airavata.model.workspace.Gateway(other_element));
+         }
+         this.success = __this__success;
+       }
+       if (other.isSetRse()) {
+         this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
+       }
+     }
+ 
+     public getAllGateways_result deepCopy() {
+       return new getAllGateways_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.workspace.Gateway> getSuccessIterator() {
+       return (this.success == null) ? null : this.success.iterator();
+     }
+ 
+     public void addToSuccess(org.apache.airavata.model.workspace.Gateway elem) {
+       if (this.success == null) {
+         this.success = new java.util.ArrayList<org.apache.airavata.model.workspace.Gateway>();
+       }
+       this.success.add(elem);
+     }
+ 
+     public java.util.List<org.apache.airavata.model.workspace.Gateway> getSuccess() {
+       return this.success;
+     }
+ 
+     public getAllGateways_result setSuccess(java.util.List<org.apache.airavata.model.workspace.Gateway> 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 getAllGateways_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.workspace.Gateway>)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 getAllGateways_result)
+         return this.equals((getAllGateways_result)that);
+       return false;
+     }
+ 
+     public boolean equals(getAllGateways_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(getAllGateways_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("getAllGateways_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 getAllGateways_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public getAllGateways_resultStandardScheme getScheme() {
+         return new getAllGateways_resultStandardScheme();
+       }
+     }
+ 
+     private static class getAllGateways_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllGateways_result> {
+ 
+       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllGateways_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 _list8 = iprot.readListBegin();
+                   struct.success = new java.util.ArrayList<org.apache.airavata.model.workspace.Gateway>(_list8.size);
+                   org.apache.airavata.model.workspace.Gateway _elem9;
+                   for (int _i10 = 0; _i10 < _list8.size; ++_i10)
+                   {
+                     _elem9 = new org.apache.airavata.model.workspace.Gateway();
+                     _elem9.read(iprot);
+                     struct.success.add(_elem9);
+                   }
+                   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, getAllGateways_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.workspace.Gateway _iter11 : struct.success)
+             {
+               _iter11.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 getAllGateways_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public getAllGateways_resultTupleScheme getScheme() {
+         return new getAllGateways_resultTupleScheme();
+       }
+     }
+ 
+     private static class getAllGateways_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAllGateways_result> {
+ 
+       @Override
+       public void write(org.apache.thrift.protocol.TProtocol prot, getAllGateways_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.workspace.Gateway _iter12 : struct.success)
+             {
+               _iter12.write(oprot);
+             }
+           }
+         }
+         if (struct.isSetRse()) {
+           struct.rse.write(oprot);
+         }
+       }
+ 
+       @Override
+       public void read(org.apache.thrift.protocol.TProtocol prot, getAllGateways_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 _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+             struct.success = new java.util.ArrayList<org.apache.airavata.model.workspace.Gateway>(_list13.size);
+             org.apache.airavata.model.workspace.Gateway _elem14;
+             for (int _i15 = 0; _i15 < _list13.size; ++_i15)
+             {
+               _elem14 = new org.apache.airavata.model.workspace.Gateway();
+               _elem14.read(iprot);
+               struct.success.add(_elem14);
+             }
+           }
+           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 isGatewayExist_args implements org.apache.thrift.TBase<isGatewayExist_args, isGatewayExist_args._Fields>, java.io.Serializable, Cloneable, Comparable<isGatewayExist_args>   {
+     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isGatewayExist_args");
+ 
+     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 isGatewayExist_argsStandardSchemeFactory();
+     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isGatewayExist_argsTupleSchemeFactory();
+ 
+     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 {
+       GATEWAY_ID((short)1, "gatewayId");
+ 
+       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+ 
+       static {
+         for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+           byName.put(field.getFieldName(), field);
+         }
+       }
+ 
+       /**
+        * Find the _Fields constant that matches fieldId, or null if its not found.
+        */
+       public static _Fields findByThriftId(int fieldId) {
+         switch(fieldId) {
+           case 1: // GATEWAY_ID
+             return GATEWAY_ID;
+           default:
+             return null;
+         }
+       }
+ 
+       /**
+        * Find the _Fields constant that matches fieldId, throwing an exception
+        * if it is not found.
+        */
+       public static _Fields findByThriftIdOrThrow(int fieldId) {
+         _Fields fields = findByThriftId(fieldId);
+         if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+         return fields;
+       }
+ 
+       /**
+        * Find the _Fields constant that matches name, or null if its not found.
+        */
+       public static _Fields findByName(java.lang.String name) {
+         return byName.get(name);
+       }
+ 
+       private final short _thriftId;
+       private final java.lang.String _fieldName;
+ 
+       _Fields(short thriftId, java.lang.String fieldName) {
+         _thriftId = thriftId;
+         _fieldName = fieldName;
+       }
+ 
+       public short getThriftFieldId() {
+         return _thriftId;
+       }
+ 
+       public java.lang.String getFieldName() {
+         return _fieldName;
+       }
+     }
+ 
+     // isset id assignments
+     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+     static {
+       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+       tmpMap.put(_Fields.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(isGatewayExist_args.class, metaDataMap);
+     }
+ 
+     public isGatewayExist_args() {
+     }
+ 
+     public isGatewayExist_args(
+       java.lang.String gatewayId)
+     {
+       this();
+       this.gatewayId = gatewayId;
+     }
+ 
+     /**
+      * Performs a deep copy on <i>other</i>.
+      */
+     public isGatewayExist_args(isGatewayExist_args other) {
+       if (other.isSetGatewayId()) {
+         this.gatewayId = other.gatewayId;
+       }
+     }
+ 
+     public isGatewayExist_args deepCopy() {
+       return new isGatewayExist_args(this);
+     }
+ 
+     @Override
+     public void clear() {
+       this.gatewayId = null;
+     }
+ 
+     public java.lang.String getGatewayId() {
+       return this.gatewayId;
+     }
+ 
+     public isGatewayExist_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 GATEWAY_ID:
+         if (value == null) {
+           unsetGatewayId();
+         } else {
+           setGatewayId((java.lang.String)value);
+         }
+         break;
+ 
+       }
+     }
+ 
+     public java.lang.Object getFieldValue(_Fields field) {
+       switch (field) {
+       case GATEWAY_ID:
+         return getGatewayId();
+ 
+       }
+       throw new java.lang.IllegalStateException();
+     }
+ 
+     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+     public boolean isSet(_Fields field) {
+       if (field == null) {
+         throw new java.lang.IllegalArgumentException();
+       }
+ 
+       switch (field) {
+       case GATEWAY_ID:
+         return isSetGatewayId();
+       }
+       throw new java.lang.IllegalStateException();
+     }
+ 
+     @Override
+     public boolean equals(java.lang.Object that) {
+       if (that == null)
+         return false;
+       if (that instanceof isGatewayExist_args)
+         return this.equals((isGatewayExist_args)that);
+       return false;
+     }
+ 
+     public boolean equals(isGatewayExist_args that) {
+       if (that == null)
+         return false;
+       if (this == that)
+         return true;
+ 
+       boolean this_present_gatewayId = true && this.isSetGatewayId();
+       boolean that_present_gatewayId = true && that.isSetGatewayId();
+       if (this_present_gatewayId || that_present_gatewayId) {
+         if (!(this_present_gatewayId && that_present_gatewayId))
+           return false;
+         if (!this.gatewayId.equals(that.gatewayId))
+           return false;
+       }
+ 
+       return true;
+     }
+ 
+     @Override
+     public int hashCode() {
+       int hashCode = 1;
+ 
+       hashCode = hashCode * 8191 + ((isSetGatewayId()) ? 131071 : 524287);
+       if (isSetGatewayId())
+         hashCode = hashCode * 8191 + gatewayId.hashCode();
+ 
+       return hashCode;
+     }
+ 
+     @Override
+     public int compareTo(isGatewayExist_args other) {
+       if (!getClass().equals(other.getClass())) {
+         return getClass().getName().compareTo(other.getClass().getName());
+       }
+ 
+       int lastComparison = 0;
+ 
+       lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+       if (lastComparison != 0) {
+         return lastComparison;
+       }
+       if (isSetGatewayId()) {
+         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
+         if (lastComparison != 0) {
+           return lastComparison;
+         }
+       }
+       return 0;
+     }
+ 
+     public _Fields fieldForId(int fieldId) {
+       return _Fields.findByThriftId(fieldId);
+     }
+ 
+     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+       scheme(iprot).read(iprot, this);
+     }
+ 
+     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+       scheme(oprot).write(oprot, this);
+     }
+ 
+     @Override
+     public java.lang.String toString() {
+       java.lang.StringBuilder sb = new java.lang.StringBuilder("isGatewayExist_args(");
+       boolean first = true;
+ 
+       sb.append("gatewayId:");
+       if (this.gatewayId == null) {
+         sb.append("null");
+       } else {
+         sb.append(this.gatewayId);
+       }
+       first = false;
+       sb.append(")");
+       return sb.toString();
+     }
+ 
+     public void validate() throws org.apache.thrift.TException {
+       // check for required fields
+       if (gatewayId == null) {
+         throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' 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 isGatewayExist_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public isGatewayExist_argsStandardScheme getScheme() {
+         return new isGatewayExist_argsStandardScheme();
+       }
+     }
+ 
+     private static class isGatewayExist_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isGatewayExist_args> {
+ 
+       public void read(org.apache.thrift.protocol.TProtocol iprot, isGatewayExist_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_ID
+               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                 struct.gatewayId = iprot.readString();
+                 struct.setGatewayIdIsSet(true);
+               } else { 
+                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+               }
+               break;
+             default:
+               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+           }
+           iprot.readFieldEnd();
+         }
+         iprot.readStructEnd();
+ 
+         // check for required fields of primitive type, which can't be checked in the validate method
+         struct.validate();
+       }
+ 
+       public void write(org.apache.thrift.protocol.TProtocol oprot, isGatewayExist_args struct) throws org.apache.thrift.TException {
+         struct.validate();
+ 
+         oprot.writeStructBegin(STRUCT_DESC);
+         if (struct.gatewayId != null) {
+           oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
+           oprot.writeString(struct.gatewayId);
+           oprot.writeFieldEnd();
+         }
+         oprot.writeFieldStop();
+         oprot.writeStructEnd();
+       }
+ 
+     }
+ 
+     private static class isGatewayExist_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public isGatewayExist_argsTupleScheme getScheme() {
+         return new isGatewayExist_argsTupleScheme();
+       }
+     }
+ 
+     private static class isGatewayExist_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<isGatewayExist_args> {
+ 
+       @Override
+       public void write(org.apache.thrift.protocol.TProtocol prot, isGatewayExist_args struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+         oprot.writeString(struct.gatewayId);
+       }
+ 
+       @Override
+       public void read(org.apache.thrift.protocol.TProtocol prot, isGatewayExist_args struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+         struct.gatewayId = iprot.readString();
+         struct.setGatewayIdIsSet(true);
+       }
+     }
+ 
+     private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+       return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+     }
+   }
+ 
+   public static class isGatewayExist_result implements org.apache.thrift.TBase<isGatewayExist_result, isGatewayExist_result._Fields>, java.io.Serializable, Cloneable, Comparable<isGatewayExist_result>   {
+     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isGatewayExist_result");
+ 
+     private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
+     private static final org.apache.thrift.protocol.TField 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 isGatewayExist_resultStandardSchemeFactory();
+     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isGatewayExist_resultTupleSchemeFactory();
+ 
+     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. */
+     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
+     private static final int __SUCCESS_ISSET_ID = 0;
+     private byte __isset_bitfield = 0;
+     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+     static {
+       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+       tmpMap.put(_Fields.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(isGatewayExist_result.class, metaDataMap);
+     }
+ 
+     public isGatewayExist_result() {
+     }
+ 
+     public isGatewayExist_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 isGatewayExist_result(isGatewayExist_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 isGatewayExist_result deepCopy() {
+       return new isGatewayExist_result(this);
+     }
+ 
+     @Override
+     public void clear() {
+       setSuccessIsSet(false);
+       this.success = false;
+       this.rse = null;
+     }
+ 
+     public boolean isSuccess() {
+       return this.success;
+     }
+ 
+     public isGatewayExist_result setSuccess(boolean success) {
+       this.success = success;
+       setSuccessIsSet(true);
+       return this;
+     }
+ 
+     public void unsetSuccess() {
+       __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+     }
+ 
+     /** Returns true if field success is set (has been assigned a value) and false otherwise */
+     public boolean isSetSuccess() {
+       return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+     }
+ 
+     public void setSuccessIsSet(boolean value) {
+       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
+     }
+ 
+     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
+       return this.rse;
+     }
+ 
+     public isGatewayExist_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.lang.Boolean)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 isSuccess();
+ 
+       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 isGatewayExist_result)
+         return this.equals((isGatewayExist_result)that);
+       return false;
+     }
+ 
+     public boolean equals(isGatewayExist_result that) {
+       if (that == null)
+         return false;
+       if (this == that)
+         return true;
+ 
+       boolean this_present_success = true;
+       boolean that_present_success = true;
+       if (this_present_success || that_present_success) {
+         if (!(this_present_success && that_present_success))
+           return false;
+         if (this.success != that.success)
+           return false;
+       }
+ 
+       boolean this_present_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 + ((success) ? 131071 : 524287);
+ 
+       hashCode = hashCode * 8191 + ((isSetRse()) ? 131071 : 524287);
+       if (isSetRse())
+         hashCode = hashCode * 8191 + rse.hashCode();
+ 
+       return hashCode;
+     }
+ 
+     @Override
+     public int compareTo(isGatewayExist_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("isGatewayExist_result(");
+       boolean first = true;
+ 
+       sb.append("success:");
+       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 {
+         // 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 isGatewayExist_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public isGatewayExist_resultStandardScheme getScheme() {
+         return new isGatewayExist_resultStandardScheme();
+       }
+     }
+ 
+     private static class isGatewayExist_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isGatewayExist_result> {
+ 
+       public void read(org.apache.thrift.protocol.TProtocol iprot, isGatewayExist_result struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TField schemeField;
+         iprot.readStructBegin();
+         while (true)
+         {
+           schemeField = iprot.readFieldBegin();
+           if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+             break;
+           }
+           switch (schemeField.id) {
+             case 0: // SUCCESS
+               if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+                 struct.success = iprot.readBool();
+                 struct.setSuccessIsSet(true);
+               } else { 
+                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+               }
+               break;
+             case 1: // 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, isGatewayExist_result struct) throws org.apache.thrift.TException {
+         struct.validate();
+ 
+         oprot.writeStructBegin(STRUCT_DESC);
+         if (struct.isSetSuccess()) {
+           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+           oprot.writeBool(struct.success);
+           oprot.writeFieldEnd();
+         }
+         if (struct.rse != null) {
+           oprot.writeFieldBegin(RSE_FIELD_DESC);
+           struct.rse.write(oprot);
+           oprot.writeFieldEnd();
+         }
+         oprot.writeFieldStop();
+         oprot.writeStructEnd();
+       }
+ 
+     }
+ 
+     private static class isGatewayExist_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public isGatewayExist_resultTupleScheme getScheme() {
+         return new isGatewayExist_resultTupleScheme();
+       }
+     }
+ 
+     private static class isGatewayExist_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<isGatewayExist_result> {
+ 
+       @Override
+       public void write(org.apache.thrift.protocol.TProtocol prot, isGatewayExist_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.writeBool(struct.success);
+         }
+         if (struct.isSetRse()) {
+           struct.rse.write(oprot);
+         }
+       }
+ 
+       @Override
+       public void read(org.apache.thrift.protocol.TProtocol prot, isGatewayExist_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 = iprot.readBool();
+           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 createNotification_args implements org.apache.thrift.TBase<createNotification_args, createNotification_args._Fields>, java.io.Serializable, Cloneable, Comparable<createNotification_args>   {
+     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createNotification_args");
+ 
+     private static final org.apache.thrift.protocol.TField NOTIFICATION_FIELD_DESC = new org.apache.thrift.protocol.TField("notification", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+ 
+     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createNotification_argsStandardSchemeFactory();
+     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createNotification_argsTupleSchemeFactory();
+ 
+     public org.apache.airavata.model.workspace.Notification notification; // 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 {
+       NOTIFICATION((short)1, "notification");
+ 
+       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: // NOTIFICATION
+             return NOTIFICATION;
+           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.NOTIFICATION, new org.apache.thrift.meta_data.FieldMetaData("notification", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.workspace.Notification.class)));
+       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createNotification_args.class, metaDataMap);
+     }
+ 
+     public createNotification_args() {
+     }
+ 
+     public createNotification_args(
+       org.apache.airavata.model.workspace.Notification notification)
+     {
+       this();
+       this.notification = notification;
+     }
+ 
+     /**
+      * Performs a deep copy on <i>other</i>.
+      */
+     public createNotification_args(createNotification_args other) {
+       if (other.isSetNotification()) {
+         this.notification = new org.apache.airavata.model.workspace.Notification(other.notification);
+       }
+     }
+ 
+     public createNotification_args deepCopy() {
+       return new createNotification_args(this);
+     }
+ 
+     @Override
+     public void clear() {
+       this.notification = null;
+     }
+ 
+     public org.apache.airavata.model.workspace.Notification getNotification() {
+       return this.notification;
+     }
+ 
+     public createNotification_args setNotification(org.apache.airavata.model.workspace.Notification notification) {
+       this.notification = notification;
+       return this;
+     }
+ 
+     public void unsetNotification() {
+       this.notification = null;
+     }
+ 
+     /** Returns true if field notification is set (has been assigned a value) and false otherwise */
+     public boolean isSetNotification() {
+       return this.notification != null;
+     }
+ 
+     public void setNotificationIsSet(boolean value) {
+       if (!value) {
+         this.notification = null;
+       }
+     }
+ 
+     public void setFieldValue(_Fields field, java.lang.Object value) {
+       switch (field) {
+       case NOTIFICATION:
+         if (value == null) {
+           unsetNotification();
+         } else {
+           setNotification((org.apache.airavata.model.workspace.Notification)value);
+         }
+         break;
+ 
+       }
+     }
+ 
+     public java.lang.Object getFieldValue(_Fields field) {
+       switch (field) {
+       case NOTIFICATION:
+         return getNotification();
+ 
+       }
+       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 NOTIFICATION:
+         return isSetNotification();
+       }
+       throw new java.lang.IllegalStateException();
+     }
+ 
+     @Override
+     public boolean equals(java.lang.Object that) {
+       if (that == null)
+         return false;
+       if (that instanceof createNotification_args)
+         return this.equals((createNotification_args)that);
+       return false;
+     }
+ 
+     public boolean equals(createNotification_args that) {
+       if (that == null)
+         return false;
+       if (this == that)
+         return true;
+ 
+       boolean this_present_notification = true && this.isSetNotification();
+       boolean that_present_notification = true && that.isSetNotification();
+       if (this_present_notification || that_present_notification) {
+         if (!(this_present_notification && that_present_notification))
+           return false;
+         if (!this.notification.equals(that.notification))
+           return false;
+       }
+ 
+       return true;
+     }
+ 
+     @Override
+     public int hashCode() {
+       int hashCode = 1;
+ 
+       hashCode = hashCode * 8191 + ((isSetNotification()) ? 131071 : 524287);
+       if (isSetNotification())
+         hashCode = hashCode * 8191 + notification.hashCode();
+ 
+       return hashCode;
+     }
+ 
+     @Override
+     public int compareTo(createNotification_args other) {
+       if (!getClass().equals(other.getClass())) {
+         return getClass().getName().compareTo(other.getClass().getName());
+       }
+ 
+       int lastComparison = 0;
+ 
+       lastComparison = java.lang.Boolean.valueOf(isSetNotification()).compareTo(other.isSetNotification());
+       if (lastComparison != 0) {
+         return lastComparison;
+       }
+       if (isSetNotification()) {
+         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.notification, other.notification);
+         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("createNotification_args(");
+       boolean first = true;
+ 
+       sb.append("notification:");
+       if (this.notification == null) {
+         sb.append("null");
+       } else {
+         sb.append(this.notification);
+       }
+       first = false;
+       sb.append(")");
+       return sb.toString();
+     }
+ 
+     public void validate() throws org.apache.thrift.TException {
+       // check for required fields
+       if (notification == null) {
+         throw new org.apache.thrift.protocol.TProtocolException("Required field 'notification' was not present! Struct: " + toString());
+       }
+       // check for sub-struct validity
+       if (notification != null) {
+         notification.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 createNotification_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public createNotification_argsStandardScheme getScheme() {
+         return new createNotification_argsStandardScheme();
+       }
+     }
+ 
+     private static class createNotification_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<createNotification_args> {
+ 
+       public void read(org.apache.thrift.protocol.TProtocol iprot, createNotification_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: // NOTIFICATION
+               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                 struct.notification = new org.apache.airavata.model.workspace.Notification();
+                 struct.notification.read(iprot);
+                 struct.setNotificationIsSet(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, createNotification_args struct) throws org.apache.thrift.TException {
+         struct.validate();
+ 
+         oprot.writeStructBegin(STRUCT_DESC);
+         if (struct.notification != null) {
+           oprot.writeFieldBegin(NOTIFICATION_FIELD_DESC);
+           struct.notification.write(oprot);
+           oprot.writeFieldEnd();
+         }
+         oprot.writeFieldStop();
+         oprot.writeStructEnd();
+       }
+ 
+     }
+ 
+     private static class createNotification_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public createNotification_argsTupleScheme getScheme() {
+         return new createNotification_argsTupleScheme();
+       }
+     }
+ 
+     private static class createNotification_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<createNotification_args> {
+ 
+       @Override
+       public void write(org.apache.thrift.protocol.TProtocol prot, createNotification_args struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+         struct.notification.write(oprot);
+       }
+ 
+       @Override
+       public void read(org.apache.thrift.protocol.TProtocol prot, createNotification_args struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+         struct.notification = new org.apache.airavata.model.workspace.Notification();
+         struct.notification.read(iprot);
+         struct.setNotificationIsSet(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 createNotification_result implements org.apache.thrift.TBase<createNotification_result, createNotification_result._Fields>, java.io.Serializable, Cloneable, Comparable<createNotification_result>   {
+     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createNotification_result");
+ 
+     private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
+     private static final org.apache.thrift.protocol.TField 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 createNotification_resultStandardSchemeFactory();
+     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createNotification_resultTupleSchemeFactory();
+ 
+     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. */
+     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.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(createNotification_result.class, metaDataMap);
+     }
+ 
+     public createNotification_result() {
+     }
+ 
+     public createNotification_result(
+       java.lang.String 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 createNotification_result(createNotification_result other) {
+       if (other.isSetSuccess()) {
+         this.success = other.success;
+       }
+       if (other.isSetRse()) {
+         this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
+       }
+     }
+ 
+     public createNotification_result deepCopy() {
+       return new createNotification_result(this);
+     }
+ 
+     @Override
+     public void clear() {
+       this.success = null;
+       this.rse = null;
+     }
+ 
+     public java.lang.String getSuccess() {
+       return this.success;
+     }
+ 
+     public createNotification_result setSuccess(java.lang.String success) {
+       this.success = success;
+       return this;
+     }
+ 
+     public void unsetSuccess() {
+       this.success = null;
+     }
+ 
+     /** Returns true if field success is set (has been assigned a value) and false otherwise */
+     public boolean isSetSuccess() {
+       return this.success != null;
+     }
+ 
+     public void setSuccessIsSet(boolean value) {
+       if (!value) {
+         this.success = null;
+       }
+     }
+ 
+     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
+       return this.rse;
+     }
+ 
+     public createNotification_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.lang.String)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 createNotification_result)
+         return this.equals((createNotification_result)that);
+       return false;
+     }
+ 
+     public boolean equals(createNotification_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(createNotification_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("createNotification_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 createNotification_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public createNotification_resultStandardScheme getScheme() {
+         return new createNotification_resultStandardScheme();
+       }
+     }
+ 
+     private static class createNotification_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<createNotification_result> {
+ 
+       public void read(org.apache.thrift.protocol.TProtocol iprot, createNotification_result struct) throws org.apache.thrift.TException {
+         org.apache.thrift.protocol.TField schemeField;
+         iprot.readStructBegin();
+         while (true)
+         {
+           schemeField = iprot.readFieldBegin();
+           if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+             break;
+           }
+           switch (schemeField.id) {
+             case 0: // SUCCESS
+               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                 struct.success = iprot.readString();
+                 struct.setSuccessIsSet(true);
+               } else { 
+                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+               }
+               break;
+             case 1: // 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, createNotification_result struct) throws org.apache.thrift.TException {
+         struct.validate();
+ 
+         oprot.writeStructBegin(STRUCT_DESC);
+         if (struct.success != null) {
+           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+           oprot.writeString(struct.success);
+           oprot.writeFieldEnd();
+         }
+         if (struct.rse != null) {
+           oprot.writeFieldBegin(RSE_FIELD_DESC);
+           struct.rse.write(oprot);
+           oprot.writeFieldEnd();
+         }
+         oprot.writeFieldStop();
+         oprot.writeStructEnd();
+       }
+ 
+     }
+ 
+     private static class createNotification_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+       public createNotification_resultTupleScheme getScheme() {
+         return new createNotification_resultTupleScheme();
+       }
+     }
+ 
+     private static class createNotification_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<createNotification_result> {
+ 
+       @Override
+       public void write(org.apache.thrift.protocol.TProtocol prot, createNotification_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.writeString(struct.success);
+         }
+         if (struct.isSetRse()) {
+           struct.rse.write(oprot);
+         }
+       }
+ 
+       @Override
+       public void read(org.apache.thrift.protocol.TProtocol prot, createNotification_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 = iprot.readString();
+           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 updateNotification_args implements org.apache.thrift.TBase<updateNotification_args, updateNotification_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateNotification_args>   {
+     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateNotification_args");
+ 
+     private static final org.apache.thrift.protocol.TField NOTIFICATION_FIELD_DESC = new org.apache.thrift.protocol.TField("notification", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+ 
+     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateNotification_argsStandardSchemeFactory();
+     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateNotification_argsTupleSchemeFactory();
+ 
+     public org.apache.airavata.model.workspace.Notification notification; // 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 {
+       NOTIFICATION((short)1, "notification");
+ 
+       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: // NOTIFICATION
+             return NOTIFICATION;
+           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.NOTIFICATION, new org.apache.thrift.meta_data.FieldMetaData("notification", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.workspace.Notification.class)));
+       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateNotification_args.class, metaDataMap);
+     }
+ 
+     public updateNotification_args() {
+     }
+ 
+     public updateNotification_args(
+       org.apache.airavata.model.workspace.Notification notification)
+     {
+       this();
+       this.notification = notification;
+     }
+ 
+     /**
+      * Performs a deep copy on <i>other</i>.
+      */
+     public updateNotification_args(updateNotification_args other) {
+       if (other.isSetNotification()) {
+         this.notification = new org.apache.airavata.model.workspace.Notification(other.notification);
+       }
+     }
+ 
+     public updateNotification_args deepCopy() {
+       return new updateNotification_args(this);
+     }
+ 
+     @Override
+     public void clear() {
+       this.notification = null;
+     }
+ 
+     public org.apache.airavata.model.workspace.Notification getNotification() {
+       return this.notification;
+     }
+ 
+     public updateNotification_args setNotification(org.apache.airavata.model.workspace.Notification notification) {
+       this.notification = notification;
+       return this;
+     }
+ 
+     public void unsetNotification() {
+       this.notification = null;
+     }
+ 
+     /** Returns true if field notification is set (has been assigned a value) and false otherwise */
+     public boolean isSetNotification() {
+       return this.notification != null;
+     }
+ 
+     public void setNotificationIsSet(boolean value) {
+       if (!value) {
+         this.notification = null;
+       }
+     }
+ 
+     public void setFieldValue(_Fields field, java.lang.Object value) {
+       switch (field) {
+       case NOTIFICATION:
+         if (value == null) {
... 22352 lines suppressed ...

-- 
To stop receiving notification emails like this one, please contact
machristie@apache.org.