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

[airavata] 01/03: Merge branch 'develop' into mft-integration

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

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

commit 88dad91801366b1f02e8e6596a0cc3e4a1c066b1
Merge: 9ae9d63 d7b9f2b
Author: Dimuthu Wannipurage <di...@gmail.com>
AuthorDate: Sun Jan 24 19:41:37 2021 -0500

    Merge branch 'develop' into mft-integration
    
    # Conflicts:
    #	dev-tools/ansible/inventories/scigap/testing/group_vars/all/vars.yml
    #	dev-tools/ansible/roles/helix_setup/templates/participant/airavata-server.properties.j2
    #	modules/airavata-helix/helix-spectator/pom.xml
    #	modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/staging/ArchiveTask.java
    #	modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/staging/DataStagingTask.java
    #	modules/airavata-helix/task-api/pom.xml
    #	modules/distribution/src/main/assembly/participant-bin-assembly.xml
    #	modules/distribution/src/main/assembly/post-wm-bin-assembly.xml
    #	modules/distribution/src/main/assembly/pre-wm-bin-assembly.xml
    #	modules/ide-integration/src/main/resources/database_scripts/init/03-appcatalog-migrations.sql
    #	modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
    #	modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java
    #	modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/RegistryService.java
    #	modules/registry/release-migration-scripts/next/DeltaScripts/appCatalog_schema_delta.sql
    #	thrift-interface-descriptions/component-cpis/registry-api.thrift

 README.md                                          |   237 +-
 airavata-api/airavata-api-server/pom.xml           |     2 +-
 .../airavata/api/server/AiravataAPIServer.java     |     2 +-
 .../api/server/handler/AiravataServerHandler.java  |    88 +-
 airavata-api/airavata-api-stubs/pom.xml            |     2 +-
 airavata-api/airavata-base-api/pom.xml             |     2 +-
 .../airavata-client-sdks/airavata-cpp-sdk/pom.xml  |     2 +-
 .../airavata-client-sdks/airavata-php-sdk/pom.xml  |     2 +-
 .../airavata-python-sdk/.gitignore                 |     6 +-
 .../airavata-python-sdk/README.md                  |    49 +-
 .../appcatalog/groupresourceprofile/ttypes.py      |    41 +-
 .../airavata_python_sdk.egg-info/PKG-INFO          |    10 -
 .../airavata_python_sdk.egg-info/SOURCES.txt       |   201 -
 .../dependency_links.txt                           |     1 -
 .../airavata_python_sdk.egg-info/top_level.txt     |     4 -
 .../airavata-python-sdk/airavata_sdk/__init__.py   |    11 -
 .../clients}/__init__.py                           |     0
 .../clients/api_server_client.py                   |     4 +-
 .../clients/credential_store_client.py             |     4 +-
 .../clients/file_handling_client.py                |     0
 .../clients/group_manager_client.py                |     4 +-
 .../{ => airavata_sdk}/clients/iam_admin_client.py |     4 +-
 .../clients/keycloak_token_fetcher.py              |     3 +-
 .../clients/sftp_file_handling_client.py}          |    56 +-
 .../clients/sharing_registry_client.py             |     4 +-
 .../clients/tenant_profile_client.py               |     4 +-
 .../clients/user_profile_client.py                 |     6 +-
 .../{ => airavata_sdk}/clients/utils/__init__.py   |     0
 .../clients/utils/api_server_client_util.py        |     6 +-
 .../clients/utils/data_model_creation_util.py      |    20 +-
 .../resources => airavata_sdk/samples}/__init__.py |     0
 .../samples/api_server_client_samples.py           |     4 +-
 .../samples/create_launch_echo_experiment.py       |    40 +-
 .../samples/create_launch_gaussian_experiment.py   |    13 +-
 .../lib => airavata_sdk}/samples/file_utils.py     |     6 +-
 .../samples/group_manager_client_samples.py        |     6 +-
 .../samples/iam_admin_client_samples.py            |     4 +-
 .../samples/metadata_fetcher.py                    |     4 +-
 .../samples/resources}/__init__.py                 |     0
 .../samples/resources/incommon_rsa_server_ca.pem   |     0
 .../samples/sharing_registry_client_samples.py     |     4 +-
 .../samples/tenant_profile_client_samples.py       |     4 +-
 .../samples/user_profile_client_samples.py         |     4 +-
 .../transport}/__init__.py                         |     0
 .../lib => airavata_sdk}/transport/settings.ini    |     2 +-
 .../{ => airavata_sdk}/transport/settings.py       |    13 +-
 .../{build/lib => airavata_sdk}/transport/utils.py |     2 +-
 .../build/lib/airavata/__init__.py                 |     0
 .../build/lib/airavata/api/Airavata.py             | 58285 -------------------
 .../build/lib/airavata/api/__init__.py             |     1 -
 .../build/lib/airavata/api/constants.py            |    13 -
 .../build/lib/airavata/api/credential/__init__.py  |     0
 .../api/credential/store/CredentialStoreService.py |  2851 -
 .../lib/airavata/api/credential/store/__init__.py  |     1 -
 .../lib/airavata/api/credential/store/constants.py |    13 -
 .../api/credential/store/error/__init__.py         |     1 -
 .../api/credential/store/error/constants.py        |    12 -
 .../airavata/api/credential/store/error/ttypes.py  |    78 -
 .../lib/airavata/api/credential/store/ttypes.py    |    16 -
 .../build/lib/airavata/api/error/__init__.py       |     1 -
 .../build/lib/airavata/api/error/constants.py      |    12 -
 .../build/lib/airavata/api/error/ttypes.py         |   947 -
 .../airavata/api/sharing/SharingRegistryService.py | 13098 -----
 .../build/lib/airavata/api/sharing/__init__.py     |     1 -
 .../build/lib/airavata/api/sharing/constants.py    |    13 -
 .../build/lib/airavata/api/sharing/ttypes.py       |    15 -
 .../build/lib/airavata/api/ttypes.py               |    38 -
 .../build/lib/airavata/base/__init__.py            |     0
 .../build/lib/airavata/base/api/BaseAPI.py         |   198 -
 .../build/lib/airavata/base/api/__init__.py        |     1 -
 .../build/lib/airavata/base/api/constants.py       |    12 -
 .../build/lib/airavata/base/api/ttypes.py          |    13 -
 .../build/lib/airavata/model/__init__.py           |     1 -
 .../lib/airavata/model/appcatalog/__init__.py      |     0
 .../appcatalog/accountprovisioning/__init__.py     |     1 -
 .../appcatalog/accountprovisioning/constants.py    |    12 -
 .../model/appcatalog/accountprovisioning/ttypes.py |   243 -
 .../model/appcatalog/appdeployment/__init__.py     |     1 -
 .../model/appcatalog/appdeployment/constants.py    |    12 -
 .../model/appcatalog/appdeployment/ttypes.py       |   651 -
 .../model/appcatalog/appinterface/__init__.py      |     1 -
 .../model/appcatalog/appinterface/constants.py     |    12 -
 .../model/appcatalog/appinterface/ttypes.py        |   201 -
 .../model/appcatalog/computeresource/__init__.py   |     1 -
 .../model/appcatalog/computeresource/constants.py  |    12 -
 .../model/appcatalog/computeresource/ttypes.py     |  1687 -
 .../model/appcatalog/gatewaygroups/__init__.py     |     1 -
 .../model/appcatalog/gatewaygroups/constants.py    |    12 -
 .../model/appcatalog/gatewaygroups/ttypes.py       |   117 -
 .../model/appcatalog/gatewayprofile/__init__.py    |     1 -
 .../model/appcatalog/gatewayprofile/constants.py   |    12 -
 .../model/appcatalog/gatewayprofile/ttypes.py      |   569 -
 .../appcatalog/groupresourceprofile/__init__.py    |     1 -
 .../appcatalog/groupresourceprofile/constants.py   |    12 -
 .../appcatalog/groupresourceprofile/ttypes.py      |   852 -
 .../model/appcatalog/parallelism/__init__.py       |     1 -
 .../model/appcatalog/parallelism/constants.py      |    12 -
 .../model/appcatalog/parallelism/ttypes.py         |    56 -
 .../airavata/model/appcatalog/parser/__init__.py   |     1 -
 .../airavata/model/appcatalog/parser/constants.py  |    12 -
 .../lib/airavata/model/appcatalog/parser/ttypes.py |   933 -
 .../model/appcatalog/storageresource/__init__.py   |     1 -
 .../model/appcatalog/storageresource/constants.py  |    12 -
 .../model/appcatalog/storageresource/ttypes.py     |   176 -
 .../appcatalog/userresourceprofile/__init__.py     |     1 -
 .../appcatalog/userresourceprofile/constants.py    |    12 -
 .../model/appcatalog/userresourceprofile/ttypes.py |   500 -
 .../lib/airavata/model/application/__init__.py     |     0
 .../lib/airavata/model/application/io/__init__.py  |     1 -
 .../lib/airavata/model/application/io/constants.py |    12 -
 .../lib/airavata/model/application/io/ttypes.py    |   498 -
 .../build/lib/airavata/model/commons/__init__.py   |     1 -
 .../build/lib/airavata/model/commons/constants.py  |    13 -
 .../build/lib/airavata/model/commons/ttypes.py     |   308 -
 .../build/lib/airavata/model/constants.py          |    12 -
 .../lib/airavata/model/credential/__init__.py      |     0
 .../airavata/model/credential/store/__init__.py    |     1 -
 .../airavata/model/credential/store/constants.py   |    13 -
 .../lib/airavata/model/credential/store/ttypes.py  |   703 -
 .../build/lib/airavata/model/data/__init__.py      |     0
 .../lib/airavata/model/data/movement/__init__.py   |     1 -
 .../lib/airavata/model/data/movement/constants.py  |    12 -
 .../lib/airavata/model/data/movement/ttypes.py     |   624 -
 .../lib/airavata/model/data/replica/__init__.py    |     1 -
 .../lib/airavata/model/data/replica/constants.py   |    12 -
 .../lib/airavata/model/data/replica/ttypes.py      |   477 -
 .../build/lib/airavata/model/dbevent/__init__.py   |     1 -
 .../build/lib/airavata/model/dbevent/constants.py  |    12 -
 .../build/lib/airavata/model/dbevent/ttypes.py     |   462 -
 .../lib/airavata/model/experiment/__init__.py      |     1 -
 .../lib/airavata/model/experiment/constants.py     |    12 -
 .../build/lib/airavata/model/experiment/ttypes.py  |  1093 -
 .../build/lib/airavata/model/group/__init__.py     |     1 -
 .../build/lib/airavata/model/group/constants.py    |    12 -
 .../build/lib/airavata/model/group/ttypes.py       |   201 -
 .../build/lib/airavata/model/job/__init__.py       |     1 -
 .../build/lib/airavata/model/job/constants.py      |    12 -
 .../build/lib/airavata/model/job/ttypes.py         |   223 -
 .../build/lib/airavata/model/messaging/__init__.py |     0
 .../lib/airavata/model/messaging/event/__init__.py |     1 -
 .../airavata/model/messaging/event/constants.py    |    12 -
 .../lib/airavata/model/messaging/event/ttypes.py   |  1407 -
 .../build/lib/airavata/model/process/__init__.py   |     1 -
 .../build/lib/airavata/model/process/constants.py  |    12 -
 .../build/lib/airavata/model/process/ttypes.py     |   553 -
 .../lib/airavata/model/scheduling/__init__.py      |     1 -
 .../lib/airavata/model/scheduling/constants.py     |    12 -
 .../build/lib/airavata/model/scheduling/ttypes.py  |   209 -
 .../build/lib/airavata/model/security/__init__.py  |     1 -
 .../build/lib/airavata/model/security/constants.py |    12 -
 .../build/lib/airavata/model/security/ttypes.py    |    97 -
 .../build/lib/airavata/model/sharing/__init__.py   |     1 -
 .../build/lib/airavata/model/sharing/constants.py  |    13 -
 .../build/lib/airavata/model/sharing/ttypes.py     |  1731 -
 .../build/lib/airavata/model/status/__init__.py    |     1 -
 .../build/lib/airavata/model/status/constants.py   |    12 -
 .../build/lib/airavata/model/status/ttypes.py      |   696 -
 .../build/lib/airavata/model/task/__init__.py      |     1 -
 .../build/lib/airavata/model/task/constants.py     |    12 -
 .../build/lib/airavata/model/task/ttypes.py        |   695 -
 .../build/lib/airavata/model/tenant/__init__.py    |     1 -
 .../build/lib/airavata/model/tenant/constants.py   |    12 -
 .../build/lib/airavata/model/tenant/ttypes.py      |   452 -
 .../build/lib/airavata/model/ttypes.py             |    32 -
 .../build/lib/airavata/model/user/__init__.py      |     1 -
 .../build/lib/airavata/model/user/constants.py     |    13 -
 .../build/lib/airavata/model/user/ttypes.py        |  1144 -
 .../build/lib/airavata/model/workflow/__init__.py  |     1 -
 .../build/lib/airavata/model/workflow/constants.py |    12 -
 .../build/lib/airavata/model/workflow/ttypes.py    |  1374 -
 .../build/lib/airavata/model/workspace/__init__.py |     1 -
 .../lib/airavata/model/workspace/constants.py      |    12 -
 .../build/lib/airavata/model/workspace/ttypes.py   |   873 -
 .../build/lib/airavata/service/__init__.py         |     0
 .../build/lib/airavata/service/profile/__init__.py |     1 -
 .../lib/airavata/service/profile/constants.py      |    12 -
 .../service/profile/groupmanager/__init__.py       |     0
 .../groupmanager/cpi/GroupManagerService.py        |  3414 --
 .../service/profile/groupmanager/cpi/__init__.py   |     1 -
 .../service/profile/groupmanager/cpi/constants.py  |    14 -
 .../profile/groupmanager/cpi/error/__init__.py     |     1 -
 .../profile/groupmanager/cpi/error/constants.py    |    12 -
 .../profile/groupmanager/cpi/error/ttypes.py       |    78 -
 .../service/profile/groupmanager/cpi/ttypes.py     |    18 -
 .../lib/airavata/service/profile/iam/__init__.py   |     0
 .../airavata/service/profile/iam/admin/__init__.py |     0
 .../service/profile/iam/admin/services/__init__.py |     0
 .../iam/admin/services/cpi/IamAdminServices.py     |  3726 --
 .../profile/iam/admin/services/cpi/__init__.py     |     1 -
 .../profile/iam/admin/services/cpi/constants.py    |    14 -
 .../iam/admin/services/cpi/error/__init__.py       |     1 -
 .../iam/admin/services/cpi/error/constants.py      |    12 -
 .../profile/iam/admin/services/cpi/error/ttypes.py |    78 -
 .../profile/iam/admin/services/cpi/ttypes.py       |    20 -
 .../airavata/service/profile/tenant/__init__.py    |     0
 .../profile/tenant/cpi/TenantProfileService.py     |  1701 -
 .../service/profile/tenant/cpi/__init__.py         |     1 -
 .../service/profile/tenant/cpi/constants.py        |    14 -
 .../service/profile/tenant/cpi/error/__init__.py   |     1 -
 .../service/profile/tenant/cpi/error/constants.py  |    12 -
 .../service/profile/tenant/cpi/error/ttypes.py     |    78 -
 .../airavata/service/profile/tenant/cpi/ttypes.py  |    18 -
 .../build/lib/airavata/service/profile/ttypes.py   |    18 -
 .../lib/airavata/service/profile/user/__init__.py  |     0
 .../service/profile/user/cpi/UserProfileService.py |  1936 -
 .../airavata/service/profile/user/cpi/__init__.py  |     1 -
 .../airavata/service/profile/user/cpi/constants.py |    14 -
 .../service/profile/user/cpi/error/__init__.py     |     1 -
 .../service/profile/user/cpi/error/constants.py    |    12 -
 .../service/profile/user/cpi/error/ttypes.py       |    78 -
 .../airavata/service/profile/user/cpi/ttypes.py    |    18 -
 .../build/lib/clients/__init__.py                  |     0
 .../build/lib/clients/file_upload_client.py        |    46 -
 .../build/lib/clients/group_manager_client.py      |   224 -
 .../build/lib/clients/iam_admin_client.py          |   246 -
 .../build/lib/clients/keycloak_token_fetcher.py    |    67 -
 .../build/lib/clients/tenant_profile_client.py     |   140 -
 .../build/lib/clients/user_profile_client.py       |   150 -
 .../build/lib/clients/utils/__init__.py            |    16 -
 .../lib/clients/utils/data_model_creation_util.py  |   128 -
 .../build/lib/samples/__init__.py                  |    15 -
 .../samples/create_launch_gaussian_experiment.py   |   113 -
 .../lib/samples/group_manager_client_samples.py    |    86 -
 .../build/lib/samples/iam_admin_client_samples.py  |    61 -
 .../build/lib/samples/resources/__init__.py        |    15 -
 .../lib/samples/tenant_profile_client_samples.py   |    53 -
 .../lib/samples/user_profile_client_samples.py     |    66 -
 .../build/lib/transport/__init__.py                |     0
 .../build/lib/transport/settings.py                |   107 -
 .../clients/api_server_client.py                   |  7049 ---
 .../clients/credential_store_client.py             |    60 -
 .../clients/sharing_registry_client.py             |   880 -
 .../clients/utils/api_server_client_util.py        |    74 -
 .../airavata_python_sdk-1.0.0-py2.py3-none-any.whl |   Bin 331937 -> 0 bytes
 .../airavata-python-sdk/requirements.txt           |     3 +-
 .../samples/api_server_client_samples.py           |   201 -
 .../samples/create_launch_echo_experiment.py       |   107 -
 .../airavata-python-sdk/samples/file_utils.py      |    46 -
 .../samples/metadata_fetcher.py                    |    67 -
 .../samples/sharing_registry_client_samples.py     |    92 -
 .../airavata-python-sdk/setup.py                   |     2 +-
 .../airavata-python-sdk/transport/settings.ini     |    31 -
 .../airavata-python-sdk/transport/utils.py         |   234 -
 .../java-client-samples/pom.xml                    |     2 +-
 airavata-api/airavata-client-sdks/pom.xml          |     2 +-
 airavata-api/airavata-data-models/pom.xml          |     2 +-
 .../GroupComputeResourcePreference.java            |   321 +-
 .../workspace/GatewayUsageReportingCommand.java    |   580 +
 airavata-api/airavata-model-utils/pom.xml          |     9 +-
 airavata-api/pom.xml                               |     2 +-
 airavata-services/pom.xml                          |     2 +-
 .../iam-admin-services-core/pom.xml                |     2 +-
 .../core/impl/TenantManagementKeycloakImpl.java    |    28 +-
 airavata-services/profile-service/pom.xml          |     2 +-
 .../java-client-samples/pom.xml                    |     2 +-
 .../profile-service-client-sdks/pom.xml            |     2 +-
 .../profile-service-commons/pom.xml                |     2 +-
 .../profile-service/profile-service-server/pom.xml |     2 +-
 .../profile-service/profile-service-stubs/pom.xml  |     2 +-
 .../profile-service/profile-tenant-core/pom.xml    |     2 +-
 .../profile-service/profile-user-core/pom.xml      |     2 +-
 airavata-services/services-security/pom.xml        |     7 +-
 .../service/security/GatewayGroupsInitializer.java |     9 +-
 .../service/security/KeyCloakSecurityManager.java  |    17 +-
 .../security/interceptor/SecurityInterceptor.java  |     4 +
 .../security/KeyCloakSecurityManagerTest.java      |     1 +
 dev-tools/ansible/database.yml                     |     1 -
 dev-tools/ansible/django.yml                       |     4 +-
 .../scigap/develop/files/client_truststore.jks     |   Bin 21868 -> 6618 bytes
 .../scigap/develop/group_vars/all/vars.yml         |    56 +-
 .../scigap/develop/group_vars/django/vars.yml      |     2 +-
 .../develop/host_vars/{geo => delta}/vars.yml      |    28 +-
 .../scigap/develop/host_vars/delta/vault.yml       |    15 +
 .../scigap/develop/host_vars/geo/vars.yml          |    13 +-
 .../scigap/develop/host_vars/interactwel/vars.yml  |    16 +-
 .../simccs/files/django-ssl-vhost.conf.j2          |    11 +
 dev-tools/ansible/inventories/scigap/develop/hosts |     3 +-
 .../scigap/production/files/client_truststore.jks  |   Bin 21868 -> 6618 bytes
 .../scigap/production/group_vars/all/vars.yml      |    59 +-
 .../scigap/production/group_vars/django/vars.yml   |     2 +-
 .../production/host_vars/ampgateway/vars.yml       |     2 +
 .../host_vars/{v4i => bcbportal}/vars.yml          |    22 +-
 .../production/host_vars/bcbportal/vault.yml       |    15 +
 .../production/host_vars/covid-geoact/vars.yml     |    54 +
 .../production/host_vars/covid-geoact/vault.yml    |    15 +
 .../scigap/production/host_vars/delta/vars.yml     |     4 +
 .../production/host_vars/distantreader/vars.yml    |     3 +-
 .../host_vars/dreg/files/django-ssl-vhost.conf.j2  |     1 +
 .../scigap/production/host_vars/dreg/vars.yml      |     3 +
 .../host_vars/{pace-gatech => geo}/vars.yml        |    32 +-
 .../scigap/production/host_vars/geo/vault.yml      |    15 +
 .../scigap/production/host_vars/lrose/vars.yml     |    52 +
 .../scigap/production/host_vars/lrose/vault.yml    |    15 +
 .../host_vars/microbial-genomes/vars.yml           |    13 +-
 .../scigap/production/host_vars/mines/vars.yml     |     1 +
 .../scigap/production/host_vars/nexttdb/vars.yml   |     2 +
 .../production/host_vars/pace-gatech/vars.yml      |    12 +-
 .../host_vars/{v4i => pathogenomics}/vars.yml      |    22 +-
 .../production/host_vars/pathogenomics/vault.yml   |    15 +
 .../host_vars/{smaltr => physicell}/vars.yml       |    22 +-
 .../production/host_vars/physicell/vault.yml       |    15 +
 .../scigap/production/host_vars/saverx/vars.yml    |     1 +
 .../scigap/production/host_vars/seagrid/vars.yml   |     2 +-
 .../scigap/production/host_vars/searchsra/vars.yml |     7 +-
 .../scigap/production/host_vars/simccs/vars.yml    |     2 +-
 .../production/host_vars/simvascular/vars.yml      |    25 +-
 .../production/host_vars/simvascular/vault.yml     |    31 +-
 .../{simvascular => simvascular_old}/vars.yml      |    13 +-
 .../{simvascular => simvascular_old}/vault.yml     |     0
 .../scigap/production/host_vars/smaltr/vars.yml    |     3 +-
 .../production/host_vars/southdakota/vars.yml      |     8 +-
 .../scigap/production/host_vars/toppic/vars.yml    |     4 +-
 .../host_vars/{toppic => tsunami}/vars.yml         |    28 +-
 .../scigap/production/host_vars/tsunami/vault.yml  |    15 +
 .../host_vars/{pace-gatech => tutorial}/vars.yml   |    25 +-
 .../scigap/production/host_vars/tutorial/vault.yml |    15 +
 .../scigap/production/host_vars/v4i/vars.yml       |     1 +
 .../ansible/inventories/scigap/production/hosts    |    16 +-
 .../production/pga_config/iugateway/vars.yml       |     6 +-
 .../pga_config/simvascular/files/pga_config.php.j2 |     2 +-
 .../production/pga_config/simvascular/vars.yml     |    14 +-
 .../scigap/staging/files/client_truststore.jks     |   Bin 21868 -> 6618 bytes
 .../scigap/staging/group_vars/all/vars.yml         |    29 +-
 .../scigap/staging/group_vars/django/vars.yml      |     2 +-
 .../scigap/testing/group_vars/all/vars.yml         |    26 +-
 dev-tools/ansible/keycloak.yml                     |     3 +-
 dev-tools/ansible/pga-single-vhost.yml             |     1 +
 dev-tools/ansible/pga.yml                          |     1 +
 dev-tools/ansible/roles/api-orch/tasks/main.yml    |    68 +-
 .../templates/airavata-server.properties.j2        |     9 +
 dev-tools/ansible/roles/common/defaults/main.yml   |     1 -
 dev-tools/ansible/roles/common/tasks/main.yml      |     1 +
 dev-tools/ansible/roles/database/tasks/main.yml    |    15 +-
 dev-tools/ansible/roles/django/defaults/main.yml   |     9 +-
 .../tasks/django.yml => django/tasks/database.yml} |    29 +-
 dev-tools/ansible/roles/django/tasks/main.yml      |    15 +
 .../django/templates/django-ssl-vhost.conf.j2      |     3 +
 .../roles/django/templates/django-vhost.conf.j2    |     3 +
 .../roles/django/templates/settings_local.py.j2    |     7 +-
 .../tasks/{main.yml => install_deps_CentOS_7.yml}  |     5 +-
 .../django_setup/tasks/install_deps_Ubuntu_18.yml} |    27 +-
 .../ansible/roles/django_setup/tasks/main.yml      |    87 +-
 dev-tools/ansible/roles/env_setup/tasks/main.yml   |    22 +
 dev-tools/ansible/roles/helix_setup/tasks/main.yml |    44 +
 .../parser-wm/airavata-server.properties.j2        |     7 +
 .../participant/airavata-server.properties.j2      |     7 +
 .../post-wm/airavata-server.properties.j2          |     7 +
 .../templates/pre-wm/airavata-server.properties.j2 |     7 +
 dev-tools/ansible/roles/httpd/defaults/main.yml    |    10 +
 .../roles/httpd/tasks/install_deps_Ubuntu_16.yml   |     7 -
 .../httpd/tasks/install_deps_Ubuntu_18.yml}        |    29 +-
 dev-tools/ansible/roles/httpd/tasks/main.yml       |    43 +-
 .../ansible/roles/httpd/templates/default.conf.j2  |     4 +-
 dev-tools/ansible/roles/java/tasks/main.yml        |     1 +
 .../templates/email-monitor/email-config.yaml.j2   |     3 +
 dev-tools/ansible/roles/kafka/tasks/main.yml       |    22 +-
 dev-tools/ansible/roles/keycloak/README.md         |    10 +-
 dev-tools/ansible/roles/keycloak/defaults/main.yml |    15 +-
 dev-tools/ansible/roles/keycloak/files/README.md   |    36 -
 .../{pga.yml => roles/keycloak/handlers/main.yml}  |    11 +-
 dev-tools/ansible/roles/keycloak/tasks/main.yml    |    94 +-
 .../roles/keycloak/templates/basic-vhost.conf.j2   |     9 +
 .../roles/keycloak/templates/standalone.xml.j2     |    15 +-
 .../ansible/roles/keycloak/templates/vhost.conf.j2 |    52 +
 dev-tools/ansible/roles/letsencrypt/tasks/main.yml |    20 +
 .../tasks/install_deps_Ubuntu_18.yml}              |    43 +-
 dev-tools/ansible/roles/pga/tasks/main.yml         |    34 +-
 .../ansible/roles/pga/templates/pga_config.php.j2  |     2 +-
 dev-tools/ansible/roles/rabbitmq/tasks/main.yml    |    23 +-
 dev-tools/ansible/roles/zookeeper/tasks/main.yml   |     9 +-
 modules/airavata-helix/agent-api/pom.xml           |     6 +-
 modules/airavata-helix/agent-impl/pom.xml          |     4 +-
 .../airavata-helix/agent-impl/ssh-agent/pom.xml    |     4 +-
 .../airavata-helix/agent-impl/sshj-agent/pom.xml   |     4 +-
 .../airavata/helix/adaptor/SSHJAgentAdaptor.java   |     2 +
 modules/airavata-helix/helix-spectator/pom.xml     |    27 +-
 .../helix/impl/controller/HelixController.java     |    15 +
 .../helix/impl/participant/GlobalParticipant.java  |    11 +
 .../airavata/helix/impl/task/TaskContext.java      |    10 +-
 .../airavata/helix/impl/task/env/EnvSetupTask.java |     3 +
 .../helix/impl/task/parsing/DataParsingTask.java   |     4 +-
 .../helix/impl/task/staging/ArchiveTask.java       |     6 +-
 .../helix/impl/task/staging/DataStagingTask.java   |     4 +
 .../impl/task/staging/InputDataStagingTask.java    |     4 +
 .../impl/task/staging/OutputDataStagingTask.java   |     3 +
 .../task/submission/DefaultJobSubmissionTask.java  |    78 +-
 .../impl/task/submission/JobSubmissionTask.java    |     2 +-
 .../task/submission/config/GroovyMapBuilder.java   |    14 +-
 .../impl/task/submission/config/GroovyMapData.java |    70 +-
 .../helix/impl/workflow/ParserWorkflowManager.java |    14 +
 .../helix/impl/workflow/PostWorkflowManager.java   |    49 +-
 .../helix/impl/workflow/PreWorkflowManager.java    |    15 +-
 modules/airavata-helix/platform-monitor/pom.xml    |    24 -
 .../helix/cluster/monitoring/ErrorNotifier.java    |    67 -
 .../helix/cluster/monitoring/MainMonitor.java      |    36 -
 .../helix/cluster/monitoring/PlatformMonitor.java  |     5 -
 .../cluster/monitoring/PlatformMonitorError.java   |    46 -
 .../monitoring/agents/ApiServerMonitor.java        |    47 -
 .../helix/cluster/monitoring/agents/DbMonitor.java |    48 -
 .../monitoring/agents/HelixControllerMonitor.java  |    17 -
 .../monitoring/agents/HelixParticipantMonitor.java |   108 -
 .../monitoring/agents/ZookeeperMonitor.java        |    47 -
 .../src/main/resources/airavata-server.properties  |    13 -
 .../src/main/resources/logback.xml                 |    53 -
 modules/airavata-helix/pom.xml                     |     5 +-
 modules/airavata-helix/task-api/pom.xml            |     6 +-
 modules/airavata-helix/task-core/pom.xml           |    13 +-
 .../apache/airavata/helix/core/AbstractTask.java   |    18 +-
 .../apache/airavata/helix/core/util/TaskUtil.java  |     4 +
 modules/airavata-helix/workflow-impl/pom.xml       |     6 +-
 modules/cluster-monitoring/pom.xml                 |     2 +-
 modules/commons/pom.xml                            |     2 +-
 .../airavata/common/utils/AiravataUtils.java       |     2 +-
 .../airavata/common/utils/ApplicationSettings.java |    60 +-
 .../org/apache/airavata/common/utils/JPAUtils.java |    26 +-
 modules/compute-account-provisioning/pom.xml       |     2 +-
 modules/configuration/client/pom.xml               |     2 +-
 modules/configuration/pom.xml                      |     2 +-
 modules/configuration/server/pom.xml               |     2 +-
 .../src/main/resources/airavata-server.properties  |     4 +-
 .../credential-store-service/pom.xml               |     2 +-
 .../credential-store-stubs/pom.xml                 |     2 +-
 .../store/client/CredentialStoreClientFactory.java |     2 +
 modules/credential-store/pom.xml                   |     2 +-
 modules/db-event-manager/pom.xml                   |     4 +-
 modules/distribution/pom.xml                       |   218 +-
 .../src/main/assembly/controller-bin-assembly.xml  |     6 +
 .../main/assembly/email-monitor-bin-assembly.xml   |     6 +
 .../src/main/assembly/parser-wm-bin-assembly.xml   |     6 +
 .../src/main/assembly/participant-bin-assembly.xml |     6 +
 .../assembly/platform-monitor-bin-assembly.xml     |   170 -
 .../src/main/assembly/post-wm-bin-assembly.xml     |     6 +
 .../src/main/assembly/pre-wm-bin-assembly.xml      |     6 +-
 .../assembly/realtime-monitor-bin-assembly.xml     |     6 +
 .../bin/setenv.sh => docker/api-server/Dockerfile} |    37 +-
 .../src/main/docker/api-server/wait-for-it.sh      |   182 +
 .../bin/setenv.sh => docker/controller/Dockerfile} |    37 +-
 .../src/main/docker/controller/wait-for-it.sh      |   182 +
 .../src/main/docker/docker-compose.yml             |   267 +
 .../setenv.sh => docker/email-monitor/Dockerfile}  |    38 +-
 .../src/main/docker/email-monitor/wait-for-it.sh   |   182 +
 .../setenv.sh => docker/participant/Dockerfile}    |    37 +-
 .../src/main/docker/participant/wait-for-it.sh     |   182 +
 .../bin/setenv.sh => docker/post-wm/Dockerfile}    |    37 +-
 .../src/main/docker/post-wm/wait-for-it.sh         |   182 +
 .../bin/setenv.sh => docker/pre-wm/Dockerfile}     |    37 +-
 .../src/main/docker/pre-wm/wait-for-it.sh          |   182 +
 .../resources/dockerfiles/controller/Dockerfile    |     3 +
 .../parser-wm/conf/airavata-server.properties      |     4 +
 .../participant/conf/airavata-server.properties    |     8 +-
 .../bin/platform-monitor-daemon.sh                 |   113 -
 .../platform-monitor/bin/platform-monitor.sh       |    71 -
 .../conf/airavata-server.properties                |    35 -
 .../resources/platform-monitor/conf/logback.xml    |    53 -
 .../post-wm/conf/airavata-server.properties        |     6 +-
 .../pre-wm/conf/airavata-server.properties         |     6 +-
 modules/ide-integration/README.md                  |    59 +-
 modules/ide-integration/pom.xml                    |    33 +-
 .../src/main/{resources => containers}/.gitignore  |     0
 .../database_scripts/init/01-databases.sql         |     0
 .../init/02-sharing-registry-migrations.sql        |     4 +
 .../init/03-appcatalog-migrations.sql              |    16 +
 .../init/04-expcatalog-migrations.sql              |    11 +
 .../{resources => containers}/docker-compose.yml   |     6 +-
 .../gateway-storage/Dockerfile                     |     0
 .../gateway-storage/authorized_keys                |     0
 .../keycloak/Default-export.json                   |     0
 .../keycloak/Default-export.json.bk                |     0
 .../keycloak/standalone.xml                        |     0
 .../{resources => containers}/pga/000-default.conf |     0
 .../main/{resources => containers}/pga/Dockerfile  |     0
 .../pga/airavata-php-gateway/.gitignore            |     1 +
 .../pga/airavata-php-gateway/app/config/app.php    |     2 +-
 .../pga/airavata-php-gateway/app/config/auth.php   |     0
 .../pga/airavata-php-gateway/app/config/cache.php  |     0
 .../airavata-php-gateway/app/config/compile.php    |     0
 .../airavata-php-gateway/app/config/database.php   |     0
 .../app/config/email_templates.json                |     0
 .../app/config/email_templates.json.template       |     0
 .../airavata-php-gateway/app/config/local/app.php  |     0
 .../app/config/local/database.php                  |     0
 .../pga/airavata-php-gateway/app/config/mail.php   |     0
 .../app/config/packages/markdown/config.php        |     0
 .../app/config/packages/teepluss/theme/config.php  |     0
 .../app/config/packages/teepluss/theme/twig.php    |     0
 .../airavata-php-gateway/app/config/pga_config.php |     0
 .../app/config/pga_config.php.template             |     0
 .../pga/airavata-php-gateway/app/config/queue.php  |     0
 .../pga/airavata-php-gateway/app/config/remote.php |     0
 .../airavata-php-gateway/app/config/services.php   |     0
 .../airavata-php-gateway/app/config/session.php    |     0
 .../app/config/testing/cache.php                   |     0
 .../app/config/testing/session.php                 |     0
 .../pga/airavata-php-gateway/app/config/view.php   |     0
 .../airavata-php-gateway/app/config/workbench.php  |     0
 .../app/controllers/AccountController.php          |     0
 .../app/controllers/AdminController.php            |     0
 .../app/controllers/ApplicationController.php      |     0
 .../app/controllers/BaseController.php             |     0
 .../app/controllers/ComputeResourceController.php  |     0
 .../app/controllers/DataCatController.php          |     0
 .../app/controllers/ExperimentController.php       |     0
 .../app/controllers/FilemanagerController.php      |     0
 .../controllers/GatewayRequestUpdateController.php |     0
 .../app/controllers/GatewayprofileController.php   |     0
 .../app/controllers/GroupController.php            |     0
 .../app/controllers/HomeController.php             |     0
 .../app/controllers/ProjectController.php          |     0
 .../app/controllers/StorageResourceController.php  |     0
 .../app/controllers/UserSettingsController.php     |     0
 .../app/database/production.sqlite                 |     0
 .../app/database/seeds/DatabaseSeeder.php          |     0
 .../pga/airavata-php-gateway/app/filters.php       |     0
 .../app/lang/en/pagination.php                     |     0
 .../airavata-php-gateway/app/lang/en/reminders.php |     0
 .../app/lang/en/validation.php                     |     0
 .../app/libraries/AdminUtilities.php               |     0
 .../app/libraries/Airavata/API/Airavata.php        |     0
 .../app/libraries/Airavata/API/Error/Types.php     |     0
 .../API/Sharing/SharingRegistryService.php         |     0
 .../app/libraries/Airavata/API/Sharing/Types.php   |     0
 .../app/libraries/Airavata/API/Types.php           |     0
 .../libraries/Airavata/AiravataServiceProvider.php |     0
 .../app/libraries/Airavata/Facades/Airavata.php    |     0
 .../Airavata/Facades/IamAdminServices.php          |     0
 .../Airavata/Facades/TenantProfileServices.php     |     0
 .../Airavata/Facades/UserProfileServices.php       |     0
 .../libraries/Airavata/IamAdminServiceProvider.php |     0
 .../Model/AppCatalog/AccountProvisioning/Types.php |     0
 .../Model/AppCatalog/AppDeployment/Types.php       |     0
 .../Model/AppCatalog/AppInterface/Types.php        |     0
 .../Model/AppCatalog/ComputeResource/Types.php     |     0
 .../Model/AppCatalog/GatewayGroups/Types.php       |     0
 .../Model/AppCatalog/GatewayProfile/Types.php      |     0
 .../AppCatalog/GroupResourceProfile/Types.php      |     0
 .../Model/AppCatalog/Parallelism/Types.php         |     0
 .../Model/AppCatalog/StorageResource/Types.php     |     0
 .../Model/AppCatalog/UserResourceProfile/Types.php |     0
 .../Airavata/Model/Application/Io/Types.php        |     0
 .../app/libraries/Airavata/Model/Commons/Types.php |     0
 .../Airavata/Model/Credential/Store/Types.php      |     0
 .../Airavata/Model/Data/Movement/Types.php         |     0
 .../Airavata/Model/Data/Replica/Types.php          |     0
 .../app/libraries/Airavata/Model/Dbevent/Types.php |     0
 .../libraries/Airavata/Model/Experiment/Types.php  |     0
 .../app/libraries/Airavata/Model/Group/Types.php   |     0
 .../app/libraries/Airavata/Model/Job/Types.php     |     0
 .../Airavata/Model/Messaging/Event/Types.php       |     0
 .../app/libraries/Airavata/Model/Process/Types.php |     0
 .../libraries/Airavata/Model/Scheduling/Types.php  |     0
 .../libraries/Airavata/Model/Security/Types.php    |     0
 .../app/libraries/Airavata/Model/Sharing/Types.php |     0
 .../app/libraries/Airavata/Model/Status/Types.php  |     0
 .../app/libraries/Airavata/Model/Task/Types.php    |     0
 .../app/libraries/Airavata/Model/Tenant/Types.php  |     0
 .../app/libraries/Airavata/Model/Types.php         |     0
 .../app/libraries/Airavata/Model/User/Types.php    |     0
 .../libraries/Airavata/Model/Workflow/Types.php    |     0
 .../libraries/Airavata/Model/Workspace/Types.php   |     0
 .../Service/Iam/Admin/Services/CPI/Error/Types.php |     0
 .../Iam/Admin/Services/CPI/IamAdminServices.php    |     0
 .../Service/Iam/Admin/Services/CPI/Types.php       |     0
 .../Profile/Groupmanager/CPI/Error/Types.php       |     0
 .../Groupmanager/CPI/GroupManagerService.php       |     0
 .../Service/Profile/Groupmanager/CPI/Types.php     |     0
 .../Service/Profile/Tenant/CPI/Error/Types.php     |     0
 .../Profile/Tenant/CPI/TenantProfileService.php    |     0
 .../Airavata/Service/Profile/Tenant/CPI/Types.php  |     0
 .../libraries/Airavata/Service/Profile/Types.php   |     0
 .../Service/Profile/User/CPI/Error/Types.php       |     0
 .../Airavata/Service/Profile/User/CPI/Types.php    |     0
 .../Profile/User/CPI/UserProfileService.php        |     0
 .../Airavata/TenantProfileServiceProvider.php      |     0
 .../Airavata/UserProfileServiceProvider.php        |     0
 .../app/libraries/AppUtilities.php                 |     0
 .../app/libraries/CRUtilities.php                  |     0
 .../app/libraries/CommonUtilities.php              |     0
 .../app/libraries/EmailUtilities.php               |     0
 .../app/libraries/ExperimentUtilities.php          |     0
 .../app/libraries/FileManager.php                  |     0
 .../app/libraries/GrouperUtilities.php             |     0
 .../app/libraries/IamAdminServicesUtilities.php    |     0
 .../Keycloak/API/BaseKeycloakAPIEndpoint.php       |     0
 .../app/libraries/Keycloak/API/RoleMapper.php      |     0
 .../app/libraries/Keycloak/API/Roles.php           |     0
 .../app/libraries/Keycloak/API/Users.php           |     0
 .../app/libraries/Keycloak/Facades/Keycloak.php    |     0
 .../app/libraries/Keycloak/Keycloak.php            |     0
 .../libraries/Keycloak/KeycloakServiceProvider.php |     0
 .../app/libraries/Keycloak/KeycloakUtil.php        |     0
 .../app/libraries/ProjectUtilities.php             |     0
 .../app/libraries/SRUtilities.php                  |     0
 .../app/libraries/SharingUtilities.php             |     0
 .../app/libraries/Thrift/Base/TBase.php            |     0
 .../Thrift/ClassLoader/ThriftClassLoader.php       |     0
 .../Thrift/Exception/TApplicationException.php     |     0
 .../app/libraries/Thrift/Exception/TException.php  |     0
 .../Thrift/Exception/TProtocolException.php        |     0
 .../Thrift/Exception/TTransportException.php       |     0
 .../Thrift/Factory/TBinaryProtocolFactory.php      |     0
 .../Thrift/Factory/TCompactProtocolFactory.php     |     0
 .../Thrift/Factory/TJSONProtocolFactory.php        |     0
 .../libraries/Thrift/Factory/TProtocolFactory.php  |     0
 .../Thrift/Factory/TStringFuncFactory.php          |     0
 .../libraries/Thrift/Factory/TTransportFactory.php |     0
 .../libraries/Thrift/Protocol/JSON/BaseContext.php |     0
 .../libraries/Thrift/Protocol/JSON/ListContext.php |     0
 .../Thrift/Protocol/JSON/LookaheadReader.php       |     0
 .../libraries/Thrift/Protocol/JSON/PairContext.php |     0
 .../libraries/Thrift/Protocol/TBinaryProtocol.php  |     0
 .../Thrift/Protocol/TBinaryProtocolAccelerated.php |     0
 .../libraries/Thrift/Protocol/TCompactProtocol.php |     0
 .../libraries/Thrift/Protocol/TJSONProtocol.php    |     0
 .../Thrift/Protocol/TMultiplexedProtocol.php       |     0
 .../app/libraries/Thrift/Protocol/TProtocol.php    |     0
 .../Thrift/Protocol/TProtocolDecorator.php         |     0
 .../Thrift/Serializer/TBinarySerializer.php        |     0
 .../app/libraries/Thrift/Server/TForkingServer.php |     0
 .../app/libraries/Thrift/Server/TServer.php        |     0
 .../app/libraries/Thrift/Server/TServerSocket.php  |     0
 .../libraries/Thrift/Server/TServerTransport.php   |     0
 .../app/libraries/Thrift/Server/TSimpleServer.php  |     0
 .../app/libraries/Thrift/StringFunc/Core.php       |     0
 .../app/libraries/Thrift/StringFunc/Mbstring.php   |     0
 .../libraries/Thrift/StringFunc/TStringFunc.php    |     0
 .../app/libraries/Thrift/TMultiplexedProcessor.php |     0
 .../app/libraries/Thrift/Thrift.php                |     0
 .../Thrift/Transport/TBufferedTransport.php        |     0
 .../app/libraries/Thrift/Transport/TCurlClient.php |     0
 .../Thrift/Transport/TFramedTransport.php          |     0
 .../app/libraries/Thrift/Transport/THttpClient.php |     0
 .../libraries/Thrift/Transport/TMemoryBuffer.php   |     0
 .../libraries/Thrift/Transport/TNullTransport.php  |     0
 .../app/libraries/Thrift/Transport/TPhpStream.php  |     0
 .../app/libraries/Thrift/Transport/TSocket.php     |     0
 .../app/libraries/Thrift/Transport/TSocketPool.php |     0
 .../app/libraries/Thrift/Transport/TTransport.php  |     0
 .../app/libraries/Thrift/Type/TConstant.php        |     0
 .../app/libraries/Thrift/Type/TMessageType.php     |     0
 .../app/libraries/Thrift/Type/TType.php            |     0
 .../app/libraries/Thrift/autoload.php              |     0
 .../app/libraries/URPUtilities.php                 |     0
 .../app/libraries/UserProfileUtilities.php         |     0
 .../app/libraries/Wsis/Facades/Wsis.php            |     0
 .../libraries/Wsis/Stubs/AuthenticationAdmin.php   |     0
 .../Wsis/Stubs/AuthenticationAdminStub.php         |     0
 .../app/libraries/Wsis/Stubs/OAuthManager.php      |     0
 .../app/libraries/Wsis/Stubs/TenantManager.php     |     0
 .../libraries/Wsis/Stubs/TenantMgtAdminStub.php    |     0
 .../Wsis/Stubs/UserInformationRecoveryManager.php  |     0
 .../Wsis/Stubs/UserInformationRecoveryStub.php     |     0
 .../libraries/Wsis/Stubs/UserProfileManager.php    |     0
 .../Wsis/Stubs/UserProfileManagerStub.php          |     0
 .../app/libraries/Wsis/Stubs/UserStoreManager.php  |     0
 .../libraries/Wsis/Stubs/UserStoreManagerStub.php  |     0
 .../app/libraries/Wsis/Wsis.php                    |     0
 .../app/libraries/Wsis/WsisServiceProvider.php     |     0
 .../resources}/assets/PoweredbyAiravata_Small.png  |   Bin
 .../assets/Profile_avatar_placeholder_large.png    |   Bin
 .../app/resources}/assets/favicon.ico              |   Bin
 .../app/resources}/assets/scigap-header-logo.png   |   Bin
 .../app/resources/oa4mp/oauth-properties.ini       |     0
 .../app/resources/security/idp_scigap_org.pem      |     0
 .../resources/security/incommon_rsa_server_ca.pem  |     0
 .../pga/airavata-php-gateway/app/routes.php        |     0
 .../pga/airavata-php-gateway/app/start/artisan.php |     0
 .../pga/airavata-php-gateway/app/start/global.php  |     0
 .../pga/airavata-php-gateway/app/start/local.php   |     0
 .../app/storage/meta/services.json                 |     0
 .../app/storage/sessions/.local}                   |     0
 .../airavata-php-gateway/app/storage/views/.local} |     0
 .../airavata-php-gateway/app/tests/ExampleTest.php |     0
 .../airavata-php-gateway/app/tests/TestCase.php    |     0
 .../app/tests/selenium/README.txt                  |     0
 .../app/tests/selenium/pom.xml                     |     0
 .../apache/airavata/pga/tests/AmberSanderBR2.java  |     0
 .../airavata/pga/tests/AmberSanderComet.java       |     0
 .../airavata/pga/tests/AmberSanderStampede.java    |     0
 .../org/apache/airavata/pga/tests/AutoDockBR2.java |     0
 .../pga/tests/CreateModifySearchProject.java       |     0
 .../apache/airavata/pga/tests/CreateUserLogin.java |     0
 .../org/apache/airavata/pga/tests/EchoBR2.java     |     0
 .../org/apache/airavata/pga/tests/EchoComet.java   |     0
 .../apache/airavata/pga/tests/EchoStampede.java    |     0
 .../airavata/pga/tests/EspressoStampede.java       |     0
 .../org/apache/airavata/pga/tests/ExpLoadTest.java |     0
 .../apache/airavata/pga/tests/GamessGordon.java    |     0
 .../apache/airavata/pga/tests/GaussianComet.java   |     0
 .../apache/airavata/pga/tests/GaussianGordon.java  |     0
 .../apache/airavata/pga/tests/GromacsStampede.java |     0
 .../org/apache/airavata/pga/tests/LammpsComet.java |     0
 .../apache/airavata/pga/tests/LammpsStampede.java  |     0
 .../org/apache/airavata/pga/tests/NwChemComet.java |     0
 .../apache/airavata/pga/tests/NwChemStampede.java  |     0
 .../apache/airavata/pga/tests/PhastaPStampede.java |     0
 .../org/apache/airavata/pga/tests/RunAllTests.java |     0
 .../airavata/pga/tests/SearchProjectExp.java       |     0
 .../airavata/pga/tests/TinkerMonteStampede.java    |     0
 .../apache/airavata/pga/tests/TrinityStampede.java |     0
 .../org/apache/airavata/pga/tests/UserLogout.java  |     0
 .../org/apache/airavata/pga/tests/WRFStampede.java |     0
 .../airavata/pga/tests/utils/CurrentDateTime.java  |     0
 .../airavata/pga/tests/utils/ExpFileReadUtils.java |     0
 .../apache/airavata/pga/tests/utils/UserLogin.java |     0
 .../selenium/src/test/resources/exp.properties     |     0
 .../pga/airavata-php-gateway/app/views/.local}     |     0
 .../app/views/account/create.blade.php             |     0
 .../app/views/account/credential-store.blade.php   |     0
 .../app/views/account/dashboard.blade.php          |     0
 .../app/views/account/forgot-password.blade.php    |     0
 .../app/views/account/login-desktop.blade.php      |     0
 .../app/views/account/login.blade.php              |     0
 .../app/views/account/request-allocation.blade.php |     0
 .../app/views/account/reset-password.blade.php     |     0
 .../app/views/account/settings.blade.php           |     0
 .../app/views/account/update.blade.php             |     0
 .../views/account/user-compute-resources.blade.php |     0
 .../account/user-profile-update-email.blade.php    |     0
 .../app/views/account/user-profile.blade.php       |     0
 .../views/account/user-storage-resources.blade.php |     0
 .../app/views/account/verify-human.blade.php       |     0
 .../app/views/admin/create-gateway.blade.php       |     0
 .../views/admin/experiment-statistics.blade.php    |     0
 .../app/views/admin/manage-admin.blade.php         |     0
 .../app/views/admin/manage-credentials.blade.php   |     0
 .../app/views/admin/manage-experiments.blade.php   |     0
 .../app/views/admin/manage-gateway.blade.php       |     0
 .../app/views/admin/manage-notices.blade.php       |     0
 .../app/views/admin/manage-resources.blade.php     |     0
 .../app/views/admin/manage-roles.blade.php         |     0
 .../app/views/admin/manage-users.blade.php         |     0
 .../app/views/application/deployment.blade.php     |     0
 .../app/views/application/interface.blade.php      |     0
 .../app/views/application/module.blade.php         |     0
 .../app/views/datacat/select.blade.php             |     0
 .../app/views/datacat/summary.blade.php            |     0
 .../app/views/emails/auth/reminder.blade.php       |     0
 .../airavata-php-gateway/app/views/error.blade.php |     0
 .../app/views/experiment/browse.blade.php          |     0
 .../app/views/experiment/create-complete.blade.php |     0
 .../app/views/experiment/create.blade.php          |     0
 .../app/views/experiment/edit.blade.php            |     0
 .../no-sharing-create-complete.blade.php           |     0
 .../app/views/experiment/no-sharing-edit.blade.php |     0
 .../app/views/experiment/summary.blade.php         |     0
 .../app/views/files/browse.blade.php               |     0
 .../app/views/gateway/browse.blade.php             |     0
 .../app/views/gateway/create.blade.php             |     0
 .../app/views/group/browse.blade.php               |     0
 .../app/views/group/create.blade.php               |     0
 .../app/views/group/edit.blade.php                 |     0
 .../app/views/group/summary.blade.php              |     0
 .../airavata-php-gateway/app/views/home.blade.php  |     0
 .../app/views/layout/basic.blade.php               |     0
 .../app/views/layout/desktop-login.blade.php       |     0
 .../app/views/layout/fixed-footer.blade.php        |     0
 .../app/views/layout/fixed-header.blade.php        |     0
 .../app/views/layout/fixed-scripts.blade.php       |     0
 .../airavata-php-gateway/app/views/pages.blade.php |     0
 .../app/views/partials/add-gateway-block.blade.php |     0
 .../partials/auto-provisioned-accounts.blade.php   |     0
 .../compute-resource-preferences.blade.php         |     0
 .../app/views/partials/dashboard-block.blade.php   |     0
 .../app/views/partials/deployment-block.blade.php  |     0
 .../views/partials/experiment-container.blade.php  |     0
 .../app/views/partials/experiment-info.blade.php   |     0
 .../app/views/partials/experiment-inputs.blade.php |     0
 .../partials/experiment-queue-block.blade.php      |     0
 .../partials/gateway-preferences-block.blade.php   |     0
 .../app/views/partials/interface-block.blade.php   |     0
 .../views/partials/interface-input-block.blade.php |     0
 .../partials/interface-output-block.blade.php      |     0
 .../app/views/partials/login-external.blade.php    |     0
 .../app/views/partials/login-form.blade.php        |     0
 .../app/views/partials/module-block.blade.php      |     0
 .../app/views/partials/queue-block.blade.php       |     0
 .../views/partials/resource-job-manager.blade.php  |     0
 .../views/partials/sharing-display-body.blade.php  |     0
 .../app/views/partials/sharing-form-body.blade.php |     0
 .../views/partials/sharing-form-modal.blade.php    |     0
 .../storage-resource-preferences.blade.php         |     0
 .../app/views/partials/streaming-data.blade.php    |     0
 .../user-compute-resource-preferences.blade.php    |     0
 .../user-storage-resource-preferences.blade.php    |     0
 .../app/views/project/browse.blade.php             |     0
 .../app/views/project/create.blade.php             |     0
 .../app/views/project/edit.blade.php               |     0
 .../app/views/project/no-sharing-create.blade.php  |     0
 .../app/views/project/no-sharing-edit.blade.php    |     0
 .../app/views/project/no-sharing-summary.blade.php |     0
 .../app/views/project/summary.blade.php            |     0
 .../app/views/resource/browse.blade.php            |     0
 .../app/views/resource/create.blade.php            |     0
 .../app/views/resource/edit.blade.php              |     0
 .../app/views/resource/view.blade.php              |     0
 .../views/scigap-admin/manage-gateway.blade.php    |     0
 .../app/views/server-down.blade.php                |     0
 .../app/views/storage-resource/browse.blade.php    |     0
 .../app/views/storage-resource/create.blade.php    |     0
 .../app/views/storage-resource/edit.blade.php      |     0
 .../app/views/storage-resource/view.blade.php      |     0
 .../pga/airavata-php-gateway/artisan               |     0
 .../airavata-php-gateway/bootstrap/autoload.php    |     0
 .../pga/airavata-php-gateway/bootstrap/paths.php   |     0
 .../pga/airavata-php-gateway/bootstrap/start.php   |     0
 .../pga/airavata-php-gateway/composer.json         |     0
 .../pga/airavata-php-gateway/composer.lock         |     0
 .../pga/airavata-php-gateway/phpunit.xml           |     0
 .../pga/airavata-php-gateway/public/.htaccess      |     0
 .../public}/assets/PoweredbyAiravata_Small.png     |   Bin
 .../assets/Profile_avatar_placeholder_large.png    |   Bin
 .../public/assets/ajax-loader.gif                  |   Bin
 .../public/assets/cilogon-logo-24x24-b.png         |   Bin
 .../public}/assets/favicon.ico                     |   Bin
 .../assets/powered-by-airavata-transparent.png     |   Bin
 .../public}/assets/scigap-header-logo.png          |   Bin
 .../pga/airavata-php-gateway/public/css/admin.css  |     0
 .../public/css/bootstrap-toggle.css                |     0
 .../public/css/bootstrap.min.css                   |     0
 .../public/css/datetimepicker.css                  |     0
 .../public/css/filemanager.css                     |     0
 .../pga/airavata-php-gateway/public/css/morris.css |     0
 .../airavata-php-gateway/public/css/sharing.css    |     0
 .../pga/airavata-php-gateway/public/css/style.css  |     0
 .../public/css/user-settings.css                   |     0
 .../pga/airavata-php-gateway/public/favicon.ico    |     0
 .../public/fonts/glyphicons-halflings-regular.eot  |   Bin
 .../public/fonts/glyphicons-halflings-regular.svg  |     0
 .../public/fonts/glyphicons-halflings-regular.ttf  |   Bin
 .../public/fonts/glyphicons-halflings-regular.woff |   Bin
 .../pga/airavata-php-gateway/public/index.php      |     0
 .../public/js/bootstrap-toggle.js                  |     0
 .../public/js/clipboard.min.js                     |     0
 .../public/js/datacat/GLmol.js                     |     0
 .../public/js/datacat/Three.js                     |     0
 .../public/js/datacat/jquery-1.7.min.js            |     0
 .../public/js/datetimepicker-3.1.3.js              |     1 +
 .../airavata-php-gateway/public/js/deployment.js   |     0
 .../airavata-php-gateway/public/js/filemanager.js  |     0
 .../public/js/flot/flot-data.js                    |     0
 .../public/js/flot/jquery.flot.js                  |     0
 .../public/js/flot/jquery.flot.pie.js              |     0
 .../public/js/flot/jquery.flot.resize.js           |     0
 .../public/js/flot/jquery.flot.tooltip.min.js      |     0
 .../pga/airavata-php-gateway/public/js/gateway.js  |     0
 .../airavata-php-gateway/public/js/interface.js    |     0
 .../pga/airavata-php-gateway/public/js/moment.js   |     0
 .../public/js/morris/morris-data.js                |     0
 .../public/js/morris/morris.min.js                 |     0
 .../public/js/morris/raphael.min.js                |     0
 .../pga/airavata-php-gateway/public/js/script.js   |     0
 .../public/js/sharing/groups.js                    |     0
 .../public/js/sharing/share.js                     |     0
 .../public/js/sharing/sharing_utils.js             |     0
 .../airavata-php-gateway/public/js/simstream.js    |     0
 .../public/js/time-conversion.js                   |     0
 .../pga/airavata-php-gateway/public/js/util.js     |     0
 .../pga/airavata-php-gateway/public/robots.txt     |     0
 .../pga/airavata-php-gateway/public/themes/README  |     0
 .../public/themes/base/layouts/default.blade.php   |     0
 .../public/themes/base/partials/about.blade.php    |     0
 .../themes/base/partials/documentation.blade.php   |     0
 .../public/themes/base/partials/footer.blade.php   |     0
 .../public/themes/base/partials/header.blade.php   |     0
 .../public/themes/base/partials/template.blade.php |     0
 .../public/themes/base/views/index.blade.php       |     0
 .../public/themes/base/views/test.blade.php        |     0
 .../pga/airavata-php-gateway/server.php            |     0
 .../{resources => containers}/pga/default.conf     |     0
 .../pga/docker-compose.yml                         |     0
 .../{resources => containers}/pga/pga-default.conf |     0
 .../main/{resources => containers}/pga/vhost.conf  |     0
 .../src/main/resources/META-INF/persistence.xml    |   141 -
 .../airavataworkflowcatalog-derby.sql              |   212 -
 .../database_scripts/appcatalog-derby.sql          |   737 -
 .../database_scripts/appcatalog-mysql.sql          |   728 -
 .../resources/database_scripts/credstore-derby.sql |    27 -
 .../resources/database_scripts/credstore-mysql.sql |    27 -
 .../resources/database_scripts/dozer_mapping.xml   |    26 -
 .../database_scripts/expcatalog-derby.sql          |   403 -
 .../database_scripts/expcatalog-mysql.sql          |   405 -
 .../init/02-sharing-registry-migrations.sql        |     5 -
 .../init/03-appcatalog-migrations.sql              |    11 -
 .../init/04-expcatalog-migrations.sql              |     4 -
 .../database_scripts/replicacatalog-derby.sql      |    85 -
 .../database_scripts/replicacatalog-mysql.sql      |    80 -
 .../database_scripts/sharing-registry-mysql.sql    |   149 -
 .../user-profile-catalog-derby.sql                 |   163 -
 .../user-profile-catalog-mysql.sql                 |   163 -
 .../database_scripts/workflowcatalog-derby.sql     |   128 -
 .../database_scripts/workflowcatalog-mysql.sql     |   128 -
 .../src/main/resources/keystores/airavata.jks      |   Bin 2679 -> 2679 bytes
 .../main/resources/keystores/client_truststore.jks |   Bin 1027 -> 1258 bytes
 .../ide-integration/src/main/resources/logback.xml |     4 +-
 .../public/js/datetimepicker-3.1.3.js              |     1 -
 modules/job-monitor/email-monitor/pom.xml          |     4 +-
 .../airavata/monitor/email/EmailBasedMonitor.java  |     4 +-
 modules/job-monitor/job-monitor-api/pom.xml        |     4 +-
 .../apache/airavata/monitor/AbstractMonitor.java   |     1 +
 modules/job-monitor/pom.xml                        |     6 +-
 modules/job-monitor/real-time-monitor/pom.xml      |     6 +-
 modules/messaging/client/pom.xml                   |     2 +-
 modules/messaging/core/pom.xml                     |     2 +-
 .../messaging/core/impl/RabbitMQPublisher.java     |     2 +-
 modules/messaging/pom.xml                          |     2 +-
 modules/orchestrator/orchestrator-client/pom.xml   |     2 +-
 modules/orchestrator/orchestrator-core/pom.xml     |     2 +-
 modules/orchestrator/orchestrator-service/pom.xml  |     2 +-
 .../server/OrchestratorServerHandler.java          |    18 +-
 modules/orchestrator/pom.xml                       |     2 +-
 modules/{security => platform-monitoring}/pom.xml  |    53 +-
 .../airavata/patform/monitoring/CountMonitor.java} |    42 +-
 .../airavata/patform/monitoring/GaugeMonitor.java} |    44 +-
 .../patform/monitoring/MonitoringServer.java       |    57 +
 modules/registry/pom.xml                           |     2 +-
 modules/registry/registry-core/README.md           |   124 +-
 modules/registry/registry-core/pom.xml             |   144 +-
 .../appcatalog/ApplicationInputEntity.java         |     1 +
 .../entities/appcatalog/GatewayGroupsEntity.java   |     2 +-
 .../appcatalog/GroupComputeResourcePrefEntity.java |    33 -
 .../entities/expcatalog/ExperimentInputEntity.java |     1 +
 .../GatewayUsageReportingCommandEntity.java        |    66 +
 .../expcatalog/GatewayUsageReportingPK.java        |    70 +
 .../entities/expcatalog/ProcessInputEntity.java    |     1 +
 .../expcatalog/ExperimentSummaryRepository.java    |    17 +-
 .../GatewayUsageReportingCommandRepository.java    |    69 +
 .../registry/core/utils/CustomBeanFactory.java     |   102 +
 .../core/utils/JPAUtil/AppCatalogJPAUtils.java     |    31 +-
 .../core/utils/JPAUtil/ExpCatalogJPAUtils.java     |     2 +-
 .../core/utils/JPAUtil/RepCatalogJPAUtils.java     |     2 +-
 .../registry/core/utils/ObjectMapperSingleton.java |     2 +-
 .../registry/core/utils/QueryConstants.java        |     2 +-
 .../core/utils/migration/MappingToolRunner.java    |    46 +
 .../utils/migration/MigrationSchemaGenerator.java  |   100 +
 .../src/main/resources/META-INF/persistence.xml    |     1 +
 .../src/main/resources/appcatalog-derby.sql        |     5 +-
 .../src/main/resources/appcatalog-mysql.sql        |     2 +-
 .../src/main/resources/dozer_mapping.xml           |     5 +
 .../src/main/resources/expcatalog-derby.sql        |    11 +-
 .../src/main/resources/expcatalog-mysql.sql        |    21 +-
 .../derby/airavata-server.properties               |    72 +
 .../mysql}/airavata-server.properties              |    63 +-
 .../migrations-util/mysql/docker-compose.yml       |    15 +
 .../create_databases.sql}                          |    21 +-
 .../core/repositories/common/TestBase.java         |     2 +-
 .../expcatalog/ExperimentRepositoryTest.java       |    65 +-
 .../replicacatalog/DataProductRepositoryTest.java  |     3 +-
 .../DataReplicaLocationRepositoryTest.java         |     3 +-
 .../registry/core/utils/CustomBeanFactoryTest.java |    54 +
 .../core/utils/ObjectMapperSingletonTest.java      |    66 +
 modules/registry/registry-cpi/pom.xml              |     2 +-
 modules/registry/registry-server/pom.xml           |     2 +-
 .../registry-server/registry-api-service/pom.xml   |     6 +-
 .../api/service/handler/RegistryServerHandler.java |    76 +-
 .../registry-server/registry-api-stubs/pom.xml     |     2 +-
 .../airavata/registry/api/RegistryService.java     |  9015 +--
 modules/registry/registry-tools/jpa-gen/pom.xml    |     2 +-
 modules/registry/registry-tools/pom.xml            |     2 +-
 .../registry/registry-tools/registry-tool/pom.xml  |     2 +-
 .../DeltaScripts/appCatalog_schema_delta.sql       |    29 +
 .../experimentCatalog_schema_delta.sql             |    13 +
 .../DeltaScripts/sharingCatalog_schema_delta.sql   |     8 +
 .../DeltaScripts/appCatalog_schema_delta.sql       |    29 +
 .../DeltaScripts/credential_store_schema_delta.sql |    21 +
 .../experimentCatalog_schema_delta.sql             |    32 +
 .../DeltaScripts/profile_service_schema_delta.sql  |    21 +
 .../DeltaScripts/replicaCatalog_schema_delta.sql   |    21 +
 .../DeltaScripts/sharingCatalog_schema_delta.sql   |    21 +
 modules/security/pom.xml                           |     2 +-
 modules/server/pom.xml                             |     2 +-
 .../org/apache/airavata/server/ServerMain.java     |    10 +
 modules/sharing-registry/pom.xml                   |     2 +-
 .../sharing-registry/sharing-data-migrator/pom.xml |     6 +-
 .../sharing-registry-distribution/pom.xml          |     2 +-
 .../sharing-registry-server/pom.xml                |     4 +-
 .../messaging/SharingServiceDBEventHandler.java    |    13 +
 .../registry/server/SharingRegistryServer.java     |     4 +-
 .../sharing-registry-stubs/pom.xml                 |     4 +-
 pom.xml                                            |    39 +-
 .../component-cpis/registry-api.thrift             |    11 +-
 .../workspace_model.thrift                         |     6 +
 .../group_resource_profile_model.thrift            |     3 -
 tools/load-client/pom.xml                          |     8 +-
 tools/pom.xml                                      |     2 +-
 984 files changed, 8941 insertions(+), 130198 deletions(-)

diff --cc dev-tools/ansible/inventories/scigap/testing/group_vars/all/vars.yml
index 9a2ce47,bf6b5a3..c5b7e80
--- a/dev-tools/ansible/inventories/scigap/testing/group_vars/all/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/testing/group_vars/all/vars.yml
@@@ -167,18 -164,26 +167,42 @@@ platform_monitor_email_address: "airava
  platform_monitor_email_password: "{{ vault_platform_monitor_email_password }}"
  platform_monitor_target_email_addresses: "dimuthu.upeksha2@gmail.com,dwannipu@iu.edu"
  
 +# Variables related to parser framework
 +parser_broker_url: "{{ groups['kafka'][0] }}:{{ kafka_listener_port }}"
 +parser_broker_topic: "completed-messages"
 +parser_broker_consumer_group: "ParsingConsumer"
 +parser_storage_resource_id: "pgadev.scigap.org_7ddf28fd-d503-4ff8-bbc5-3279a7c3b99e"
 +parser_broker_publisher_id: "ParserProducer"
 +
 +thrift_client_pool_abandoned_removal_enabled: true
 +thrift_client_pool_abandoned_removal_logged: true
 +
 +usage_reporting_key: "NONE"
 +
 +mft_api_service_host: "{{ groups['mft'][0] }}"
 +mft_api_service_grpc_port: 7004
- mft_api_service_http_port: 8088
++mft_api_service_http_port: 8088
++
+ # Subnet definitions
+ iu_subnets:
+   - "149.163.0.0/16"
+   - "140.182.0.0/16"
+   - "149.165.0.0/16"
+   - "192.68.133.0/24"
+   - "192.12.206.0/24"
+   - "149.159.0.0/16"
+   - "156.56.0.0/16"
+   - "149.161.0.0/16"
+   - "149.160.0.0/16"
+   - "149.166.0.0/16"
+   - "134.68.0.0/16"
+   - "129.79.0.0/16"
+ 
+ zk_subnets: "{{ iu_subnets }}"
+ kafka_subnets: "{{ iu_subnets }}"
+ sharing_subnets: "{{ iu_subnets }}"
+ registry_subnets: "{{ iu_subnets }}"
+ credential_store_subnets: "{{ iu_subnets }}"
+ rabbitmq_subnets: "{{ iu_subnets }}"
+ db_subnets: "{{ iu_subnets }}"
+ zabbix_subnets: "{{ iu_subnets }}"
diff --cc dev-tools/ansible/roles/helix_setup/templates/participant/airavata-server.properties.j2
index 2431972,0473df1..3d72a2c
--- a/dev-tools/ansible/roles/helix_setup/templates/participant/airavata-server.properties.j2
+++ b/dev-tools/ansible/roles/helix_setup/templates/participant/airavata-server.properties.j2
@@@ -109,8 -109,8 +109,15 @@@ usage.reporting.key={{ usage_reporting_
  usage.reporting.endpoint=https://xsede-xdcdb-api.xsede.org/gateway/v2/job_attributes
  
  ###########################################################################
+ # Platform Monitoring Configuration
+ ###########################################################################
+ participant.monitoring.enabled={{ participant_monitoring_enabled }}
+ participant.monitoring.host={{ participant_monitoring_host }}
 -participant.monitoring.port={{ participant_monitoring_port }}
++participant.monitoring.port={{ participant_monitoring_port }}
++
++###########################################################################
 +# Managed File Transfer Configurations
 +###########################################################################
 +
 +mft.server.host={{ mft_api_service_host }}
 +mft.server.port={{ mft_api_service_grpc_port }}
diff --cc modules/airavata-helix/helix-spectator/pom.xml
index 188c801,5966752..7a1fdb0
--- a/modules/airavata-helix/helix-spectator/pom.xml
+++ b/modules/airavata-helix/helix-spectator/pom.xml
@@@ -24,7 -24,7 +24,7 @@@
      <parent>
          <artifactId>airavata-helix</artifactId>
          <groupId>org.apache.airavata</groupId>
-         <version>0.19-SNAPSHOT</version>
 -        <version>0.21-SNAPSHOT</version>
++        <version>${project.version}</version>
          <relativePath>../pom.xml</relativePath>
      </parent>
      <modelVersion>4.0.0</modelVersion>
@@@ -35,14 -35,8 +35,14 @@@
      <dependencies>
          <dependency>
              <groupId>org.apache.airavata</groupId>
 +            <artifactId>mft-api-client</artifactId>
 +            <version>0.01-SNAPSHOT</version>
 +        </dependency>
 +
 +        <dependency>
 +            <groupId>org.apache.airavata</groupId>
              <artifactId>task-core</artifactId>
-             <version>0.19-SNAPSHOT</version>
+             <version>${project.version}</version>
              <exclusions>
                  <exclusion>
                      <groupId>commons-io</groupId>
@@@ -61,13 -47,7 +61,13 @@@
          <dependency>
              <groupId>org.apache.airavata</groupId>
              <artifactId>registry-api-service</artifactId>
-             <version>0.19-SNAPSHOT</version>
+             <version>${project.version}</version>
 +            <exclusions>
 +                <exclusion>
 +                    <groupId> com.google.guava</groupId>
 +                    <artifactId>guava</artifactId>
 +                </exclusion>
 +            </exclusions>
          </dependency>
          <dependency>
              <groupId>org.apache.airavata</groupId>
@@@ -82,13 -62,7 +82,13 @@@
          <dependency>
              <groupId>org.apache.airavata</groupId>
              <artifactId>services-security</artifactId>
-             <version>0.19-SNAPSHOT</version>
+             <version>${project.version}</version>
 +            <exclusions>
 +                <exclusion>
 +                    <groupId>com.google.guava</groupId>
 +                    <artifactId>guava</artifactId>
 +                </exclusion>
 +            </exclusions>
          </dependency>
          <dependency>
              <groupId>org.apache.airavata</groupId>
diff --cc modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/staging/ArchiveTask.java
index de61036,141bb2a..301b880
--- a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/staging/ArchiveTask.java
+++ b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/staging/ArchiveTask.java
@@@ -112,7 -110,7 +116,7 @@@ public class ArchiveTask extends DataSt
  
                      String destParent = destFilePath.substring(0, destFilePath.lastIndexOf("/"));
                      final String storageArchiveDir = "ARCHIVE";
-                     String unArchiveTarCommand = "rm -rf " + storageArchiveDir + " && mkdir " + storageArchiveDir + " && tar -xvf " + archiveFileName + " -C "
 -                    String unArchiveTarCommand = "mkdir -p " + storageArchiveDir + " && tar -xvf " + archiveFileName + " -C "
++                    String unArchiveTarCommand = "rm -rf " + storageArchiveDir + " && mkdir -p " + storageArchiveDir + " && tar -xvf " + archiveFileName + " -C "
                              + storageArchiveDir + " && rm " + archiveFileName + " && chmod 755 -f -R " + storageArchiveDir + "/*";
                      logger.info("Running Un archiving command on storage resource " + unArchiveTarCommand);
  
diff --cc modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/staging/DataStagingTask.java
index e95fdb3,1df76a2..705cd78
--- a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/staging/DataStagingTask.java
+++ b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/staging/DataStagingTask.java
@@@ -31,13 -29,10 +31,14 @@@ import org.apache.airavata.common.utils
  import org.apache.airavata.helix.impl.task.AiravataTask;
  import org.apache.airavata.helix.impl.task.TaskOnFailException;
  import org.apache.airavata.helix.task.api.support.AdaptorSupport;
 +import org.apache.airavata.mft.api.client.MFTApiClient;
 +import org.apache.airavata.mft.api.service.*;
  import org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription;
  import org.apache.airavata.model.task.DataStagingTaskModel;
+ import org.apache.airavata.patform.monitoring.CountMonitor;
 +import org.apache.airavata.model.transfer.TransferModel;
  import org.apache.commons.io.FileUtils;
 +import org.apache.thrift.TException;
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  
diff --cc modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/staging/OutputDataStagingTask.java
index b697281,4419250..1834467
--- a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/staging/OutputDataStagingTask.java
+++ b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/staging/OutputDataStagingTask.java
@@@ -35,7 -31,9 +35,8 @@@ import org.apache.airavata.model.applic
  import org.apache.airavata.model.application.io.OutputDataObjectType;
  import org.apache.airavata.model.status.ProcessState;
  import org.apache.airavata.model.task.DataStagingTaskModel;
+ import org.apache.airavata.patform.monitoring.CountMonitor;
  import org.apache.helix.task.TaskResult;
 -import org.apache.thrift.TException;
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  
diff --cc modules/airavata-helix/task-api/pom.xml
index 32e237d,6d1b558..253b3da
--- a/modules/airavata-helix/task-api/pom.xml
+++ b/modules/airavata-helix/task-api/pom.xml
@@@ -24,7 -24,7 +24,7 @@@
      <parent>
          <artifactId>airavata-helix</artifactId>
          <groupId>org.apache.airavata</groupId>
-         <version>0.19-SNAPSHOT</version>
 -        <version>0.21-SNAPSHOT</version>
++        <version>${project.version}</version>
          <relativePath>../pom.xml</relativePath>
      </parent>
      <modelVersion>4.0.0</modelVersion>
diff --cc modules/distribution/src/main/assembly/participant-bin-assembly.xml
index 2704fbe,ab74c39..99e24f1
--- a/modules/distribution/src/main/assembly/participant-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/participant-bin-assembly.xml
@@@ -211,23 -211,11 +211,29 @@@
                  <include>org.apache.commons:commons-pool2:jar</include>
                  <include>org.json:json:jar</include>
  
+                 <include>org.apache.airavata:platform-monitoring:jar</include>
+                 <include>io.prometheus:simpleclient:jar</include>
+                 <include>io.prometheus:simpleclient_httpserver:jar</include>
+                 <include>io.prometheus:simpleclient_common:jar</include>
+                 <include>org.apache.commons:commons-lang3</include>
++
 +                <!-- MFT dependencies -->
 +
 +                <include>org.apache.airavata:mft-api-client</include>
 +                <include>org.apache.airavata:mft-api-stub</include>
 +                <include>com.google.protobuf:protobuf-java</include>
 +                <include>io.grpc:grpc-api</include>
 +                <include>io.grpc:grpc-core</include>
 +                <include>io.grpc:grpc-netty</include>
 +                <include>io.netty:netty-codec-http2</include>
 +                <include>io.opencensus:opencensus-api</include>
 +                <include>io.opencensus:opencensus-contrib-grpc-metrics</include>
 +                <include>io.grpc:grpc-protobuf</include>
 +                <include>io.grpc:grpc-protobuf-lite</include>
 +                <include>io.grpc:grpc-stub</include>
 +                <include>io.grpc:grpc-context</include>
 +                <include>io.perfmark:perfmark-api</include>
 +                <include>com.google.api.grpc:proto-google-common-protos</include>
              </includes>
              <excludes>
                  <exclude>mysql:mysql-connector-java:jar</exclude>
diff --cc modules/distribution/src/main/assembly/post-wm-bin-assembly.xml
index a09b925,860261e..2f3396c
--- a/modules/distribution/src/main/assembly/post-wm-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/post-wm-bin-assembly.xml
@@@ -165,7 -165,11 +165,13 @@@
                  <include>org.apache.commons:commons-pool2:jar</include>
                  <include>org.json:json:jar</include>
  
+                 <include>org.apache.airavata:platform-monitoring:jar</include>
+                 <include>io.prometheus:simpleclient:jar</include>
+                 <include>io.prometheus:simpleclient_httpserver:jar</include>
+                 <include>io.prometheus:simpleclient_common:jar</include>
+                 <include>org.apache.commons:commons-lang3</include>
++
 +                <include>io.grpc:grpc-api</include>
              </includes>
              <excludes>
                  <exclude>mysql:mysql-connector-java:jar</exclude>
diff --cc modules/distribution/src/main/assembly/pre-wm-bin-assembly.xml
index d472d2b,fe47ad2..ef6d617
--- a/modules/distribution/src/main/assembly/pre-wm-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/pre-wm-bin-assembly.xml
@@@ -164,8 -164,11 +164,12 @@@
                  <include>org.apache.airavata:airavata-security:jar</include>
                  <include>org.apache.commons:commons-pool2:jar</include>
                  <include>org.json:json:jar</include>
- 
+                 <include>org.apache.airavata:platform-monitoring:jar</include>
+                 <include>io.prometheus:simpleclient:jar</include>
+                 <include>io.prometheus:simpleclient_httpserver:jar</include>
+                 <include>io.prometheus:simpleclient_common:jar</include>
+                 <include>org.apache.commons:commons-lang3</include>
 +                <include>io.grpc:grpc-api</include>
              </includes>
              <excludes>
                  <exclude>mysql:mysql-connector-java:jar</exclude>
diff --cc modules/ide-integration/pom.xml
index 0e7c58b,0f3bec0..58d661b
--- a/modules/ide-integration/pom.xml
+++ b/modules/ide-integration/pom.xml
@@@ -12,24 -12,9 +12,24 @@@
  
      <dependencies>
          <dependency>
 +            <groupId>com.fasterxml.jackson.core</groupId>
 +            <artifactId>jackson-annotations</artifactId>
 +            <version>2.9.9</version>
 +        </dependency>
 +        <dependency>
 +            <groupId>io.netty</groupId>
 +            <artifactId>netty-common</artifactId>
 +            <version>4.1.42.Final</version>
 +        </dependency>
 +        <dependency>
 +            <groupId>com.fasterxml.jackson.core</groupId>
 +            <artifactId>jackson-core</artifactId>
 +            <version>2.9.9</version>
 +        </dependency>
 +        <dependency>
              <groupId>org.apache.airavata</groupId>
              <artifactId>db-event-manager</artifactId>
-             <version>0.19-SNAPSHOT</version>
+             <version>${project.version}</version>
          </dependency>
          <dependency>
              <groupId>org.apache.airavata</groupId>
diff --cc modules/ide-integration/src/main/resources/database_scripts/init/03-appcatalog-migrations.sql
index 25bcab5,0000000..f658221
mode 100644,000000..100644
--- a/modules/ide-integration/src/main/resources/database_scripts/init/03-appcatalog-migrations.sql
+++ b/modules/ide-integration/src/main/resources/database_scripts/init/03-appcatalog-migrations.sql
@@@ -1,15 -1,0 +1,4 @@@
 +use app_catalog;
 +
- ALTER TABLE APPLICATION_INPUT ADD COLUMN OVERRIDE_FILENAME VARCHAR(255);
- 
- -- AIRAVATA-3126
- CREATE TABLE IF NOT EXISTS COMPUTE_RESOURCE_RESERVATION -- ComputeResourceReservationEntity
-     (RESERVATION_ID VARCHAR(255) NOT NULL, END_TIME TIMESTAMP NOT NULL, RESERVATION_NAME VARCHAR(255) NOT NULL, START_TIME TIMESTAMP NOT NULL, RESOURCE_ID VARCHAR(255) NOT NULL, GROUP_RESOURCE_PROFILE_ID VARCHAR(255) NOT NULL, PRIMARY KEY (RESERVATION_ID)
- )ENGINE=InnoDB DEFAULT CHARSET=latin1;
- CREATE TABLE IF NOT EXISTS COMPUTE_RESOURCE_RESERVATION_QUEUE (RESERVATION_ID VARCHAR(255), QUEUE_NAME VARCHAR(255) NOT NULL
- )ENGINE=InnoDB DEFAULT CHARSET=latin1;
- CREATE INDEX I_CMPTN_Q_RESERVATION_ID ON COMPUTE_RESOURCE_RESERVATION_QUEUE (RESERVATION_ID);
- ALTER TABLE COMPUTE_RESOURCE_RESERVATION ADD CONSTRAINT FK_COMPUTE_RESOURCE_RESERVATION FOREIGN KEY (RESOURCE_ID, GROUP_RESOURCE_PROFILE_ID) REFERENCES GROUP_COMPUTE_RESOURCE_PREFERENCE (RESOURCE_ID, GROUP_RESOURCE_PROFILE_ID) ON DELETE CASCADE;
- 
 +-- AIRAVATA-3311
 +ALTER TABLE STORAGE_PREFERENCE ADD MANAGED_FILE_TRANSFER_ENABLED SMALLINT NOT NULL DEFAULT 0;
diff --cc modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
index dc8c98c,b885c92..cefc6c2
--- a/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
+++ b/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
@@@ -420,11 -420,9 +420,18 @@@ CREATE TABLE PROCESS_WORKFLO
    FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE
  )ENGINE=InnoDB DEFAULT CHARSET=latin1;
  
+ CREATE TABLE GATEWAY_USAGE_REPORTING_COMMAND (
+   GATEWAY_ID VARCHAR(255) NOT NULL,
+   COMPUTE_RESOURCE_ID VARCHAR(255) NOT NULL,
+   COMMAND LONGTEXT NOT NULL,
+   PRIMARY KEY (GATEWAY_ID, COMPUTE_RESOURCE_ID)
+ )ENGINE=InnoDB DEFAULT CHARSET=latin1;
++
 +CREATE TABLE TRANSFER
 +(
-   TASK_ID varchar(255) NOT NULL,
-   TRANSFER_ID varchar(255) NOT NULL,
-   FILE_PATH LONGTEXT DEFAULT NULL,
-   PRIMARY KEY (TASK_ID, TRANSFER_ID),
-   FOREIGN KEY (TASK_ID) REFERENCES TASK(TASK_ID) ON DELETE CASCADE
++    TASK_ID varchar(255) NOT NULL,
++    TRANSFER_ID varchar(255) NOT NULL,
++    FILE_PATH LONGTEXT DEFAULT NULL,
++    PRIMARY KEY (TASK_ID, TRANSFER_ID),
++    FOREIGN KEY (TASK_ID) REFERENCES TASK(TASK_ID) ON DELETE CASCADE
 +)ENGINE=InnoDB DEFAULT CHARSET=latin1;
diff --cc modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java
index 7d5ed1c,3ff767d..8b54154
--- a/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java
+++ b/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java
@@@ -80,9 -80,9 +80,10 @@@ import org.apache.airavata.model.status
  import org.apache.airavata.model.status.QueueStatusModel;
  import org.apache.airavata.model.status.TaskStatus;
  import org.apache.airavata.model.task.TaskModel;
 +import org.apache.airavata.model.transfer.TransferModel;
  import org.apache.airavata.model.user.UserProfile;
  import org.apache.airavata.model.workspace.Gateway;
+ import org.apache.airavata.model.workspace.GatewayUsageReportingCommand;
  import org.apache.airavata.model.workspace.Notification;
  import org.apache.airavata.model.workspace.Project;
  import org.apache.airavata.registry.api.RegistryService;
@@@ -149,7 -149,7 +150,8 @@@ public class RegistryServerHandler impl
      private ParsingTemplateRepository parsingTemplateRepository = new ParsingTemplateRepository();
      private UserRepository userRepository = new UserRepository();
      private ComputeResourceRepository computeResourceRepository = new ComputeResourceRepository();
+     private GatewayUsageReportingCommandRepository usageReportingCommandRepository = new GatewayUsageReportingCommandRepository();
 +    private TransferRepository transferRepository = new TransferRepository();
  
      /**
       * Fetch Apache Registry API version
@@@ -5062,32 -5063,65 +5065,95 @@@
      }
  
      @Override
+     public boolean isGatewayUsageReportingAvailable(String gatewayId, String computeResourceId) throws RegistryServiceException, TException {
+         try {
+             return usageReportingCommandRepository.isGatewayUsageReportingCommandExists(gatewayId, computeResourceId);
+         } catch (Exception e) {
+             String message = "Failed to check the availability to find the reporting information for the gateway "
+                                                         + gatewayId + " and compute resource " + computeResourceId;
+             logger.error(message, e);
+             RegistryServiceException rse = new RegistryServiceException();
+             rse.setMessage(message + ". More info " + e.getMessage());
+             throw rse;
+         }    }
+ 
+     @Override
+     public GatewayUsageReportingCommand getGatewayReportingCommand(String gatewayId, String computeResourceId) throws RegistryServiceException, TException {
+         try {
+             if (usageReportingCommandRepository.isGatewayUsageReportingCommandExists(gatewayId, computeResourceId)) {
+                 return usageReportingCommandRepository.getGatewayUsageReportingCommand(gatewayId, computeResourceId);
+             } else {
+                 String message = "No usage reporting information for the gateway " + gatewayId + " and compute resource " + computeResourceId;
+                 logger.error(message);
+                 throw new RegistryServiceException(message);
+             }
+         } catch (RegistryServiceException e) {
+             throw e; // re-throw
+ 
+         } catch (Exception e) {
+             String message = "Failed to check the availability to find the reporting information for the gateway " +
+                                 gatewayId + " and compute resource " + computeResourceId;
+             logger.error(message, e);
+             RegistryServiceException rse = new RegistryServiceException();
+             rse.setMessage(message + ". More info " + e.getMessage());
+             throw rse;
+         }      }
+ 
+     @Override
+     public void addGatewayUsageReportingCommand(GatewayUsageReportingCommand command) throws RegistryServiceException, TException {
+         try {
+             usageReportingCommandRepository.addGatewayUsageReportingCommand(command);
+         } catch (Exception e) {
+             String message = "Failed to add the reporting information for the gateway " + command.getGatewayId()
+                                 + " and compute resource " + command.getComputeResourceId();
+             logger.error(message, e);
+             RegistryServiceException rse = new RegistryServiceException();
+             rse.setMessage(message + ". More info " + e.getMessage());
+             throw rse;
+         }
+     }
+ 
+     @Override
+     public void removeGatewayUsageReportingCommand(String gatewayId, String computeResourceId) throws RegistryServiceException, TException {
+         try {
+             usageReportingCommandRepository.removeGatewayUsageReportingCommand(gatewayId, computeResourceId);
+         } catch (Exception e) {
+             String message = "Failed to add the reporting information for the gateway " + gatewayId +
+                                 " and compute resource " + computeResourceId;
+             logger.error(message, e);
+             RegistryServiceException rse = new RegistryServiceException();
+             rse.setMessage(message + ". More info " + e.getMessage());
+             throw rse;
+         }
+     }
++
++    @Override
 +    public void saveTransfer(TransferModel transferModel) throws RegistryServiceException, TException {
 +        try {
 +            transferRepository.saveTransfer(transferModel);
 +        } catch (Exception e) {
 +            logger.error("Error while saving transfer details for task {} and transfer {}",
-                 transferModel.getTaskId(), transferModel.getTransferId(), e);
++                    transferModel.getTaskId(), transferModel.getTransferId(), e);
 +            throw new RegistryServiceException("Failed to store transfer detail. " + e.getMessage());
 +        }
 +    }
 +
 +    @Override
 +    public List<TransferModel> getTransfersForTask(String taskId) throws RegistryServiceException, TException {
 +        try {
 +            return transferRepository.getTransfersForTask(taskId);
 +        } catch (Exception e) {
 +            logger.error("Error while fetching transfer details for task id {}", taskId, e);
 +            throw new RegistryServiceException("Failed to fetch transfers for task id " + taskId + " " + e.getMessage());
 +        }
 +    }
 +
 +    @Override
 +    public List<TransferModel> getTransfersForTransferId(String transferId) throws RegistryServiceException, TException {
 +        try {
 +            return transferRepository.getTransfersForTransferId(transferId);
 +        } catch (Exception e) {
 +            logger.error("Error while fetching transfer details for transfer id {}", transferId, e);
 +            throw new RegistryServiceException("Failed to fetch transfers for transfer id " + transferId + " " + e.getMessage());        }
 +    }
  }
diff --cc modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/RegistryService.java
index e67f81f,67b0c32..671b1b9
--- a/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/RegistryService.java
+++ b/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/RegistryService.java
@@@ -2610,11 -2610,13 +2610,19 @@@ public class RegistryService 
  
      public void removeParsingTemplate(java.lang.String templateId, java.lang.String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
  
-     public void saveTransfer(org.apache.airavata.model.transfer.TransferModel transferModel) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
 -    public boolean isGatewayUsageReportingAvailable(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
++      public boolean isGatewayUsageReportingAvailable(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+ 
 -    public org.apache.airavata.model.workspace.GatewayUsageReportingCommand getGatewayReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
++      public org.apache.airavata.model.workspace.GatewayUsageReportingCommand getGatewayReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+ 
 -    public void addGatewayUsageReportingCommand(org.apache.airavata.model.workspace.GatewayUsageReportingCommand command) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
++      public void addGatewayUsageReportingCommand(org.apache.airavata.model.workspace.GatewayUsageReportingCommand command) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+ 
 -    public void removeGatewayUsageReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
++      public void removeGatewayUsageReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
++
++      public void saveTransfer(org.apache.airavata.model.transfer.TransferModel transferModel) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
 +
 +    public java.util.List<org.apache.airavata.model.transfer.TransferModel> getTransfersForTask(java.lang.String taskId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
 +
 +    public java.util.List<org.apache.airavata.model.transfer.TransferModel> getTransfersForTransferId(java.lang.String transferId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
  
    }
  
@@@ -3012,12 -3014,14 +3020,6 @@@
  
      public void removeParsingTemplate(java.lang.String templateId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
  
-     public void saveTransfer(org.apache.airavata.model.transfer.TransferModel transferModel, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 -    public void isGatewayUsageReportingAvailable(java.lang.String gatewayId, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
--
-     public void getTransfersForTask(java.lang.String taskId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.transfer.TransferModel>> resultHandler) throws org.apache.thrift.TException;
 -    public void getGatewayReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.GatewayUsageReportingCommand> resultHandler) throws org.apache.thrift.TException;
--
-     public void getTransfersForTransferId(java.lang.String transferId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.transfer.TransferModel>> resultHandler) throws org.apache.thrift.TException;
 -    public void addGatewayUsageReportingCommand(org.apache.airavata.model.workspace.GatewayUsageReportingCommand command, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 -
 -    public void removeGatewayUsageReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
--
    }
  
    public static class Client extends org.apache.airavata.base.api.BaseAPI.Client implements Iface {
@@@ -8273,81 -8277,107 +8275,6 @@@
        return;
      }
  
-     public void saveTransfer(org.apache.airavata.model.transfer.TransferModel transferModel) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
 -    public boolean isGatewayUsageReportingAvailable(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
--    {
-       send_saveTransfer(transferModel);
-       recv_saveTransfer();
 -      send_isGatewayUsageReportingAvailable(gatewayId, computeResourceId);
 -      return recv_isGatewayUsageReportingAvailable();
--    }
--
-     public void send_saveTransfer(org.apache.airavata.model.transfer.TransferModel transferModel) throws org.apache.thrift.TException
 -    public void send_isGatewayUsageReportingAvailable(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.thrift.TException
--    {
-       saveTransfer_args args = new saveTransfer_args();
-       args.setTransferModel(transferModel);
-       sendBase("saveTransfer", args);
 -      isGatewayUsageReportingAvailable_args args = new isGatewayUsageReportingAvailable_args();
 -      args.setGatewayId(gatewayId);
 -      args.setComputeResourceId(computeResourceId);
 -      sendBase("isGatewayUsageReportingAvailable", args);
--    }
--
-     public void recv_saveTransfer() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
 -    public boolean recv_isGatewayUsageReportingAvailable() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
--    {
-       saveTransfer_result result = new saveTransfer_result();
-       receiveBase(result, "saveTransfer");
 -      isGatewayUsageReportingAvailable_result result = new isGatewayUsageReportingAvailable_result();
 -      receiveBase(result, "isGatewayUsageReportingAvailable");
 -      if (result.isSetSuccess()) {
 -        return result.success;
 -      }
--      if (result.rse != null) {
--        throw result.rse;
--      }
-       return;
 -      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isGatewayUsageReportingAvailable failed: unknown result");
--    }
--
-     public java.util.List<org.apache.airavata.model.transfer.TransferModel> getTransfersForTask(java.lang.String taskId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
 -    public org.apache.airavata.model.workspace.GatewayUsageReportingCommand getGatewayReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
--    {
-       send_getTransfersForTask(taskId);
-       return recv_getTransfersForTask();
 -      send_getGatewayReportingCommand(gatewayId, computeResourceId);
 -      return recv_getGatewayReportingCommand();
--    }
--
-     public void send_getTransfersForTask(java.lang.String taskId) throws org.apache.thrift.TException
 -    public void send_getGatewayReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.thrift.TException
--    {
-       getTransfersForTask_args args = new getTransfersForTask_args();
-       args.setTaskId(taskId);
-       sendBase("getTransfersForTask", args);
 -      getGatewayReportingCommand_args args = new getGatewayReportingCommand_args();
 -      args.setGatewayId(gatewayId);
 -      args.setComputeResourceId(computeResourceId);
 -      sendBase("getGatewayReportingCommand", args);
--    }
--
-     public java.util.List<org.apache.airavata.model.transfer.TransferModel> recv_getTransfersForTask() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
 -    public org.apache.airavata.model.workspace.GatewayUsageReportingCommand recv_getGatewayReportingCommand() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
--    {
-       getTransfersForTask_result result = new getTransfersForTask_result();
-       receiveBase(result, "getTransfersForTask");
 -      getGatewayReportingCommand_result result = new getGatewayReportingCommand_result();
 -      receiveBase(result, "getGatewayReportingCommand");
--      if (result.isSetSuccess()) {
--        return result.success;
--      }
--      if (result.rse != null) {
--        throw result.rse;
--      }
-       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTransfersForTask failed: unknown result");
 -      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGatewayReportingCommand failed: unknown result");
--    }
--
-     public java.util.List<org.apache.airavata.model.transfer.TransferModel> getTransfersForTransferId(java.lang.String transferId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
 -    public void addGatewayUsageReportingCommand(org.apache.airavata.model.workspace.GatewayUsageReportingCommand command) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
--    {
-       send_getTransfersForTransferId(transferId);
-       return recv_getTransfersForTransferId();
 -      send_addGatewayUsageReportingCommand(command);
 -      recv_addGatewayUsageReportingCommand();
--    }
--
-     public void send_getTransfersForTransferId(java.lang.String transferId) throws org.apache.thrift.TException
 -    public void send_addGatewayUsageReportingCommand(org.apache.airavata.model.workspace.GatewayUsageReportingCommand command) throws org.apache.thrift.TException
--    {
-       getTransfersForTransferId_args args = new getTransfersForTransferId_args();
-       args.setTransferId(transferId);
-       sendBase("getTransfersForTransferId", args);
 -      addGatewayUsageReportingCommand_args args = new addGatewayUsageReportingCommand_args();
 -      args.setCommand(command);
 -      sendBase("addGatewayUsageReportingCommand", args);
--    }
--
-     public java.util.List<org.apache.airavata.model.transfer.TransferModel> recv_getTransfersForTransferId() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
 -    public void recv_addGatewayUsageReportingCommand() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
--    {
-       getTransfersForTransferId_result result = new getTransfersForTransferId_result();
-       receiveBase(result, "getTransfersForTransferId");
-       if (result.isSetSuccess()) {
-         return result.success;
 -      addGatewayUsageReportingCommand_result result = new addGatewayUsageReportingCommand_result();
 -      receiveBase(result, "addGatewayUsageReportingCommand");
 -      if (result.rse != null) {
 -        throw result.rse;
--      }
 -      return;
 -    }
 -
 -    public void removeGatewayUsageReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
 -    {
 -      send_removeGatewayUsageReportingCommand(gatewayId, computeResourceId);
 -      recv_removeGatewayUsageReportingCommand();
 -    }
 -
 -    public void send_removeGatewayUsageReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.thrift.TException
 -    {
 -      removeGatewayUsageReportingCommand_args args = new removeGatewayUsageReportingCommand_args();
 -      args.setGatewayId(gatewayId);
 -      args.setComputeResourceId(computeResourceId);
 -      sendBase("removeGatewayUsageReportingCommand", args);
 -    }
 -
 -    public void recv_removeGatewayUsageReportingCommand() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
 -    {
 -      removeGatewayUsageReportingCommand_result result = new removeGatewayUsageReportingCommand_result();
 -      receiveBase(result, "removeGatewayUsageReportingCommand");
--      if (result.rse != null) {
--        throw result.rse;
--      }
-       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTransfersForTransferId failed: unknown result");
 -      return;
--    }
--
    }
    public static class AsyncClient extends org.apache.airavata.base.api.BaseAPI.AsyncClient implements AsyncIface {
      public static class Factory implements org.apache.thrift.async.TAsyncClientFactory<AsyncClient> {
@@@ -15094,102 -15124,143 +15021,6 @@@
        }
      }
  
-     public void saveTransfer(org.apache.airavata.model.transfer.TransferModel transferModel, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
 -    public void isGatewayUsageReportingAvailable(java.lang.String gatewayId, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
--      checkReady();
-       saveTransfer_call method_call = new saveTransfer_call(transferModel, resultHandler, this, ___protocolFactory, ___transport);
 -      isGatewayUsageReportingAvailable_call method_call = new isGatewayUsageReportingAvailable_call(gatewayId, computeResourceId, resultHandler, this, ___protocolFactory, ___transport);
--      this.___currentMethod = method_call;
--      ___manager.call(method_call);
--    }
--
-     public static class saveTransfer_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
-       private org.apache.airavata.model.transfer.TransferModel transferModel;
-       public saveTransfer_call(org.apache.airavata.model.transfer.TransferModel transferModel, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
 -    public static class isGatewayUsageReportingAvailable_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
 -      private java.lang.String gatewayId;
 -      private java.lang.String computeResourceId;
 -      public isGatewayUsageReportingAvailable_call(java.lang.String gatewayId, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
--        super(client, protocolFactory, transport, resultHandler, false);
-         this.transferModel = transferModel;
 -        this.gatewayId = gatewayId;
 -        this.computeResourceId = computeResourceId;
--      }
--
--      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("saveTransfer", org.apache.thrift.protocol.TMessageType.CALL, 0));
-         saveTransfer_args args = new saveTransfer_args();
-         args.setTransferModel(transferModel);
 -        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isGatewayUsageReportingAvailable", org.apache.thrift.protocol.TMessageType.CALL, 0));
 -        isGatewayUsageReportingAvailable_args args = new isGatewayUsageReportingAvailable_args();
 -        args.setGatewayId(gatewayId);
 -        args.setComputeResourceId(computeResourceId);
--        args.write(prot);
--        prot.writeMessageEnd();
--      }
--
-       public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
 -      public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
--        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
--          throw new java.lang.IllegalStateException("Method call not finished!");
--        }
--        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
--        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-         return null;
 -        return (new Client(prot)).recv_isGatewayUsageReportingAvailable();
--      }
--    }
--
-     public void getTransfersForTask(java.lang.String taskId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.transfer.TransferModel>> resultHandler) throws org.apache.thrift.TException {
 -    public void getGatewayReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.GatewayUsageReportingCommand> resultHandler) throws org.apache.thrift.TException {
--      checkReady();
-       getTransfersForTask_call method_call = new getTransfersForTask_call(taskId, resultHandler, this, ___protocolFactory, ___transport);
 -      getGatewayReportingCommand_call method_call = new getGatewayReportingCommand_call(gatewayId, computeResourceId, resultHandler, this, ___protocolFactory, ___transport);
--      this.___currentMethod = method_call;
--      ___manager.call(method_call);
--    }
--
-     public static class getTransfersForTask_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<org.apache.airavata.model.transfer.TransferModel>> {
-       private java.lang.String taskId;
-       public getTransfersForTask_call(java.lang.String taskId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.transfer.TransferModel>> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
 -    public static class getGatewayReportingCommand_call extends org.apache.thrift.async.TAsyncMethodCall<org.apache.airavata.model.workspace.GatewayUsageReportingCommand> {
 -      private java.lang.String gatewayId;
 -      private java.lang.String computeResourceId;
 -      public getGatewayReportingCommand_call(java.lang.String gatewayId, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.GatewayUsageReportingCommand> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
--        super(client, protocolFactory, transport, resultHandler, false);
-         this.taskId = taskId;
 -        this.gatewayId = gatewayId;
 -        this.computeResourceId = computeResourceId;
--      }
--
--      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTransfersForTask", org.apache.thrift.protocol.TMessageType.CALL, 0));
-         getTransfersForTask_args args = new getTransfersForTask_args();
-         args.setTaskId(taskId);
 -        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGatewayReportingCommand", org.apache.thrift.protocol.TMessageType.CALL, 0));
 -        getGatewayReportingCommand_args args = new getGatewayReportingCommand_args();
 -        args.setGatewayId(gatewayId);
 -        args.setComputeResourceId(computeResourceId);
--        args.write(prot);
--        prot.writeMessageEnd();
--      }
--
-       public java.util.List<org.apache.airavata.model.transfer.TransferModel> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
 -      public org.apache.airavata.model.workspace.GatewayUsageReportingCommand getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
--        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
--          throw new java.lang.IllegalStateException("Method call not finished!");
--        }
--        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
--        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-         return (new Client(prot)).recv_getTransfersForTask();
 -        return (new Client(prot)).recv_getGatewayReportingCommand();
--      }
--    }
--
-     public void getTransfersForTransferId(java.lang.String transferId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.transfer.TransferModel>> resultHandler) throws org.apache.thrift.TException {
 -    public void addGatewayUsageReportingCommand(org.apache.airavata.model.workspace.GatewayUsageReportingCommand command, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
--      checkReady();
-       getTransfersForTransferId_call method_call = new getTransfersForTransferId_call(transferId, resultHandler, this, ___protocolFactory, ___transport);
 -      addGatewayUsageReportingCommand_call method_call = new addGatewayUsageReportingCommand_call(command, resultHandler, this, ___protocolFactory, ___transport);
--      this.___currentMethod = method_call;
--      ___manager.call(method_call);
--    }
--
-     public static class getTransfersForTransferId_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<org.apache.airavata.model.transfer.TransferModel>> {
-       private java.lang.String transferId;
-       public getTransfersForTransferId_call(java.lang.String transferId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.transfer.TransferModel>> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
 -    public static class addGatewayUsageReportingCommand_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
 -      private org.apache.airavata.model.workspace.GatewayUsageReportingCommand command;
 -      public addGatewayUsageReportingCommand_call(org.apache.airavata.model.workspace.GatewayUsageReportingCommand command, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
--        super(client, protocolFactory, transport, resultHandler, false);
-         this.transferId = transferId;
 -        this.command = command;
--      }
--
--      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTransfersForTransferId", org.apache.thrift.protocol.TMessageType.CALL, 0));
-         getTransfersForTransferId_args args = new getTransfersForTransferId_args();
-         args.setTransferId(transferId);
 -        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addGatewayUsageReportingCommand", org.apache.thrift.protocol.TMessageType.CALL, 0));
 -        addGatewayUsageReportingCommand_args args = new addGatewayUsageReportingCommand_args();
 -        args.setCommand(command);
--        args.write(prot);
--        prot.writeMessageEnd();
--      }
--
-       public java.util.List<org.apache.airavata.model.transfer.TransferModel> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
 -      public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
--        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
--          throw new java.lang.IllegalStateException("Method call not finished!");
--        }
--        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
--        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-         return (new Client(prot)).recv_getTransfersForTransferId();
 -        return null;
 -      }
 -    }
 -
 -    public void removeGatewayUsageReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
 -      checkReady();
 -      removeGatewayUsageReportingCommand_call method_call = new removeGatewayUsageReportingCommand_call(gatewayId, computeResourceId, resultHandler, this, ___protocolFactory, ___transport);
 -      this.___currentMethod = method_call;
 -      ___manager.call(method_call);
 -    }
 -
 -    public static class removeGatewayUsageReportingCommand_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
 -      private java.lang.String gatewayId;
 -      private java.lang.String computeResourceId;
 -      public removeGatewayUsageReportingCommand_call(java.lang.String gatewayId, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
 -        super(client, protocolFactory, transport, resultHandler, false);
 -        this.gatewayId = gatewayId;
 -        this.computeResourceId = computeResourceId;
 -      }
 -
 -      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
 -        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeGatewayUsageReportingCommand", org.apache.thrift.protocol.TMessageType.CALL, 0));
 -        removeGatewayUsageReportingCommand_args args = new removeGatewayUsageReportingCommand_args();
 -        args.setGatewayId(gatewayId);
 -        args.setComputeResourceId(computeResourceId);
 -        args.write(prot);
 -        prot.writeMessageEnd();
 -      }
 -
 -      public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
 -        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
 -          throw new java.lang.IllegalStateException("Method call not finished!");
 -        }
 -        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
 -        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
 -        return null;
--      }
--    }
--
    }
  
    public static class Processor<I extends Iface> extends org.apache.airavata.base.api.BaseAPI.Processor<I> implements org.apache.thrift.TProcessor {
@@@ -15399,9 -15470,10 +15230,6 @@@
        processMap.put("saveParsingTemplate", new saveParsingTemplate());
        processMap.put("listAllParsingTemplates", new listAllParsingTemplates());
        processMap.put("removeParsingTemplate", new removeParsingTemplate());
-       processMap.put("saveTransfer", new saveTransfer());
-       processMap.put("getTransfersForTask", new getTransfersForTask());
-       processMap.put("getTransfersForTransferId", new getTransfersForTransferId());
 -      processMap.put("isGatewayUsageReportingAvailable", new isGatewayUsageReportingAvailable());
 -      processMap.put("getGatewayReportingCommand", new getGatewayReportingCommand());
 -      processMap.put("addGatewayUsageReportingCommand", new addGatewayUsageReportingCommand());
 -      processMap.put("removeGatewayUsageReportingCommand", new removeGatewayUsageReportingCommand());
        return processMap;
      }
  
@@@ -20197,78 -20269,103 +20025,6 @@@
        }
      }
  
-     public static class saveTransfer<I extends Iface> extends org.apache.thrift.ProcessFunction<I, saveTransfer_args> {
-       public saveTransfer() {
-         super("saveTransfer");
 -    public static class isGatewayUsageReportingAvailable<I extends Iface> extends org.apache.thrift.ProcessFunction<I, isGatewayUsageReportingAvailable_args> {
 -      public isGatewayUsageReportingAvailable() {
 -        super("isGatewayUsageReportingAvailable");
--      }
--
-       public saveTransfer_args getEmptyArgsInstance() {
-         return new saveTransfer_args();
 -      public isGatewayUsageReportingAvailable_args getEmptyArgsInstance() {
 -        return new isGatewayUsageReportingAvailable_args();
--      }
--
--      protected boolean isOneway() {
--        return false;
--      }
--
-       public saveTransfer_result getResult(I iface, saveTransfer_args args) throws org.apache.thrift.TException {
-         saveTransfer_result result = new saveTransfer_result();
 -      public isGatewayUsageReportingAvailable_result getResult(I iface, isGatewayUsageReportingAvailable_args args) throws org.apache.thrift.TException {
 -        isGatewayUsageReportingAvailable_result result = new isGatewayUsageReportingAvailable_result();
--        try {
-           iface.saveTransfer(args.transferModel);
 -          result.success = iface.isGatewayUsageReportingAvailable(args.gatewayId, args.computeResourceId);
 -          result.setSuccessIsSet(true);
--        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
--          result.rse = rse;
--        }
--        return result;
--      }
--    }
--
-     public static class getTransfersForTask<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTransfersForTask_args> {
-       public getTransfersForTask() {
-         super("getTransfersForTask");
 -    public static class getGatewayReportingCommand<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getGatewayReportingCommand_args> {
 -      public getGatewayReportingCommand() {
 -        super("getGatewayReportingCommand");
--      }
--
-       public getTransfersForTask_args getEmptyArgsInstance() {
-         return new getTransfersForTask_args();
 -      public getGatewayReportingCommand_args getEmptyArgsInstance() {
 -        return new getGatewayReportingCommand_args();
--      }
--
--      protected boolean isOneway() {
--        return false;
--      }
--
-       public getTransfersForTask_result getResult(I iface, getTransfersForTask_args args) throws org.apache.thrift.TException {
-         getTransfersForTask_result result = new getTransfersForTask_result();
 -      public getGatewayReportingCommand_result getResult(I iface, getGatewayReportingCommand_args args) throws org.apache.thrift.TException {
 -        getGatewayReportingCommand_result result = new getGatewayReportingCommand_result();
--        try {
-           result.success = iface.getTransfersForTask(args.taskId);
 -          result.success = iface.getGatewayReportingCommand(args.gatewayId, args.computeResourceId);
--        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
--          result.rse = rse;
--        }
--        return result;
--      }
--    }
--
-     public static class getTransfersForTransferId<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTransfersForTransferId_args> {
-       public getTransfersForTransferId() {
-         super("getTransfersForTransferId");
 -    public static class addGatewayUsageReportingCommand<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addGatewayUsageReportingCommand_args> {
 -      public addGatewayUsageReportingCommand() {
 -        super("addGatewayUsageReportingCommand");
--      }
--
-       public getTransfersForTransferId_args getEmptyArgsInstance() {
-         return new getTransfersForTransferId_args();
 -      public addGatewayUsageReportingCommand_args getEmptyArgsInstance() {
 -        return new addGatewayUsageReportingCommand_args();
--      }
--
--      protected boolean isOneway() {
--        return false;
--      }
--
-       public getTransfersForTransferId_result getResult(I iface, getTransfersForTransferId_args args) throws org.apache.thrift.TException {
-         getTransfersForTransferId_result result = new getTransfersForTransferId_result();
 -      public addGatewayUsageReportingCommand_result getResult(I iface, addGatewayUsageReportingCommand_args args) throws org.apache.thrift.TException {
 -        addGatewayUsageReportingCommand_result result = new addGatewayUsageReportingCommand_result();
--        try {
-           result.success = iface.getTransfersForTransferId(args.transferId);
 -          iface.addGatewayUsageReportingCommand(args.command);
 -        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
 -          result.rse = rse;
 -        }
 -        return result;
 -      }
 -    }
 -
 -    public static class removeGatewayUsageReportingCommand<I extends Iface> extends org.apache.thrift.ProcessFunction<I, removeGatewayUsageReportingCommand_args> {
 -      public removeGatewayUsageReportingCommand() {
 -        super("removeGatewayUsageReportingCommand");
 -      }
 -
 -      public removeGatewayUsageReportingCommand_args getEmptyArgsInstance() {
 -        return new removeGatewayUsageReportingCommand_args();
 -      }
 -
 -      protected boolean isOneway() {
 -        return false;
 -      }
 -
 -      public removeGatewayUsageReportingCommand_result getResult(I iface, removeGatewayUsageReportingCommand_args args) throws org.apache.thrift.TException {
 -        removeGatewayUsageReportingCommand_result result = new removeGatewayUsageReportingCommand_result();
 -        try {
 -          iface.removeGatewayUsageReportingCommand(args.gatewayId, args.computeResourceId);
--        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
--          result.rse = rse;
--        }
--        return result;
--      }
--    }
--
    }
  
    public static class AsyncProcessor<I extends AsyncIface> extends org.apache.airavata.base.api.BaseAPI.AsyncProcessor<I> {
@@@ -20478,9 -20575,10 +20234,6 @@@
        processMap.put("saveParsingTemplate", new saveParsingTemplate());
        processMap.put("listAllParsingTemplates", new listAllParsingTemplates());
        processMap.put("removeParsingTemplate", new removeParsingTemplate());
-       processMap.put("saveTransfer", new saveTransfer());
-       processMap.put("getTransfersForTask", new getTransfersForTask());
-       processMap.put("getTransfersForTransferId", new getTransfersForTransferId());
 -      processMap.put("isGatewayUsageReportingAvailable", new isGatewayUsageReportingAvailable());
 -      processMap.put("getGatewayReportingCommand", new getGatewayReportingCommand());
 -      processMap.put("addGatewayUsageReportingCommand", new addGatewayUsageReportingCommand());
 -      processMap.put("removeGatewayUsageReportingCommand", new removeGatewayUsageReportingCommand());
        return processMap;
      }
  
@@@ -33322,67 -33420,337 +33075,78 @@@
        }
      }
  
-     public static class saveTransfer<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, saveTransfer_args, Void> {
-       public saveTransfer() {
-         super("saveTransfer");
 -    public static class isGatewayUsageReportingAvailable<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isGatewayUsageReportingAvailable_args, java.lang.Boolean> {
 -      public isGatewayUsageReportingAvailable() {
 -        super("isGatewayUsageReportingAvailable");
 -      }
 -
 -      public isGatewayUsageReportingAvailable_args getEmptyArgsInstance() {
 -        return new isGatewayUsageReportingAvailable_args();
 -      }
 -
 -      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
 -        final org.apache.thrift.AsyncProcessFunction fcall = this;
 -        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
 -          public void onComplete(java.lang.Boolean o) {
 -            isGatewayUsageReportingAvailable_result result = new isGatewayUsageReportingAvailable_result();
 -            result.success = o;
 -            result.setSuccessIsSet(true);
 -            try {
 -              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
 -            } catch (org.apache.thrift.transport.TTransportException e) {
 -              _LOGGER.error("TTransportException writing to internal frame buffer", e);
 -              fb.close();
 -            } catch (java.lang.Exception e) {
 -              _LOGGER.error("Exception writing to internal frame buffer", e);
 -              onError(e);
 -            }
 -          }
 -          public void onError(java.lang.Exception e) {
 -            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
 -            org.apache.thrift.TSerializable msg;
 -            isGatewayUsageReportingAvailable_result result = new isGatewayUsageReportingAvailable_result();
 -            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
 -              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
 -              result.setRseIsSet(true);
 -              msg = result;
 -            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
 -              _LOGGER.error("TTransportException inside handler", e);
 -              fb.close();
 -              return;
 -            } else if (e instanceof org.apache.thrift.TApplicationException) {
 -              _LOGGER.error("TApplicationException inside handler", e);
 -              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
 -              msg = (org.apache.thrift.TApplicationException)e;
 -            } else {
 -              _LOGGER.error("Exception inside handler", e);
 -              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
 -              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
 -            }
 -            try {
 -              fcall.sendResponse(fb,msg,msgType,seqid);
 -            } catch (java.lang.Exception ex) {
 -              _LOGGER.error("Exception writing to internal frame buffer", ex);
 -              fb.close();
 -            }
 -          }
 -        };
 -      }
 -
 -      protected boolean isOneway() {
 -        return false;
 -      }
 -
 -      public void start(I iface, isGatewayUsageReportingAvailable_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
 -        iface.isGatewayUsageReportingAvailable(args.gatewayId, args.computeResourceId,resultHandler);
 -      }
 -    }
 -
 -    public static class getGatewayReportingCommand<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGatewayReportingCommand_args, org.apache.airavata.model.workspace.GatewayUsageReportingCommand> {
 -      public getGatewayReportingCommand() {
 -        super("getGatewayReportingCommand");
 -      }
 -
 -      public getGatewayReportingCommand_args getEmptyArgsInstance() {
 -        return new getGatewayReportingCommand_args();
 -      }
 -
 -      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.GatewayUsageReportingCommand> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
 -        final org.apache.thrift.AsyncProcessFunction fcall = this;
 -        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.GatewayUsageReportingCommand>() { 
 -          public void onComplete(org.apache.airavata.model.workspace.GatewayUsageReportingCommand o) {
 -            getGatewayReportingCommand_result result = new getGatewayReportingCommand_result();
 -            result.success = o;
 -            try {
 -              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
 -            } catch (org.apache.thrift.transport.TTransportException e) {
 -              _LOGGER.error("TTransportException writing to internal frame buffer", e);
 -              fb.close();
 -            } catch (java.lang.Exception e) {
 -              _LOGGER.error("Exception writing to internal frame buffer", e);
 -              onError(e);
 -            }
 -          }
 -          public void onError(java.lang.Exception e) {
 -            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
 -            org.apache.thrift.TSerializable msg;
 -            getGatewayReportingCommand_result result = new getGatewayReportingCommand_result();
 -            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
 -              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
 -              result.setRseIsSet(true);
 -              msg = result;
 -            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
 -              _LOGGER.error("TTransportException inside handler", e);
 -              fb.close();
 -              return;
 -            } else if (e instanceof org.apache.thrift.TApplicationException) {
 -              _LOGGER.error("TApplicationException inside handler", e);
 -              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
 -              msg = (org.apache.thrift.TApplicationException)e;
 -            } else {
 -              _LOGGER.error("Exception inside handler", e);
 -              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
 -              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
 -            }
 -            try {
 -              fcall.sendResponse(fb,msg,msgType,seqid);
 -            } catch (java.lang.Exception ex) {
 -              _LOGGER.error("Exception writing to internal frame buffer", ex);
 -              fb.close();
 -            }
 -          }
 -        };
 -      }
 -
 -      protected boolean isOneway() {
 -        return false;
 -      }
 -
 -      public void start(I iface, getGatewayReportingCommand_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.GatewayUsageReportingCommand> resultHandler) throws org.apache.thrift.TException {
 -        iface.getGatewayReportingCommand(args.gatewayId, args.computeResourceId,resultHandler);
 -      }
 -    }
 -
 -    public static class addGatewayUsageReportingCommand<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addGatewayUsageReportingCommand_args, Void> {
 -      public addGatewayUsageReportingCommand() {
 -        super("addGatewayUsageReportingCommand");
 -      }
 -
 -      public addGatewayUsageReportingCommand_args getEmptyArgsInstance() {
 -        return new addGatewayUsageReportingCommand_args();
 -      }
 -
 -      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
 -        final org.apache.thrift.AsyncProcessFunction fcall = this;
 -        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
 -          public void onComplete(Void o) {
 -            addGatewayUsageReportingCommand_result result = new addGatewayUsageReportingCommand_result();
 -            try {
 -              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
 -            } catch (org.apache.thrift.transport.TTransportException e) {
 -              _LOGGER.error("TTransportException writing to internal frame buffer", e);
 -              fb.close();
 -            } catch (java.lang.Exception e) {
 -              _LOGGER.error("Exception writing to internal frame buffer", e);
 -              onError(e);
 -            }
 -          }
 -          public void onError(java.lang.Exception e) {
 -            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
 -            org.apache.thrift.TSerializable msg;
 -            addGatewayUsageReportingCommand_result result = new addGatewayUsageReportingCommand_result();
 -            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
 -              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
 -              result.setRseIsSet(true);
 -              msg = result;
 -            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
 -              _LOGGER.error("TTransportException inside handler", e);
 -              fb.close();
 -              return;
 -            } else if (e instanceof org.apache.thrift.TApplicationException) {
 -              _LOGGER.error("TApplicationException inside handler", e);
 -              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
 -              msg = (org.apache.thrift.TApplicationException)e;
 -            } else {
 -              _LOGGER.error("Exception inside handler", e);
 -              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
 -              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
 -            }
 -            try {
 -              fcall.sendResponse(fb,msg,msgType,seqid);
 -            } catch (java.lang.Exception ex) {
 -              _LOGGER.error("Exception writing to internal frame buffer", ex);
 -              fb.close();
 -            }
 -          }
 -        };
 -      }
 -
 -      protected boolean isOneway() {
 -        return false;
 -      }
 -
 -      public void start(I iface, addGatewayUsageReportingCommand_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
 -        iface.addGatewayUsageReportingCommand(args.command,resultHandler);
 -      }
 -    }
 -
 -    public static class removeGatewayUsageReportingCommand<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeGatewayUsageReportingCommand_args, Void> {
 -      public removeGatewayUsageReportingCommand() {
 -        super("removeGatewayUsageReportingCommand");
 -      }
 -
 -      public removeGatewayUsageReportingCommand_args getEmptyArgsInstance() {
 -        return new removeGatewayUsageReportingCommand_args();
 -      }
 -
 -      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
 -        final org.apache.thrift.AsyncProcessFunction fcall = this;
 -        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
 -          public void onComplete(Void o) {
 -            removeGatewayUsageReportingCommand_result result = new removeGatewayUsageReportingCommand_result();
 -            try {
 -              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
 -            } catch (org.apache.thrift.transport.TTransportException e) {
 -              _LOGGER.error("TTransportException writing to internal frame buffer", e);
 -              fb.close();
 -            } catch (java.lang.Exception e) {
 -              _LOGGER.error("Exception writing to internal frame buffer", e);
 -              onError(e);
 -            }
 -          }
 -          public void onError(java.lang.Exception e) {
 -            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
 -            org.apache.thrift.TSerializable msg;
 -            removeGatewayUsageReportingCommand_result result = new removeGatewayUsageReportingCommand_result();
 -            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
 -              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
 -              result.setRseIsSet(true);
 -              msg = result;
 -            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
 -              _LOGGER.error("TTransportException inside handler", e);
 -              fb.close();
 -              return;
 -            } else if (e instanceof org.apache.thrift.TApplicationException) {
 -              _LOGGER.error("TApplicationException inside handler", e);
 -              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
 -              msg = (org.apache.thrift.TApplicationException)e;
 -            } else {
 -              _LOGGER.error("Exception inside handler", e);
 -              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
 -              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
 -            }
 -            try {
 -              fcall.sendResponse(fb,msg,msgType,seqid);
 -            } catch (java.lang.Exception ex) {
 -              _LOGGER.error("Exception writing to internal frame buffer", ex);
 -              fb.close();
 -            }
 -          }
 -        };
 -      }
 -
 -      protected boolean isOneway() {
 -        return false;
 -      }
 -
 -      public void start(I iface, removeGatewayUsageReportingCommand_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
 -        iface.removeGatewayUsageReportingCommand(args.gatewayId, args.computeResourceId,resultHandler);
 -      }
 -    }
 -
+   }
+ 
+   public static class 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);
+         }
        }
  
-       public saveTransfer_args getEmptyArgsInstance() {
-         return new saveTransfer_args();
+       /**
+        * 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;
+         }
        }
  
-       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
-         final org.apache.thrift.AsyncProcessFunction fcall = this;
-         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
-           public void onComplete(Void o) {
-             saveTransfer_result result = new saveTransfer_result();
-             try {
-               fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-             } catch (org.apache.thrift.transport.TTransportException e) {
-               _LOGGER.error("TTransportException writing to internal frame buffer", e);
-               fb.close();
-             } catch (java.lang.Exception e) {
-               _LOGGER.error("Exception writing to internal frame buffer", e);
-               onError(e);
-             }
-           }
-           public void onError(java.lang.Exception e) {
-             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-             org.apache.thrift.TSerializable msg;
-             saveTransfer_result result = new saveTransfer_result();
-             if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
-               result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
-               result.setRseIsSet(true);
-               msg = result;
-             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
-               _LOGGER.error("TTransportException inside handler", e);
-               fb.close();
-               return;
-             } else if (e instanceof org.apache.thrift.TApplicationException) {
-               _LOGGER.error("TApplicationException inside handler", e);
-               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-               msg = (org.apache.thrift.TApplicationException)e;
-             } else {
-               _LOGGER.error("Exception inside handler", e);
-               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-               msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-             }
-             try {
-               fcall.sendResponse(fb,msg,msgType,seqid);
-             } catch (java.lang.Exception ex) {
-               _LOGGER.error("Exception writing to internal frame buffer", ex);
-               fb.close();
-             }
-           }
-         };
+       /**
+        * 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;
        }
  
-       protected boolean isOneway() {
-         return false;
+       /**
+        * 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);
        }
  
-       public void start(I iface, saveTransfer_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
-         iface.saveTransfer(args.transferModel,resultHandler);
+       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;
        }
      }
  
@@@ -199743,2445 -203162,14 +199302,14 @@@
  
      @Override
      public java.lang.String toString() {
-       java.lang.StringBuilder sb = new java.lang.StringBuilder("getGroupComputeResourcePolicyList_args(");
-       boolean first = true;
- 
-       sb.append("groupResourceProfileId:");
-       if (this.groupResourceProfileId == null) {
-         sb.append("null");
-       } else {
-         sb.append(this.groupResourceProfileId);
-       }
-       first = false;
-       sb.append(")");
-       return sb.toString();
-     }
- 
-     public void validate() throws org.apache.thrift.TException {
-       // check for required fields
-       if (groupResourceProfileId == null) {
-         throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupResourceProfileId' was not present! Struct: " + toString());
-       }
-       // check for sub-struct validity
-     }
- 
-     private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-       try {
-         write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-       } catch (org.apache.thrift.TException te) {
-         throw new java.io.IOException(te);
-       }
-     }
- 
-     private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-       try {
-         read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-       } catch (org.apache.thrift.TException te) {
-         throw new java.io.IOException(te);
-       }
-     }
- 
-     private static class getGroupComputeResourcePolicyList_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public getGroupComputeResourcePolicyList_argsStandardScheme getScheme() {
-         return new getGroupComputeResourcePolicyList_argsStandardScheme();
-       }
-     }
- 
-     private static class getGroupComputeResourcePolicyList_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePolicyList_args> {
- 
-       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePolicyList_args struct) throws org.apache.thrift.TException {
-         org.apache.thrift.protocol.TField schemeField;
-         iprot.readStructBegin();
-         while (true)
-         {
-           schemeField = iprot.readFieldBegin();
-           if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-             break;
-           }
-           switch (schemeField.id) {
-             case 1: // GROUP_RESOURCE_PROFILE_ID
-               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                 struct.groupResourceProfileId = iprot.readString();
-                 struct.setGroupResourceProfileIdIsSet(true);
-               } else { 
-                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-               }
-               break;
-             default:
-               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-           }
-           iprot.readFieldEnd();
-         }
-         iprot.readStructEnd();
- 
-         // check for required fields of primitive type, which can't be checked in the validate method
-         struct.validate();
-       }
- 
-       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupComputeResourcePolicyList_args struct) throws org.apache.thrift.TException {
-         struct.validate();
- 
-         oprot.writeStructBegin(STRUCT_DESC);
-         if (struct.groupResourceProfileId != null) {
-           oprot.writeFieldBegin(GROUP_RESOURCE_PROFILE_ID_FIELD_DESC);
-           oprot.writeString(struct.groupResourceProfileId);
-           oprot.writeFieldEnd();
-         }
-         oprot.writeFieldStop();
-         oprot.writeStructEnd();
-       }
- 
-     }
- 
-     private static class getGroupComputeResourcePolicyList_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public getGroupComputeResourcePolicyList_argsTupleScheme getScheme() {
-         return new getGroupComputeResourcePolicyList_argsTupleScheme();
-       }
-     }
- 
-     private static class getGroupComputeResourcePolicyList_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupComputeResourcePolicyList_args> {
- 
-       @Override
-       public void write(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePolicyList_args struct) throws org.apache.thrift.TException {
-         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-         oprot.writeString(struct.groupResourceProfileId);
-       }
- 
-       @Override
-       public void read(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePolicyList_args struct) throws org.apache.thrift.TException {
-         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-         struct.groupResourceProfileId = iprot.readString();
-         struct.setGroupResourceProfileIdIsSet(true);
-       }
-     }
- 
-     private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-       return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-     }
-   }
- 
-   public static class getGroupComputeResourcePolicyList_result implements org.apache.thrift.TBase<getGroupComputeResourcePolicyList_result, getGroupComputeResourcePolicyList_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePolicyList_result>   {
-     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePolicyList_result");
- 
-     private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
-     private static final org.apache.thrift.protocol.TField RSE_FIELD_DESC = new org.apache.thrift.protocol.TField("rse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
- 
-     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePolicyList_resultStandardSchemeFactory();
-     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePolicyList_resultTupleSchemeFactory();
- 
-     public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> success; // required
-     public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
- 
-     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-       SUCCESS((short)0, "success"),
-       RSE((short)1, "rse");
- 
-       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
- 
-       static {
-         for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-           byName.put(field.getFieldName(), field);
-         }
-       }
- 
-       /**
-        * Find the _Fields constant that matches fieldId, or null if its not found.
-        */
-       public static _Fields findByThriftId(int fieldId) {
-         switch(fieldId) {
-           case 0: // SUCCESS
-             return SUCCESS;
-           case 1: // RSE
-             return RSE;
-           default:
-             return null;
-         }
-       }
- 
-       /**
-        * Find the _Fields constant that matches fieldId, throwing an exception
-        * if it is not found.
-        */
-       public static _Fields findByThriftIdOrThrow(int fieldId) {
-         _Fields fields = findByThriftId(fieldId);
-         if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-         return fields;
-       }
- 
-       /**
-        * Find the _Fields constant that matches name, or null if its not found.
-        */
-       public static _Fields findByName(java.lang.String name) {
-         return byName.get(name);
-       }
- 
-       private final short _thriftId;
-       private final java.lang.String _fieldName;
- 
-       _Fields(short thriftId, java.lang.String fieldName) {
-         _thriftId = thriftId;
-         _fieldName = fieldName;
-       }
- 
-       public short getThriftFieldId() {
-         return _thriftId;
-       }
- 
-       public java.lang.String getFieldName() {
-         return _fieldName;
-       }
-     }
- 
-     // isset id assignments
-     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-     static {
-       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-           new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
-               new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy.class))));
-       tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
-       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGroupComputeResourcePolicyList_result.class, metaDataMap);
-     }
- 
-     public getGroupComputeResourcePolicyList_result() {
-     }
- 
-     public getGroupComputeResourcePolicyList_result(
-       java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> success,
-       org.apache.airavata.registry.api.exception.RegistryServiceException rse)
-     {
-       this();
-       this.success = success;
-       this.rse = rse;
-     }
- 
-     /**
-      * Performs a deep copy on <i>other</i>.
-      */
-     public getGroupComputeResourcePolicyList_result(getGroupComputeResourcePolicyList_result other) {
-       if (other.isSetSuccess()) {
-         java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> __this__success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>(other.success.size());
-         for (org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy other_element : other.success) {
-           __this__success.add(new org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy(other_element));
-         }
-         this.success = __this__success;
-       }
-       if (other.isSetRse()) {
-         this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
-       }
-     }
- 
-     public getGroupComputeResourcePolicyList_result deepCopy() {
-       return new getGroupComputeResourcePolicyList_result(this);
-     }
- 
-     @Override
-     public void clear() {
-       this.success = null;
-       this.rse = null;
-     }
- 
-     public int getSuccessSize() {
-       return (this.success == null) ? 0 : this.success.size();
-     }
- 
-     public java.util.Iterator<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> getSuccessIterator() {
-       return (this.success == null) ? null : this.success.iterator();
-     }
- 
-     public void addToSuccess(org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy elem) {
-       if (this.success == null) {
-         this.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>();
-       }
-       this.success.add(elem);
-     }
- 
-     public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> getSuccess() {
-       return this.success;
-     }
- 
-     public getGroupComputeResourcePolicyList_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> success) {
-       this.success = success;
-       return this;
-     }
- 
-     public void unsetSuccess() {
-       this.success = null;
-     }
- 
-     /** Returns true if field success is set (has been assigned a value) and false otherwise */
-     public boolean isSetSuccess() {
-       return this.success != null;
-     }
- 
-     public void setSuccessIsSet(boolean value) {
-       if (!value) {
-         this.success = null;
-       }
-     }
- 
-     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
-       return this.rse;
-     }
- 
-     public getGroupComputeResourcePolicyList_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
-       this.rse = rse;
-       return this;
-     }
- 
-     public void unsetRse() {
-       this.rse = null;
-     }
- 
-     /** Returns true if field rse is set (has been assigned a value) and false otherwise */
-     public boolean isSetRse() {
-       return this.rse != null;
-     }
- 
-     public void setRseIsSet(boolean value) {
-       if (!value) {
-         this.rse = null;
-       }
-     }
- 
-     public void setFieldValue(_Fields field, java.lang.Object value) {
-       switch (field) {
-       case SUCCESS:
-         if (value == null) {
-           unsetSuccess();
-         } else {
-           setSuccess((java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>)value);
-         }
-         break;
- 
-       case RSE:
-         if (value == null) {
-           unsetRse();
-         } else {
-           setRse((org.apache.airavata.registry.api.exception.RegistryServiceException)value);
-         }
-         break;
- 
-       }
-     }
- 
-     public java.lang.Object getFieldValue(_Fields field) {
-       switch (field) {
-       case SUCCESS:
-         return getSuccess();
- 
-       case RSE:
-         return getRse();
- 
-       }
-       throw new java.lang.IllegalStateException();
-     }
- 
-     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-     public boolean isSet(_Fields field) {
-       if (field == null) {
-         throw new java.lang.IllegalArgumentException();
-       }
- 
-       switch (field) {
-       case SUCCESS:
-         return isSetSuccess();
-       case RSE:
-         return isSetRse();
-       }
-       throw new java.lang.IllegalStateException();
-     }
- 
-     @Override
-     public boolean equals(java.lang.Object that) {
-       if (that == null)
-         return false;
-       if (that instanceof getGroupComputeResourcePolicyList_result)
-         return this.equals((getGroupComputeResourcePolicyList_result)that);
-       return false;
-     }
- 
-     public boolean equals(getGroupComputeResourcePolicyList_result that) {
-       if (that == null)
-         return false;
-       if (this == that)
-         return true;
- 
-       boolean this_present_success = true && this.isSetSuccess();
-       boolean that_present_success = true && that.isSetSuccess();
-       if (this_present_success || that_present_success) {
-         if (!(this_present_success && that_present_success))
-           return false;
-         if (!this.success.equals(that.success))
-           return false;
-       }
- 
-       boolean this_present_rse = true && this.isSetRse();
-       boolean that_present_rse = true && that.isSetRse();
-       if (this_present_rse || that_present_rse) {
-         if (!(this_present_rse && that_present_rse))
-           return false;
-         if (!this.rse.equals(that.rse))
-           return false;
-       }
- 
-       return true;
-     }
- 
-     @Override
-     public int hashCode() {
-       int hashCode = 1;
- 
-       hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
-       if (isSetSuccess())
-         hashCode = hashCode * 8191 + success.hashCode();
- 
-       hashCode = hashCode * 8191 + ((isSetRse()) ? 131071 : 524287);
-       if (isSetRse())
-         hashCode = hashCode * 8191 + rse.hashCode();
- 
-       return hashCode;
-     }
- 
-     @Override
-     public int compareTo(getGroupComputeResourcePolicyList_result other) {
-       if (!getClass().equals(other.getClass())) {
-         return getClass().getName().compareTo(other.getClass().getName());
-       }
- 
-       int lastComparison = 0;
- 
-       lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
-       if (lastComparison != 0) {
-         return lastComparison;
-       }
-       if (isSetSuccess()) {
-         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
-         if (lastComparison != 0) {
-           return lastComparison;
-         }
-       }
-       lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
-       if (lastComparison != 0) {
-         return lastComparison;
-       }
-       if (isSetRse()) {
-         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rse, other.rse);
-         if (lastComparison != 0) {
-           return lastComparison;
-         }
-       }
-       return 0;
-     }
- 
-     public _Fields fieldForId(int fieldId) {
-       return _Fields.findByThriftId(fieldId);
-     }
- 
-     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-       scheme(iprot).read(iprot, this);
-     }
- 
-     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-       scheme(oprot).write(oprot, this);
-       }
- 
-     @Override
-     public java.lang.String toString() {
-       java.lang.StringBuilder sb = new java.lang.StringBuilder("getGroupComputeResourcePolicyList_result(");
-       boolean first = true;
- 
-       sb.append("success:");
-       if (this.success == null) {
-         sb.append("null");
-       } else {
-         sb.append(this.success);
-       }
-       first = false;
-       if (!first) sb.append(", ");
-       sb.append("rse:");
-       if (this.rse == null) {
-         sb.append("null");
-       } else {
-         sb.append(this.rse);
-       }
-       first = false;
-       sb.append(")");
-       return sb.toString();
-     }
- 
-     public void validate() throws org.apache.thrift.TException {
-       // check for required fields
-       // check for sub-struct validity
-     }
- 
-     private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-       try {
-         write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-       } catch (org.apache.thrift.TException te) {
-         throw new java.io.IOException(te);
-       }
-     }
- 
-     private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-       try {
-         read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-       } catch (org.apache.thrift.TException te) {
-         throw new java.io.IOException(te);
-       }
-     }
- 
-     private static class getGroupComputeResourcePolicyList_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public getGroupComputeResourcePolicyList_resultStandardScheme getScheme() {
-         return new getGroupComputeResourcePolicyList_resultStandardScheme();
-       }
-     }
- 
-     private static class getGroupComputeResourcePolicyList_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePolicyList_result> {
- 
-       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePolicyList_result struct) throws org.apache.thrift.TException {
-         org.apache.thrift.protocol.TField schemeField;
-         iprot.readStructBegin();
-         while (true)
-         {
-           schemeField = iprot.readFieldBegin();
-           if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-             break;
-           }
-           switch (schemeField.id) {
-             case 0: // SUCCESS
-               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-                 {
-                   org.apache.thrift.protocol.TList _list490 = iprot.readListBegin();
-                   struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>(_list490.size);
-                   org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy _elem491;
-                   for (int _i492 = 0; _i492 < _list490.size; ++_i492)
-                   {
-                     _elem491 = new org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy();
-                     _elem491.read(iprot);
-                     struct.success.add(_elem491);
-                   }
-                   iprot.readListEnd();
-                 }
-                 struct.setSuccessIsSet(true);
-               } else { 
-                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-               }
-               break;
-             case 1: // RSE
-               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                 struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
-                 struct.rse.read(iprot);
-                 struct.setRseIsSet(true);
-               } else { 
-                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-               }
-               break;
-             default:
-               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-           }
-           iprot.readFieldEnd();
-         }
-         iprot.readStructEnd();
- 
-         // check for required fields of primitive type, which can't be checked in the validate method
-         struct.validate();
-       }
- 
-       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupComputeResourcePolicyList_result struct) throws org.apache.thrift.TException {
-         struct.validate();
- 
-         oprot.writeStructBegin(STRUCT_DESC);
-         if (struct.success != null) {
-           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-           {
-             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-             for (org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy _iter493 : struct.success)
-             {
-               _iter493.write(oprot);
-             }
-             oprot.writeListEnd();
-           }
-           oprot.writeFieldEnd();
-         }
-         if (struct.rse != null) {
-           oprot.writeFieldBegin(RSE_FIELD_DESC);
-           struct.rse.write(oprot);
-           oprot.writeFieldEnd();
-         }
-         oprot.writeFieldStop();
-         oprot.writeStructEnd();
-       }
- 
-     }
- 
-     private static class getGroupComputeResourcePolicyList_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public getGroupComputeResourcePolicyList_resultTupleScheme getScheme() {
-         return new getGroupComputeResourcePolicyList_resultTupleScheme();
-       }
-     }
- 
-     private static class getGroupComputeResourcePolicyList_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupComputeResourcePolicyList_result> {
- 
-       @Override
-       public void write(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePolicyList_result struct) throws org.apache.thrift.TException {
-         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-         java.util.BitSet optionals = new java.util.BitSet();
-         if (struct.isSetSuccess()) {
-           optionals.set(0);
-         }
-         if (struct.isSetRse()) {
-           optionals.set(1);
-         }
-         oprot.writeBitSet(optionals, 2);
-         if (struct.isSetSuccess()) {
-           {
-             oprot.writeI32(struct.success.size());
-             for (org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy _iter494 : struct.success)
-             {
-               _iter494.write(oprot);
-             }
-           }
-         }
-         if (struct.isSetRse()) {
-           struct.rse.write(oprot);
-         }
-       }
- 
-       @Override
-       public void read(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePolicyList_result struct) throws org.apache.thrift.TException {
-         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-         java.util.BitSet incoming = iprot.readBitSet(2);
-         if (incoming.get(0)) {
-           {
-             org.apache.thrift.protocol.TList _list495 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-             struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>(_list495.size);
-             org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy _elem496;
-             for (int _i497 = 0; _i497 < _list495.size; ++_i497)
-             {
-               _elem496 = new org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy();
-               _elem496.read(iprot);
-               struct.success.add(_elem496);
-             }
-           }
-           struct.setSuccessIsSet(true);
-         }
-         if (incoming.get(1)) {
-           struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
-           struct.rse.read(iprot);
-           struct.setRseIsSet(true);
-         }
-       }
-     }
- 
-     private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-       return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-     }
-   }
- 
-   public static class createGatewayGroups_args implements org.apache.thrift.TBase<createGatewayGroups_args, createGatewayGroups_args._Fields>, java.io.Serializable, Cloneable, Comparable<createGatewayGroups_args>   {
-     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createGatewayGroups_args");
- 
-     private static final org.apache.thrift.protocol.TField GATEWAY_GROUPS_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayGroups", org.apache.thrift.protocol.TType.STRUCT, (short)1);
- 
-     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createGatewayGroups_argsStandardSchemeFactory();
-     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createGatewayGroups_argsTupleSchemeFactory();
- 
-     public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups; // required
- 
-     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-       GATEWAY_GROUPS((short)1, "gatewayGroups");
- 
-       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
- 
-       static {
-         for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-           byName.put(field.getFieldName(), field);
-         }
-       }
- 
-       /**
-        * Find the _Fields constant that matches fieldId, or null if its not found.
-        */
-       public static _Fields findByThriftId(int fieldId) {
-         switch(fieldId) {
-           case 1: // GATEWAY_GROUPS
-             return GATEWAY_GROUPS;
-           default:
-             return null;
-         }
-       }
- 
-       /**
-        * Find the _Fields constant that matches fieldId, throwing an exception
-        * if it is not found.
-        */
-       public static _Fields findByThriftIdOrThrow(int fieldId) {
-         _Fields fields = findByThriftId(fieldId);
-         if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-         return fields;
-       }
- 
-       /**
-        * Find the _Fields constant that matches name, or null if its not found.
-        */
-       public static _Fields findByName(java.lang.String name) {
-         return byName.get(name);
-       }
- 
-       private final short _thriftId;
-       private final java.lang.String _fieldName;
- 
-       _Fields(short thriftId, java.lang.String fieldName) {
-         _thriftId = thriftId;
-         _fieldName = fieldName;
-       }
- 
-       public short getThriftFieldId() {
-         return _thriftId;
-       }
- 
-       public java.lang.String getFieldName() {
-         return _fieldName;
-       }
-     }
- 
-     // isset id assignments
-     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-     static {
-       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-       tmpMap.put(_Fields.GATEWAY_GROUPS, new org.apache.thrift.meta_data.FieldMetaData("gatewayGroups", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups.class)));
-       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createGatewayGroups_args.class, metaDataMap);
-     }
- 
-     public createGatewayGroups_args() {
-     }
- 
-     public createGatewayGroups_args(
-       org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups)
-     {
-       this();
-       this.gatewayGroups = gatewayGroups;
-     }
- 
-     /**
-      * Performs a deep copy on <i>other</i>.
-      */
-     public createGatewayGroups_args(createGatewayGroups_args other) {
-       if (other.isSetGatewayGroups()) {
-         this.gatewayGroups = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups(other.gatewayGroups);
-       }
-     }
- 
-     public createGatewayGroups_args deepCopy() {
-       return new createGatewayGroups_args(this);
-     }
- 
-     @Override
-     public void clear() {
-       this.gatewayGroups = null;
-     }
- 
-     public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups getGatewayGroups() {
-       return this.gatewayGroups;
-     }
- 
-     public createGatewayGroups_args setGatewayGroups(org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups) {
-       this.gatewayGroups = gatewayGroups;
-       return this;
-     }
- 
-     public void unsetGatewayGroups() {
-       this.gatewayGroups = null;
-     }
- 
-     /** Returns true if field gatewayGroups is set (has been assigned a value) and false otherwise */
-     public boolean isSetGatewayGroups() {
-       return this.gatewayGroups != null;
-     }
- 
-     public void setGatewayGroupsIsSet(boolean value) {
-       if (!value) {
-         this.gatewayGroups = null;
-       }
-     }
- 
-     public void setFieldValue(_Fields field, java.lang.Object value) {
-       switch (field) {
-       case GATEWAY_GROUPS:
-         if (value == null) {
-           unsetGatewayGroups();
-         } else {
-           setGatewayGroups((org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups)value);
-         }
-         break;
- 
-       }
-     }
- 
-     public java.lang.Object getFieldValue(_Fields field) {
-       switch (field) {
-       case GATEWAY_GROUPS:
-         return getGatewayGroups();
- 
-       }
-       throw new java.lang.IllegalStateException();
-     }
- 
-     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-     public boolean isSet(_Fields field) {
-       if (field == null) {
-         throw new java.lang.IllegalArgumentException();
-       }
- 
-       switch (field) {
-       case GATEWAY_GROUPS:
-         return isSetGatewayGroups();
-       }
-       throw new java.lang.IllegalStateException();
-     }
- 
-     @Override
-     public boolean equals(java.lang.Object that) {
-       if (that == null)
-         return false;
-       if (that instanceof createGatewayGroups_args)
-         return this.equals((createGatewayGroups_args)that);
-       return false;
-     }
- 
-     public boolean equals(createGatewayGroups_args that) {
-       if (that == null)
-         return false;
-       if (this == that)
-         return true;
- 
-       boolean this_present_gatewayGroups = true && this.isSetGatewayGroups();
-       boolean that_present_gatewayGroups = true && that.isSetGatewayGroups();
-       if (this_present_gatewayGroups || that_present_gatewayGroups) {
-         if (!(this_present_gatewayGroups && that_present_gatewayGroups))
-           return false;
-         if (!this.gatewayGroups.equals(that.gatewayGroups))
-           return false;
-       }
- 
-       return true;
-     }
- 
-     @Override
-     public int hashCode() {
-       int hashCode = 1;
- 
-       hashCode = hashCode * 8191 + ((isSetGatewayGroups()) ? 131071 : 524287);
-       if (isSetGatewayGroups())
-         hashCode = hashCode * 8191 + gatewayGroups.hashCode();
- 
-       return hashCode;
-     }
- 
-     @Override
-     public int compareTo(createGatewayGroups_args other) {
-       if (!getClass().equals(other.getClass())) {
-         return getClass().getName().compareTo(other.getClass().getName());
-       }
- 
-       int lastComparison = 0;
- 
-       lastComparison = java.lang.Boolean.valueOf(isSetGatewayGroups()).compareTo(other.isSetGatewayGroups());
-       if (lastComparison != 0) {
-         return lastComparison;
-       }
-       if (isSetGatewayGroups()) {
-         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayGroups, other.gatewayGroups);
-         if (lastComparison != 0) {
-           return lastComparison;
-         }
-       }
-       return 0;
-     }
- 
-     public _Fields fieldForId(int fieldId) {
-       return _Fields.findByThriftId(fieldId);
-     }
- 
-     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-       scheme(iprot).read(iprot, this);
-     }
- 
-     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-       scheme(oprot).write(oprot, this);
-     }
- 
-     @Override
-     public java.lang.String toString() {
-       java.lang.StringBuilder sb = new java.lang.StringBuilder("createGatewayGroups_args(");
-       boolean first = true;
- 
-       sb.append("gatewayGroups:");
-       if (this.gatewayGroups == null) {
-         sb.append("null");
-       } else {
-         sb.append(this.gatewayGroups);
-       }
-       first = false;
-       sb.append(")");
-       return sb.toString();
-     }
- 
-     public void validate() throws org.apache.thrift.TException {
-       // check for required fields
-       if (gatewayGroups == null) {
-         throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayGroups' was not present! Struct: " + toString());
-       }
-       // check for sub-struct validity
-       if (gatewayGroups != null) {
-         gatewayGroups.validate();
-       }
-     }
- 
-     private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-       try {
-         write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-       } catch (org.apache.thrift.TException te) {
-         throw new java.io.IOException(te);
-       }
-     }
- 
-     private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-       try {
-         read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-       } catch (org.apache.thrift.TException te) {
-         throw new java.io.IOException(te);
-       }
-     }
- 
-     private static class createGatewayGroups_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public createGatewayGroups_argsStandardScheme getScheme() {
-         return new createGatewayGroups_argsStandardScheme();
-       }
-     }
- 
-     private static class createGatewayGroups_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<createGatewayGroups_args> {
- 
-       public void read(org.apache.thrift.protocol.TProtocol iprot, createGatewayGroups_args struct) throws org.apache.thrift.TException {
-         org.apache.thrift.protocol.TField schemeField;
-         iprot.readStructBegin();
-         while (true)
-         {
-           schemeField = iprot.readFieldBegin();
-           if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-             break;
-           }
-           switch (schemeField.id) {
-             case 1: // GATEWAY_GROUPS
-               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                 struct.gatewayGroups = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups();
-                 struct.gatewayGroups.read(iprot);
-                 struct.setGatewayGroupsIsSet(true);
-               } else { 
-                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-               }
-               break;
-             default:
-               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-           }
-           iprot.readFieldEnd();
-         }
-         iprot.readStructEnd();
- 
-         // check for required fields of primitive type, which can't be checked in the validate method
-         struct.validate();
-       }
- 
-       public void write(org.apache.thrift.protocol.TProtocol oprot, createGatewayGroups_args struct) throws org.apache.thrift.TException {
-         struct.validate();
- 
-         oprot.writeStructBegin(STRUCT_DESC);
-         if (struct.gatewayGroups != null) {
-           oprot.writeFieldBegin(GATEWAY_GROUPS_FIELD_DESC);
-           struct.gatewayGroups.write(oprot);
-           oprot.writeFieldEnd();
-         }
-         oprot.writeFieldStop();
-         oprot.writeStructEnd();
-       }
- 
-     }
- 
-     private static class createGatewayGroups_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public createGatewayGroups_argsTupleScheme getScheme() {
-         return new createGatewayGroups_argsTupleScheme();
-       }
-     }
- 
-     private static class createGatewayGroups_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<createGatewayGroups_args> {
- 
-       @Override
-       public void write(org.apache.thrift.protocol.TProtocol prot, createGatewayGroups_args struct) throws org.apache.thrift.TException {
-         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-         struct.gatewayGroups.write(oprot);
-       }
- 
-       @Override
-       public void read(org.apache.thrift.protocol.TProtocol prot, createGatewayGroups_args struct) throws org.apache.thrift.TException {
-         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-         struct.gatewayGroups = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups();
-         struct.gatewayGroups.read(iprot);
-         struct.setGatewayGroupsIsSet(true);
-       }
-     }
- 
-     private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-       return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-     }
-   }
- 
-   public static class createGatewayGroups_result implements org.apache.thrift.TBase<createGatewayGroups_result, createGatewayGroups_result._Fields>, java.io.Serializable, Cloneable, Comparable<createGatewayGroups_result>   {
-     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createGatewayGroups_result");
- 
-     private static final org.apache.thrift.protocol.TField RSE_FIELD_DESC = new org.apache.thrift.protocol.TField("rse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-     private static final org.apache.thrift.protocol.TField DEE_FIELD_DESC = new org.apache.thrift.protocol.TField("dee", org.apache.thrift.protocol.TType.STRUCT, (short)2);
- 
-     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createGatewayGroups_resultStandardSchemeFactory();
-     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createGatewayGroups_resultTupleSchemeFactory();
- 
-     public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
-     public org.apache.airavata.model.error.DuplicateEntryException dee; // required
- 
-     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-       RSE((short)1, "rse"),
-       DEE((short)2, "dee");
- 
-       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
- 
-       static {
-         for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-           byName.put(field.getFieldName(), field);
-         }
-       }
- 
-       /**
-        * Find the _Fields constant that matches fieldId, or null if its not found.
-        */
-       public static _Fields findByThriftId(int fieldId) {
-         switch(fieldId) {
-           case 1: // RSE
-             return RSE;
-           case 2: // DEE
-             return DEE;
-           default:
-             return null;
-         }
-       }
- 
-       /**
-        * Find the _Fields constant that matches fieldId, throwing an exception
-        * if it is not found.
-        */
-       public static _Fields findByThriftIdOrThrow(int fieldId) {
-         _Fields fields = findByThriftId(fieldId);
-         if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-         return fields;
-       }
- 
-       /**
-        * Find the _Fields constant that matches name, or null if its not found.
-        */
-       public static _Fields findByName(java.lang.String name) {
-         return byName.get(name);
-       }
- 
-       private final short _thriftId;
-       private final java.lang.String _fieldName;
- 
-       _Fields(short thriftId, java.lang.String fieldName) {
-         _thriftId = thriftId;
-         _fieldName = fieldName;
-       }
- 
-       public short getThriftFieldId() {
-         return _thriftId;
-       }
- 
-       public java.lang.String getFieldName() {
-         return _fieldName;
-       }
-     }
- 
-     // isset id assignments
-     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-     static {
-       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-       tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
-       tmpMap.put(_Fields.DEE, new org.apache.thrift.meta_data.FieldMetaData("dee", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.error.DuplicateEntryException.class)));
-       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createGatewayGroups_result.class, metaDataMap);
-     }
- 
-     public createGatewayGroups_result() {
-     }
- 
-     public createGatewayGroups_result(
-       org.apache.airavata.registry.api.exception.RegistryServiceException rse,
-       org.apache.airavata.model.error.DuplicateEntryException dee)
-     {
-       this();
-       this.rse = rse;
-       this.dee = dee;
-     }
- 
-     /**
-      * Performs a deep copy on <i>other</i>.
-      */
-     public createGatewayGroups_result(createGatewayGroups_result other) {
-       if (other.isSetRse()) {
-         this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
-       }
-       if (other.isSetDee()) {
-         this.dee = new org.apache.airavata.model.error.DuplicateEntryException(other.dee);
-       }
-     }
- 
-     public createGatewayGroups_result deepCopy() {
-       return new createGatewayGroups_result(this);
-     }
- 
-     @Override
-     public void clear() {
-       this.rse = null;
-       this.dee = null;
-     }
- 
-     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
-       return this.rse;
-     }
- 
-     public createGatewayGroups_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
-       this.rse = rse;
-       return this;
-     }
- 
-     public void unsetRse() {
-       this.rse = null;
-     }
- 
-     /** Returns true if field rse is set (has been assigned a value) and false otherwise */
-     public boolean isSetRse() {
-       return this.rse != null;
-     }
- 
-     public void setRseIsSet(boolean value) {
-       if (!value) {
-         this.rse = null;
-       }
-     }
- 
-     public org.apache.airavata.model.error.DuplicateEntryException getDee() {
-       return this.dee;
-     }
- 
-     public createGatewayGroups_result setDee(org.apache.airavata.model.error.DuplicateEntryException dee) {
-       this.dee = dee;
-       return this;
-     }
- 
-     public void unsetDee() {
-       this.dee = null;
-     }
- 
-     /** Returns true if field dee is set (has been assigned a value) and false otherwise */
-     public boolean isSetDee() {
-       return this.dee != null;
-     }
- 
-     public void setDeeIsSet(boolean value) {
-       if (!value) {
-         this.dee = null;
-       }
-     }
- 
-     public void setFieldValue(_Fields field, java.lang.Object value) {
-       switch (field) {
-       case RSE:
-         if (value == null) {
-           unsetRse();
-         } else {
-           setRse((org.apache.airavata.registry.api.exception.RegistryServiceException)value);
-         }
-         break;
- 
-       case DEE:
-         if (value == null) {
-           unsetDee();
-         } else {
-           setDee((org.apache.airavata.model.error.DuplicateEntryException)value);
-         }
-         break;
- 
-       }
-     }
- 
-     public java.lang.Object getFieldValue(_Fields field) {
-       switch (field) {
-       case RSE:
-         return getRse();
- 
-       case DEE:
-         return getDee();
- 
-       }
-       throw new java.lang.IllegalStateException();
-     }
- 
-     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-     public boolean isSet(_Fields field) {
-       if (field == null) {
-         throw new java.lang.IllegalArgumentException();
-       }
- 
-       switch (field) {
-       case RSE:
-         return isSetRse();
-       case DEE:
-         return isSetDee();
-       }
-       throw new java.lang.IllegalStateException();
-     }
- 
-     @Override
-     public boolean equals(java.lang.Object that) {
-       if (that == null)
-         return false;
-       if (that instanceof createGatewayGroups_result)
-         return this.equals((createGatewayGroups_result)that);
-       return false;
-     }
- 
-     public boolean equals(createGatewayGroups_result that) {
-       if (that == null)
-         return false;
-       if (this == that)
-         return true;
- 
-       boolean this_present_rse = true && this.isSetRse();
-       boolean that_present_rse = true && that.isSetRse();
-       if (this_present_rse || that_present_rse) {
-         if (!(this_present_rse && that_present_rse))
-           return false;
-         if (!this.rse.equals(that.rse))
-           return false;
-       }
- 
-       boolean this_present_dee = true && this.isSetDee();
-       boolean that_present_dee = true && that.isSetDee();
-       if (this_present_dee || that_present_dee) {
-         if (!(this_present_dee && that_present_dee))
-           return false;
-         if (!this.dee.equals(that.dee))
-           return false;
-       }
- 
-       return true;
-     }
- 
-     @Override
-     public int hashCode() {
-       int hashCode = 1;
- 
-       hashCode = hashCode * 8191 + ((isSetRse()) ? 131071 : 524287);
-       if (isSetRse())
-         hashCode = hashCode * 8191 + rse.hashCode();
- 
-       hashCode = hashCode * 8191 + ((isSetDee()) ? 131071 : 524287);
-       if (isSetDee())
-         hashCode = hashCode * 8191 + dee.hashCode();
- 
-       return hashCode;
-     }
- 
-     @Override
-     public int compareTo(createGatewayGroups_result other) {
-       if (!getClass().equals(other.getClass())) {
-         return getClass().getName().compareTo(other.getClass().getName());
-       }
- 
-       int lastComparison = 0;
- 
-       lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
-       if (lastComparison != 0) {
-         return lastComparison;
-       }
-       if (isSetRse()) {
-         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rse, other.rse);
-         if (lastComparison != 0) {
-           return lastComparison;
-         }
-       }
-       lastComparison = java.lang.Boolean.valueOf(isSetDee()).compareTo(other.isSetDee());
-       if (lastComparison != 0) {
-         return lastComparison;
-       }
-       if (isSetDee()) {
-         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dee, other.dee);
-         if (lastComparison != 0) {
-           return lastComparison;
-         }
-       }
-       return 0;
-     }
- 
-     public _Fields fieldForId(int fieldId) {
-       return _Fields.findByThriftId(fieldId);
-     }
- 
-     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-       scheme(iprot).read(iprot, this);
-     }
- 
-     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-       scheme(oprot).write(oprot, this);
-       }
- 
-     @Override
-     public java.lang.String toString() {
-       java.lang.StringBuilder sb = new java.lang.StringBuilder("createGatewayGroups_result(");
-       boolean first = true;
- 
-       sb.append("rse:");
-       if (this.rse == null) {
-         sb.append("null");
-       } else {
-         sb.append(this.rse);
-       }
-       first = false;
-       if (!first) sb.append(", ");
-       sb.append("dee:");
-       if (this.dee == null) {
-         sb.append("null");
-       } else {
-         sb.append(this.dee);
-       }
-       first = false;
-       sb.append(")");
-       return sb.toString();
-     }
- 
-     public void validate() throws org.apache.thrift.TException {
-       // check for required fields
-       // check for sub-struct validity
-     }
- 
-     private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-       try {
-         write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-       } catch (org.apache.thrift.TException te) {
-         throw new java.io.IOException(te);
-       }
-     }
- 
-     private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-       try {
-         read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-       } catch (org.apache.thrift.TException te) {
-         throw new java.io.IOException(te);
-       }
-     }
- 
-     private static class createGatewayGroups_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public createGatewayGroups_resultStandardScheme getScheme() {
-         return new createGatewayGroups_resultStandardScheme();
-       }
-     }
- 
-     private static class createGatewayGroups_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<createGatewayGroups_result> {
- 
-       public void read(org.apache.thrift.protocol.TProtocol iprot, createGatewayGroups_result struct) throws org.apache.thrift.TException {
-         org.apache.thrift.protocol.TField schemeField;
-         iprot.readStructBegin();
-         while (true)
-         {
-           schemeField = iprot.readFieldBegin();
-           if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-             break;
-           }
-           switch (schemeField.id) {
-             case 1: // RSE
-               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                 struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
-                 struct.rse.read(iprot);
-                 struct.setRseIsSet(true);
-               } else { 
-                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-               }
-               break;
-             case 2: // DEE
-               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                 struct.dee = new org.apache.airavata.model.error.DuplicateEntryException();
-                 struct.dee.read(iprot);
-                 struct.setDeeIsSet(true);
-               } else { 
-                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-               }
-               break;
-             default:
-               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-           }
-           iprot.readFieldEnd();
-         }
-         iprot.readStructEnd();
- 
-         // check for required fields of primitive type, which can't be checked in the validate method
-         struct.validate();
-       }
- 
-       public void write(org.apache.thrift.protocol.TProtocol oprot, createGatewayGroups_result struct) throws org.apache.thrift.TException {
-         struct.validate();
- 
-         oprot.writeStructBegin(STRUCT_DESC);
-         if (struct.rse != null) {
-           oprot.writeFieldBegin(RSE_FIELD_DESC);
-           struct.rse.write(oprot);
-           oprot.writeFieldEnd();
-         }
-         if (struct.dee != null) {
-           oprot.writeFieldBegin(DEE_FIELD_DESC);
-           struct.dee.write(oprot);
-           oprot.writeFieldEnd();
-         }
-         oprot.writeFieldStop();
-         oprot.writeStructEnd();
-       }
- 
-     }
- 
-     private static class createGatewayGroups_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public createGatewayGroups_resultTupleScheme getScheme() {
-         return new createGatewayGroups_resultTupleScheme();
-       }
-     }
- 
-     private static class createGatewayGroups_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<createGatewayGroups_result> {
- 
-       @Override
-       public void write(org.apache.thrift.protocol.TProtocol prot, createGatewayGroups_result struct) throws org.apache.thrift.TException {
-         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-         java.util.BitSet optionals = new java.util.BitSet();
-         if (struct.isSetRse()) {
-           optionals.set(0);
-         }
-         if (struct.isSetDee()) {
-           optionals.set(1);
-         }
-         oprot.writeBitSet(optionals, 2);
-         if (struct.isSetRse()) {
-           struct.rse.write(oprot);
-         }
-         if (struct.isSetDee()) {
-           struct.dee.write(oprot);
-         }
-       }
- 
-       @Override
-       public void read(org.apache.thrift.protocol.TProtocol prot, createGatewayGroups_result struct) throws org.apache.thrift.TException {
-         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-         java.util.BitSet incoming = iprot.readBitSet(2);
-         if (incoming.get(0)) {
-           struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
-           struct.rse.read(iprot);
-           struct.setRseIsSet(true);
-         }
-         if (incoming.get(1)) {
-           struct.dee = new org.apache.airavata.model.error.DuplicateEntryException();
-           struct.dee.read(iprot);
-           struct.setDeeIsSet(true);
-         }
-       }
-     }
- 
-     private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-       return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-     }
-   }
- 
-   public static class updateGatewayGroups_args implements org.apache.thrift.TBase<updateGatewayGroups_args, updateGatewayGroups_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateGatewayGroups_args>   {
-     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGatewayGroups_args");
- 
-     private static final org.apache.thrift.protocol.TField GATEWAY_GROUPS_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayGroups", org.apache.thrift.protocol.TType.STRUCT, (short)1);
- 
-     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGatewayGroups_argsStandardSchemeFactory();
-     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGatewayGroups_argsTupleSchemeFactory();
- 
-     public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups; // required
- 
-     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-       GATEWAY_GROUPS((short)1, "gatewayGroups");
- 
-       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
- 
-       static {
-         for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-           byName.put(field.getFieldName(), field);
-         }
-       }
- 
-       /**
-        * Find the _Fields constant that matches fieldId, or null if its not found.
-        */
-       public static _Fields findByThriftId(int fieldId) {
-         switch(fieldId) {
-           case 1: // GATEWAY_GROUPS
-             return GATEWAY_GROUPS;
-           default:
-             return null;
-         }
-       }
- 
-       /**
-        * Find the _Fields constant that matches fieldId, throwing an exception
-        * if it is not found.
-        */
-       public static _Fields findByThriftIdOrThrow(int fieldId) {
-         _Fields fields = findByThriftId(fieldId);
-         if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-         return fields;
-       }
- 
-       /**
-        * Find the _Fields constant that matches name, or null if its not found.
-        */
-       public static _Fields findByName(java.lang.String name) {
-         return byName.get(name);
-       }
- 
-       private final short _thriftId;
-       private final java.lang.String _fieldName;
- 
-       _Fields(short thriftId, java.lang.String fieldName) {
-         _thriftId = thriftId;
-         _fieldName = fieldName;
-       }
- 
-       public short getThriftFieldId() {
-         return _thriftId;
-       }
- 
-       public java.lang.String getFieldName() {
-         return _fieldName;
-       }
-     }
- 
-     // isset id assignments
-     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-     static {
-       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-       tmpMap.put(_Fields.GATEWAY_GROUPS, new org.apache.thrift.meta_data.FieldMetaData("gatewayGroups", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups.class)));
-       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateGatewayGroups_args.class, metaDataMap);
-     }
- 
-     public updateGatewayGroups_args() {
-     }
- 
-     public updateGatewayGroups_args(
-       org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups)
-     {
-       this();
-       this.gatewayGroups = gatewayGroups;
-     }
- 
-     /**
-      * Performs a deep copy on <i>other</i>.
-      */
-     public updateGatewayGroups_args(updateGatewayGroups_args other) {
-       if (other.isSetGatewayGroups()) {
-         this.gatewayGroups = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups(other.gatewayGroups);
-       }
-     }
- 
-     public updateGatewayGroups_args deepCopy() {
-       return new updateGatewayGroups_args(this);
-     }
- 
-     @Override
-     public void clear() {
-       this.gatewayGroups = null;
-     }
- 
-     public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups getGatewayGroups() {
-       return this.gatewayGroups;
-     }
- 
-     public updateGatewayGroups_args setGatewayGroups(org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups) {
-       this.gatewayGroups = gatewayGroups;
-       return this;
-     }
- 
-     public void unsetGatewayGroups() {
-       this.gatewayGroups = null;
-     }
- 
-     /** Returns true if field gatewayGroups is set (has been assigned a value) and false otherwise */
-     public boolean isSetGatewayGroups() {
-       return this.gatewayGroups != null;
-     }
- 
-     public void setGatewayGroupsIsSet(boolean value) {
-       if (!value) {
-         this.gatewayGroups = null;
-       }
-     }
- 
-     public void setFieldValue(_Fields field, java.lang.Object value) {
-       switch (field) {
-       case GATEWAY_GROUPS:
-         if (value == null) {
-           unsetGatewayGroups();
-         } else {
-           setGatewayGroups((org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups)value);
-         }
-         break;
- 
-       }
-     }
- 
-     public java.lang.Object getFieldValue(_Fields field) {
-       switch (field) {
-       case GATEWAY_GROUPS:
-         return getGatewayGroups();
- 
-       }
-       throw new java.lang.IllegalStateException();
-     }
- 
-     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-     public boolean isSet(_Fields field) {
-       if (field == null) {
-         throw new java.lang.IllegalArgumentException();
-       }
- 
-       switch (field) {
-       case GATEWAY_GROUPS:
-         return isSetGatewayGroups();
-       }
-       throw new java.lang.IllegalStateException();
-     }
- 
-     @Override
-     public boolean equals(java.lang.Object that) {
-       if (that == null)
-         return false;
-       if (that instanceof updateGatewayGroups_args)
-         return this.equals((updateGatewayGroups_args)that);
-       return false;
-     }
- 
-     public boolean equals(updateGatewayGroups_args that) {
-       if (that == null)
-         return false;
-       if (this == that)
-         return true;
- 
-       boolean this_present_gatewayGroups = true && this.isSetGatewayGroups();
-       boolean that_present_gatewayGroups = true && that.isSetGatewayGroups();
-       if (this_present_gatewayGroups || that_present_gatewayGroups) {
-         if (!(this_present_gatewayGroups && that_present_gatewayGroups))
-           return false;
-         if (!this.gatewayGroups.equals(that.gatewayGroups))
-           return false;
-       }
- 
-       return true;
-     }
- 
-     @Override
-     public int hashCode() {
-       int hashCode = 1;
- 
-       hashCode = hashCode * 8191 + ((isSetGatewayGroups()) ? 131071 : 524287);
-       if (isSetGatewayGroups())
-         hashCode = hashCode * 8191 + gatewayGroups.hashCode();
- 
-       return hashCode;
-     }
- 
-     @Override
-     public int compareTo(updateGatewayGroups_args other) {
-       if (!getClass().equals(other.getClass())) {
-         return getClass().getName().compareTo(other.getClass().getName());
-       }
- 
-       int lastComparison = 0;
- 
-       lastComparison = java.lang.Boolean.valueOf(isSetGatewayGroups()).compareTo(other.isSetGatewayGroups());
-       if (lastComparison != 0) {
-         return lastComparison;
-       }
-       if (isSetGatewayGroups()) {
-         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayGroups, other.gatewayGroups);
-         if (lastComparison != 0) {
-           return lastComparison;
-         }
-       }
-       return 0;
-     }
- 
-     public _Fields fieldForId(int fieldId) {
-       return _Fields.findByThriftId(fieldId);
-     }
- 
-     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-       scheme(iprot).read(iprot, this);
-     }
- 
-     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-       scheme(oprot).write(oprot, this);
-     }
- 
-     @Override
-     public java.lang.String toString() {
-       java.lang.StringBuilder sb = new java.lang.StringBuilder("updateGatewayGroups_args(");
-       boolean first = true;
- 
-       sb.append("gatewayGroups:");
-       if (this.gatewayGroups == null) {
-         sb.append("null");
-       } else {
-         sb.append(this.gatewayGroups);
-       }
-       first = false;
-       sb.append(")");
-       return sb.toString();
-     }
- 
-     public void validate() throws org.apache.thrift.TException {
-       // check for required fields
-       if (gatewayGroups == null) {
-         throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayGroups' was not present! Struct: " + toString());
-       }
-       // check for sub-struct validity
-       if (gatewayGroups != null) {
-         gatewayGroups.validate();
-       }
-     }
- 
-     private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-       try {
-         write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-       } catch (org.apache.thrift.TException te) {
-         throw new java.io.IOException(te);
-       }
-     }
- 
-     private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
-       try {
-         read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-       } catch (org.apache.thrift.TException te) {
-         throw new java.io.IOException(te);
-       }
-     }
- 
-     private static class updateGatewayGroups_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public updateGatewayGroups_argsStandardScheme getScheme() {
-         return new updateGatewayGroups_argsStandardScheme();
-       }
-     }
- 
-     private static class updateGatewayGroups_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGatewayGroups_args> {
- 
-       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGatewayGroups_args struct) throws org.apache.thrift.TException {
-         org.apache.thrift.protocol.TField schemeField;
-         iprot.readStructBegin();
-         while (true)
-         {
-           schemeField = iprot.readFieldBegin();
-           if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-             break;
-           }
-           switch (schemeField.id) {
-             case 1: // GATEWAY_GROUPS
-               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                 struct.gatewayGroups = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups();
-                 struct.gatewayGroups.read(iprot);
-                 struct.setGatewayGroupsIsSet(true);
-               } else { 
-                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-               }
-               break;
-             default:
-               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-           }
-           iprot.readFieldEnd();
-         }
-         iprot.readStructEnd();
- 
-         // check for required fields of primitive type, which can't be checked in the validate method
-         struct.validate();
-       }
- 
-       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGatewayGroups_args struct) throws org.apache.thrift.TException {
-         struct.validate();
- 
-         oprot.writeStructBegin(STRUCT_DESC);
-         if (struct.gatewayGroups != null) {
-           oprot.writeFieldBegin(GATEWAY_GROUPS_FIELD_DESC);
-           struct.gatewayGroups.write(oprot);
-           oprot.writeFieldEnd();
-         }
-         oprot.writeFieldStop();
-         oprot.writeStructEnd();
-       }
- 
-     }
- 
-     private static class updateGatewayGroups_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public updateGatewayGroups_argsTupleScheme getScheme() {
-         return new updateGatewayGroups_argsTupleScheme();
-       }
-     }
- 
-     private static class updateGatewayGroups_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<updateGatewayGroups_args> {
- 
-       @Override
-       public void write(org.apache.thrift.protocol.TProtocol prot, updateGatewayGroups_args struct) throws org.apache.thrift.TException {
-         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-         struct.gatewayGroups.write(oprot);
-       }
- 
-       @Override
-       public void read(org.apache.thrift.protocol.TProtocol prot, updateGatewayGroups_args struct) throws org.apache.thrift.TException {
-         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-         struct.gatewayGroups = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups();
-         struct.gatewayGroups.read(iprot);
-         struct.setGatewayGroupsIsSet(true);
-       }
-     }
- 
-     private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-       return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-     }
-   }
- 
-   public static class updateGatewayGroups_result implements org.apache.thrift.TBase<updateGatewayGroups_result, updateGatewayGroups_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateGatewayGroups_result>   {
-     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGatewayGroups_result");
- 
-     private static final org.apache.thrift.protocol.TField RSE_FIELD_DESC = new org.apache.thrift.protocol.TField("rse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
- 
-     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGatewayGroups_resultStandardSchemeFactory();
-     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGatewayGroups_resultTupleSchemeFactory();
- 
-     public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
- 
-     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-       RSE((short)1, "rse");
- 
-       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
- 
-       static {
-         for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
-           byName.put(field.getFieldName(), field);
-         }
-       }
- 
-       /**
-        * Find the _Fields constant that matches fieldId, or null if its not found.
-        */
-       public static _Fields findByThriftId(int fieldId) {
-         switch(fieldId) {
-           case 1: // RSE
-             return RSE;
-           default:
-             return null;
-         }
-       }
- 
-       /**
-        * Find the _Fields constant that matches fieldId, throwing an exception
-        * if it is not found.
-        */
-       public static _Fields findByThriftIdOrThrow(int fieldId) {
-         _Fields fields = findByThriftId(fieldId);
-         if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-         return fields;
-       }
- 
-       /**
-        * Find the _Fields constant that matches name, or null if its not found.
-        */
-       public static _Fields findByName(java.lang.String name) {
-         return byName.get(name);
-       }
- 
-       private final short _thriftId;
-       private final java.lang.String _fieldName;
- 
-       _Fields(short thriftId, java.lang.String fieldName) {
-         _thriftId = thriftId;
-         _fieldName = fieldName;
-       }
- 
-       public short getThriftFieldId() {
-         return _thriftId;
-       }
- 
-       public java.lang.String getFieldName() {
-         return _fieldName;
-       }
-     }
- 
-     // isset id assignments
-     public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-     static {
-       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-       tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
-       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateGatewayGroups_result.class, metaDataMap);
-     }
- 
-     public updateGatewayGroups_result() {
-     }
- 
-     public updateGatewayGroups_result(
-       org.apache.airavata.registry.api.exception.RegistryServiceException rse)
-     {
-       this();
-       this.rse = rse;
-     }
- 
-     /**
-      * Performs a deep copy on <i>other</i>.
-      */
-     public updateGatewayGroups_result(updateGatewayGroups_result other) {
-       if (other.isSetRse()) {
-         this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
-       }
-     }
- 
-     public updateGatewayGroups_result deepCopy() {
-       return new updateGatewayGroups_result(this);
-     }
- 
-     @Override
-     public void clear() {
-       this.rse = null;
-     }
- 
-     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
-       return this.rse;
-     }
- 
-     public updateGatewayGroups_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
-       this.rse = rse;
-       return this;
-     }
- 
-     public void unsetRse() {
-       this.rse = null;
-     }
- 
-     /** Returns true if field rse is set (has been assigned a value) and false otherwise */
-     public boolean isSetRse() {
-       return this.rse != null;
-     }
- 
-     public void setRseIsSet(boolean value) {
-       if (!value) {
-         this.rse = null;
-       }
-     }
- 
-     public void setFieldValue(_Fields field, java.lang.Object value) {
-       switch (field) {
-       case RSE:
-         if (value == null) {
-           unsetRse();
-         } else {
-           setRse((org.apache.airavata.registry.api.exception.RegistryServiceException)value);
-         }
-         break;
- 
-       }
-     }
- 
-     public java.lang.Object getFieldValue(_Fields field) {
-       switch (field) {
-       case RSE:
-         return getRse();
- 
-       }
-       throw new java.lang.IllegalStateException();
-     }
- 
-     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-     public boolean isSet(_Fields field) {
-       if (field == null) {
-         throw new java.lang.IllegalArgumentException();
-       }
- 
-       switch (field) {
-       case RSE:
-         return isSetRse();
-       }
-       throw new java.lang.IllegalStateException();
-     }
- 
-     @Override
-     public boolean equals(java.lang.Object that) {
-       if (that == null)
-         return false;
-       if (that instanceof updateGatewayGroups_result)
-         return this.equals((updateGatewayGroups_result)that);
-       return false;
-     }
- 
-     public boolean equals(updateGatewayGroups_result that) {
-       if (that == null)
-         return false;
-       if (this == that)
-         return true;
- 
-       boolean this_present_rse = true && this.isSetRse();
-       boolean that_present_rse = true && that.isSetRse();
-       if (this_present_rse || that_present_rse) {
-         if (!(this_present_rse && that_present_rse))
-           return false;
-         if (!this.rse.equals(that.rse))
-           return false;
-       }
- 
-       return true;
-     }
- 
-     @Override
-     public int hashCode() {
-       int hashCode = 1;
- 
-       hashCode = hashCode * 8191 + ((isSetRse()) ? 131071 : 524287);
-       if (isSetRse())
-         hashCode = hashCode * 8191 + rse.hashCode();
- 
-       return hashCode;
-     }
- 
-     @Override
-     public int compareTo(updateGatewayGroups_result other) {
-       if (!getClass().equals(other.getClass())) {
-         return getClass().getName().compareTo(other.getClass().getName());
-       }
- 
-       int lastComparison = 0;
- 
-       lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
-       if (lastComparison != 0) {
-         return lastComparison;
-       }
-       if (isSetRse()) {
-         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rse, other.rse);
-         if (lastComparison != 0) {
-           return lastComparison;
-         }
-       }
-       return 0;
-     }
- 
-     public _Fields fieldForId(int fieldId) {
-       return _Fields.findByThriftId(fieldId);
-     }
- 
-     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-       scheme(iprot).read(iprot, this);
-     }
- 
-     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-       scheme(oprot).write(oprot, this);
-       }
- 
-     @Override
-     public java.lang.String toString() {
-       java.lang.StringBuilder sb = new java.lang.StringBuilder("updateGatewayGroups_result(");
-       boolean first = true;
- 
-       sb.append("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 updateGatewayGroups_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public updateGatewayGroups_resultStandardScheme getScheme() {
-         return new updateGatewayGroups_resultStandardScheme();
-       }
-     }
- 
-     private static class updateGatewayGroups_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGatewayGroups_result> {
- 
-       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGatewayGroups_result struct) throws org.apache.thrift.TException {
-         org.apache.thrift.protocol.TField schemeField;
-         iprot.readStructBegin();
-         while (true)
-         {
-           schemeField = iprot.readFieldBegin();
-           if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-             break;
-           }
-           switch (schemeField.id) {
-             case 1: // RSE
-               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                 struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
-                 struct.rse.read(iprot);
-                 struct.setRseIsSet(true);
-               } else { 
-                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-               }
-               break;
-             default:
-               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-           }
-           iprot.readFieldEnd();
-         }
-         iprot.readStructEnd();
- 
-         // check for required fields of primitive type, which can't be checked in the validate method
-         struct.validate();
-       }
- 
-       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGatewayGroups_result struct) throws org.apache.thrift.TException {
-         struct.validate();
- 
-         oprot.writeStructBegin(STRUCT_DESC);
-         if (struct.rse != null) {
-           oprot.writeFieldBegin(RSE_FIELD_DESC);
-           struct.rse.write(oprot);
-           oprot.writeFieldEnd();
-         }
-         oprot.writeFieldStop();
-         oprot.writeStructEnd();
-       }
- 
-     }
- 
-     private static class updateGatewayGroups_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public updateGatewayGroups_resultTupleScheme getScheme() {
-         return new updateGatewayGroups_resultTupleScheme();
-       }
-     }
- 
-     private static class updateGatewayGroups_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<updateGatewayGroups_result> {
- 
-       @Override
-       public void write(org.apache.thrift.protocol.TProtocol prot, updateGatewayGroups_result struct) throws org.apache.thrift.TException {
-         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-         java.util.BitSet optionals = new java.util.BitSet();
-         if (struct.isSetRse()) {
-           optionals.set(0);
-         }
-         oprot.writeBitSet(optionals, 1);
-         if (struct.isSetRse()) {
-           struct.rse.write(oprot);
-         }
-       }
- 
-       @Override
-       public void read(org.apache.thrift.protocol.TProtocol prot, updateGatewayGroups_result struct) throws org.apache.thrift.TException {
-         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-         java.util.BitSet incoming = iprot.readBitSet(1);
-         if (incoming.get(0)) {
-           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 isGatewayGroupsExists_args implements org.apache.thrift.TBase<isGatewayGroupsExists_args, isGatewayGroupsExists_args._Fields>, java.io.Serializable, Cloneable, Comparable<isGatewayGroupsExists_args>   {
-     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isGatewayGroupsExists_args");
- 
-     private static final org.apache.thrift.protocol.TField 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 isGatewayGroupsExists_argsStandardSchemeFactory();
-     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isGatewayGroupsExists_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(isGatewayGroupsExists_args.class, metaDataMap);
-     }
- 
-     public isGatewayGroupsExists_args() {
-     }
- 
-     public isGatewayGroupsExists_args(
-       java.lang.String gatewayId)
-     {
-       this();
-       this.gatewayId = gatewayId;
-     }
- 
-     /**
-      * Performs a deep copy on <i>other</i>.
-      */
-     public isGatewayGroupsExists_args(isGatewayGroupsExists_args other) {
-       if (other.isSetGatewayId()) {
-         this.gatewayId = other.gatewayId;
-       }
-     }
- 
-     public isGatewayGroupsExists_args deepCopy() {
-       return new isGatewayGroupsExists_args(this);
-     }
- 
-     @Override
-     public void clear() {
-       this.gatewayId = null;
-     }
- 
-     public java.lang.String getGatewayId() {
-       return this.gatewayId;
-     }
- 
-     public isGatewayGroupsExists_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 isGatewayGroupsExists_args)
-         return this.equals((isGatewayGroupsExists_args)that);
-       return false;
-     }
- 
-     public boolean equals(isGatewayGroupsExists_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(isGatewayGroupsExists_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("isGatewayGroupsExists_args(");
 -      java.lang.StringBuilder sb = new java.lang.StringBuilder("getGatewayGroups_args(");
++      java.lang.StringBuilder sb = new java.lang.StringBuilder("getGroupComputeResourcePolicyList_args(");
        boolean first = true;
  
--      sb.append("gatewayId:");
--      if (this.gatewayId == null) {
++      sb.append("groupResourceProfileId:");
++      if (this.groupResourceProfileId == null) {
          sb.append("null");
        } else {
--        sb.append(this.gatewayId);
++        sb.append(this.groupResourceProfileId);
        }
        first = false;
        sb.append(")");
@@@ -202190,8 -203178,8 +199318,8 @@@
  
      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 (groupResourceProfileId == null) {
++        throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupResourceProfileId' was not present! Struct: " + toString());
        }
        // check for sub-struct validity
      }
@@@ -202212,15 -203200,15 +199340,15 @@@
        }
      }
  
-     private static class isGatewayGroupsExists_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public isGatewayGroupsExists_argsStandardScheme getScheme() {
-         return new isGatewayGroupsExists_argsStandardScheme();
 -    private static class getGatewayGroups_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public getGatewayGroups_argsStandardScheme getScheme() {
 -        return new getGatewayGroups_argsStandardScheme();
++    private static class getGroupComputeResourcePolicyList_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public getGroupComputeResourcePolicyList_argsStandardScheme getScheme() {
++        return new getGroupComputeResourcePolicyList_argsStandardScheme();
        }
      }
  
-     private static class isGatewayGroupsExists_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isGatewayGroupsExists_args> {
 -    private static class getGatewayGroups_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGatewayGroups_args> {
++    private static class getGroupComputeResourcePolicyList_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePolicyList_args> {
  
-       public void read(org.apache.thrift.protocol.TProtocol iprot, isGatewayGroupsExists_args struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol iprot, getGatewayGroups_args struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePolicyList_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
@@@ -202230,10 -203218,10 +199358,10 @@@
              break;
            }
            switch (schemeField.id) {
--            case 1: // GATEWAY_ID
++            case 1: // GROUP_RESOURCE_PROFILE_ID
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
--                struct.gatewayId = iprot.readString();
--                struct.setGatewayIdIsSet(true);
++                struct.groupResourceProfileId = iprot.readString();
++                struct.setGroupResourceProfileIdIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
@@@ -202249,13 -203237,13 +199377,13 @@@
          struct.validate();
        }
  
-       public void write(org.apache.thrift.protocol.TProtocol oprot, isGatewayGroupsExists_args struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol oprot, getGatewayGroups_args struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupComputeResourcePolicyList_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
--        if (struct.gatewayId != null) {
--          oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
--          oprot.writeString(struct.gatewayId);
++        if (struct.groupResourceProfileId != null) {
++          oprot.writeFieldBegin(GROUP_RESOURCE_PROFILE_ID_FIELD_DESC);
++          oprot.writeString(struct.groupResourceProfileId);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
@@@ -202264,25 -203252,25 +199392,25 @@@
  
      }
  
-     private static class isGatewayGroupsExists_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public isGatewayGroupsExists_argsTupleScheme getScheme() {
-         return new isGatewayGroupsExists_argsTupleScheme();
 -    private static class getGatewayGroups_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public getGatewayGroups_argsTupleScheme getScheme() {
 -        return new getGatewayGroups_argsTupleScheme();
++    private static class getGroupComputeResourcePolicyList_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public getGroupComputeResourcePolicyList_argsTupleScheme getScheme() {
++        return new getGroupComputeResourcePolicyList_argsTupleScheme();
        }
      }
  
-     private static class isGatewayGroupsExists_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<isGatewayGroupsExists_args> {
 -    private static class getGatewayGroups_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGatewayGroups_args> {
++    private static class getGroupComputeResourcePolicyList_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupComputeResourcePolicyList_args> {
  
        @Override
-       public void write(org.apache.thrift.protocol.TProtocol prot, isGatewayGroupsExists_args struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol prot, getGatewayGroups_args struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePolicyList_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
--        oprot.writeString(struct.gatewayId);
++        oprot.writeString(struct.groupResourceProfileId);
        }
  
        @Override
-       public void read(org.apache.thrift.protocol.TProtocol prot, isGatewayGroupsExists_args struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol prot, getGatewayGroups_args struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePolicyList_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
--        struct.gatewayId = iprot.readString();
--        struct.setGatewayIdIsSet(true);
++        struct.groupResourceProfileId = iprot.readString();
++        struct.setGroupResourceProfileIdIsSet(true);
        }
      }
  
@@@ -202291,16 -203279,16 +199419,16 @@@
      }
    }
  
-   public static class isGatewayGroupsExists_result implements org.apache.thrift.TBase<isGatewayGroupsExists_result, isGatewayGroupsExists_result._Fields>, java.io.Serializable, Cloneable, Comparable<isGatewayGroupsExists_result>   {
-     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isGatewayGroupsExists_result");
 -  public static class getGatewayGroups_result implements org.apache.thrift.TBase<getGatewayGroups_result, getGatewayGroups_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGatewayGroups_result>   {
 -    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGatewayGroups_result");
++  public static class getGroupComputeResourcePolicyList_result implements org.apache.thrift.TBase<getGroupComputeResourcePolicyList_result, getGroupComputeResourcePolicyList_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePolicyList_result>   {
++    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePolicyList_result");
  
-     private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
 -    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
++    private static final org.apache.thrift.protocol.TField 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 isGatewayGroupsExists_resultStandardSchemeFactory();
-     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isGatewayGroupsExists_resultTupleSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGatewayGroups_resultStandardSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGatewayGroups_resultTupleSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePolicyList_resultStandardSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePolicyList_resultTupleSchemeFactory();
  
-     public boolean success; // required
 -    public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups success; // required
++    public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> success; // required
      public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@@ -202371,18 -203357,18 +199497,19 @@@
      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)));
 -          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups.class)));
++          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
++              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy.class))));
        tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
        metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(isGatewayGroupsExists_result.class, metaDataMap);
 -      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGatewayGroups_result.class, metaDataMap);
++      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGroupComputeResourcePolicyList_result.class, metaDataMap);
      }
  
-     public isGatewayGroupsExists_result() {
 -    public getGatewayGroups_result() {
++    public getGroupComputeResourcePolicyList_result() {
      }
  
-     public isGatewayGroupsExists_result(
-       boolean success,
 -    public getGatewayGroups_result(
 -      org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups success,
++    public getGroupComputeResourcePolicyList_result(
++      java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> success,
        org.apache.airavata.registry.api.exception.RegistryServiceException rse)
      {
        this();
@@@ -202394,16 -203379,17 +199520,21 @@@
      /**
       * Performs a deep copy on <i>other</i>.
       */
-     public isGatewayGroupsExists_result(isGatewayGroupsExists_result other) {
-       __isset_bitfield = other.__isset_bitfield;
-       this.success = other.success;
 -    public getGatewayGroups_result(getGatewayGroups_result other) {
++    public getGroupComputeResourcePolicyList_result(getGroupComputeResourcePolicyList_result other) {
+       if (other.isSetSuccess()) {
 -        this.success = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups(other.success);
++        java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> __this__success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>(other.success.size());
++        for (org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy other_element : other.success) {
++          __this__success.add(new org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy(other_element));
++        }
++        this.success = __this__success;
+       }
        if (other.isSetRse()) {
          this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
        }
      }
  
-     public isGatewayGroupsExists_result deepCopy() {
-       return new isGatewayGroupsExists_result(this);
 -    public getGatewayGroups_result deepCopy() {
 -      return new getGatewayGroups_result(this);
++    public getGroupComputeResourcePolicyList_result deepCopy() {
++      return new getGroupComputeResourcePolicyList_result(this);
      }
  
      @Override
@@@ -202413,13 -203398,12 +199543,27 @@@
        this.rse = null;
      }
  
-     public boolean isSuccess() {
 -    public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups getSuccess() {
++    public int getSuccessSize() {
++      return (this.success == null) ? 0 : this.success.size();
++    }
++
++    public java.util.Iterator<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> getSuccessIterator() {
++      return (this.success == null) ? null : this.success.iterator();
++    }
++
++    public void addToSuccess(org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy elem) {
++      if (this.success == null) {
++        this.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>();
++      }
++      this.success.add(elem);
++    }
++
++    public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> getSuccess() {
        return this.success;
      }
  
-     public isGatewayGroupsExists_result setSuccess(boolean success) {
 -    public getGatewayGroups_result setSuccess(org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups success) {
++    public getGroupComputeResourcePolicyList_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> success) {
        this.success = success;
-       setSuccessIsSet(true);
        return this;
      }
  
@@@ -202440,7 -203426,7 +199586,7 @@@
        return this.rse;
      }
  
-     public isGatewayGroupsExists_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
 -    public getGatewayGroups_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
++    public getGroupComputeResourcePolicyList_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
        this.rse = rse;
        return this;
      }
@@@ -202466,7 -203452,7 +199612,7 @@@
          if (value == null) {
            unsetSuccess();
          } else {
-           setSuccess((java.lang.Boolean)value);
 -          setSuccess((org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups)value);
++          setSuccess((java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>)value);
          }
          break;
  
@@@ -202512,12 -203498,12 +199658,12 @@@
      public boolean equals(java.lang.Object that) {
        if (that == null)
          return false;
-       if (that instanceof isGatewayGroupsExists_result)
-         return this.equals((isGatewayGroupsExists_result)that);
 -      if (that instanceof getGatewayGroups_result)
 -        return this.equals((getGatewayGroups_result)that);
++      if (that instanceof getGroupComputeResourcePolicyList_result)
++        return this.equals((getGroupComputeResourcePolicyList_result)that);
        return false;
      }
  
-     public boolean equals(isGatewayGroupsExists_result that) {
 -    public boolean equals(getGatewayGroups_result that) {
++    public boolean equals(getGroupComputeResourcePolicyList_result that) {
        if (that == null)
          return false;
        if (this == that)
@@@ -202558,7 -203546,7 +199706,7 @@@
      }
  
      @Override
-     public int compareTo(isGatewayGroupsExists_result other) {
 -    public int compareTo(getGatewayGroups_result other) {
++    public int compareTo(getGroupComputeResourcePolicyList_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
@@@ -202602,7 -203590,7 +199750,7 @@@
  
      @Override
      public java.lang.String toString() {
-       java.lang.StringBuilder sb = new java.lang.StringBuilder("isGatewayGroupsExists_result(");
 -      java.lang.StringBuilder sb = new java.lang.StringBuilder("getGatewayGroups_result(");
++      java.lang.StringBuilder sb = new java.lang.StringBuilder("getGroupComputeResourcePolicyList_result(");
        boolean first = true;
  
        sb.append("success:");
@@@ -202643,15 -203636,15 +199793,15 @@@
        }
      }
  
-     private static class isGatewayGroupsExists_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public isGatewayGroupsExists_resultStandardScheme getScheme() {
-         return new isGatewayGroupsExists_resultStandardScheme();
 -    private static class getGatewayGroups_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public getGatewayGroups_resultStandardScheme getScheme() {
 -        return new getGatewayGroups_resultStandardScheme();
++    private static class getGroupComputeResourcePolicyList_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public getGroupComputeResourcePolicyList_resultStandardScheme getScheme() {
++        return new getGroupComputeResourcePolicyList_resultStandardScheme();
        }
      }
  
-     private static class isGatewayGroupsExists_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isGatewayGroupsExists_result> {
 -    private static class getGatewayGroups_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGatewayGroups_result> {
++    private static class getGroupComputeResourcePolicyList_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePolicyList_result> {
  
-       public void read(org.apache.thrift.protocol.TProtocol iprot, isGatewayGroupsExists_result struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol iprot, getGatewayGroups_result struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePolicyList_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
@@@ -202662,8 -203655,9 +199812,19 @@@
            }
            switch (schemeField.id) {
              case 0: // SUCCESS
-               if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
-                 struct.success = iprot.readBool();
 -              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
 -                struct.success = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups();
 -                struct.success.read(iprot);
++              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
++                {
++                  org.apache.thrift.protocol.TList _list490 = iprot.readListBegin();
++                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>(_list490.size);
++                  org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy _elem491;
++                  for (int _i492 = 0; _i492 < _list490.size; ++_i492)
++                  {
++                    _elem491 = new org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy();
++                    _elem491.read(iprot);
++                    struct.success.add(_elem491);
++                  }
++                  iprot.readListEnd();
++                }
                  struct.setSuccessIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
@@@ -202689,13 -203683,13 +199850,20 @@@
          struct.validate();
        }
  
-       public void write(org.apache.thrift.protocol.TProtocol oprot, isGatewayGroupsExists_result struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol oprot, getGatewayGroups_result struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupComputeResourcePolicyList_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
-         if (struct.isSetSuccess()) {
+         if (struct.success != null) {
            oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-           oprot.writeBool(struct.success);
 -          struct.success.write(oprot);
++          {
++            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
++            for (org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy _iter493 : struct.success)
++            {
++              _iter493.write(oprot);
++            }
++            oprot.writeListEnd();
++          }
            oprot.writeFieldEnd();
          }
          if (struct.rse != null) {
@@@ -202709,16 -203703,16 +199877,16 @@@
  
      }
  
-     private static class isGatewayGroupsExists_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public isGatewayGroupsExists_resultTupleScheme getScheme() {
-         return new isGatewayGroupsExists_resultTupleScheme();
 -    private static class getGatewayGroups_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public getGatewayGroups_resultTupleScheme getScheme() {
 -        return new getGatewayGroups_resultTupleScheme();
++    private static class getGroupComputeResourcePolicyList_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public getGroupComputeResourcePolicyList_resultTupleScheme getScheme() {
++        return new getGroupComputeResourcePolicyList_resultTupleScheme();
        }
      }
  
-     private static class isGatewayGroupsExists_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<isGatewayGroupsExists_result> {
 -    private static class getGatewayGroups_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGatewayGroups_result> {
++    private static class getGroupComputeResourcePolicyList_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGroupComputeResourcePolicyList_result> {
  
        @Override
-       public void write(org.apache.thrift.protocol.TProtocol prot, isGatewayGroupsExists_result struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol prot, getGatewayGroups_result struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePolicyList_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
          java.util.BitSet optionals = new java.util.BitSet();
          if (struct.isSetSuccess()) {
@@@ -202729,7 -203723,7 +199897,13 @@@
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.isSetSuccess()) {
-           oprot.writeBool(struct.success);
 -          struct.success.write(oprot);
++          {
++            oprot.writeI32(struct.success.size());
++            for (org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy _iter494 : struct.success)
++            {
++              _iter494.write(oprot);
++            }
++          }
          }
          if (struct.isSetRse()) {
            struct.rse.write(oprot);
@@@ -202737,11 -203731,12 +199911,21 @@@
        }
  
        @Override
-       public void read(org.apache.thrift.protocol.TProtocol prot, isGatewayGroupsExists_result struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol prot, getGatewayGroups_result struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol prot, getGroupComputeResourcePolicyList_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
          java.util.BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
-           struct.success = iprot.readBool();
 -          struct.success = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups();
 -          struct.success.read(iprot);
++          {
++            org.apache.thrift.protocol.TList _list495 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
++            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>(_list495.size);
++            org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy _elem496;
++            for (int _i497 = 0; _i497 < _list495.size; ++_i497)
++            {
++              _elem496 = new org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy();
++              _elem496.read(iprot);
++              struct.success.add(_elem496);
++            }
++          }
            struct.setSuccessIsSet(true);
          }
          if (incoming.get(1)) {
@@@ -202757,19 -203752,22 +199941,19 @@@
      }
    }
  
-   public static class getGatewayGroups_args implements org.apache.thrift.TBase<getGatewayGroups_args, getGatewayGroups_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGatewayGroups_args>   {
-     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGatewayGroups_args");
 -  public static class getParser_args implements org.apache.thrift.TBase<getParser_args, getParser_args._Fields>, java.io.Serializable, Cloneable, Comparable<getParser_args>   {
 -    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParser_args");
++  public static class createGatewayGroups_args implements org.apache.thrift.TBase<createGatewayGroups_args, createGatewayGroups_args._Fields>, java.io.Serializable, Cloneable, Comparable<createGatewayGroups_args>   {
++    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createGatewayGroups_args");
  
-     private static final org.apache.thrift.protocol.TField GATEWAY_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 PARSER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("parserId", org.apache.thrift.protocol.TType.STRING, (short)1);
 -    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)2);
++    private static final org.apache.thrift.protocol.TField GATEWAY_GROUPS_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayGroups", org.apache.thrift.protocol.TType.STRUCT, (short)1);
  
-     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGatewayGroups_argsStandardSchemeFactory();
-     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGatewayGroups_argsTupleSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParser_argsStandardSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParser_argsTupleSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createGatewayGroups_argsStandardSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createGatewayGroups_argsTupleSchemeFactory();
  
 -    public java.lang.String parserId; // required
--    public java.lang.String gatewayId; // required
++    public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-       GATEWAY_ID((short)1, "gatewayId");
 -      PARSER_ID((short)1, "parserId"),
 -      GATEWAY_ID((short)2, "gatewayId");
++      GATEWAY_GROUPS((short)1, "gatewayGroups");
  
        private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
  
@@@ -202784,8 -203782,10 +199968,8 @@@
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
-           case 1: // GATEWAY_ID
 -          case 1: // PARSER_ID
 -            return PARSER_ID;
 -          case 2: // GATEWAY_ID
--            return GATEWAY_ID;
++          case 1: // GATEWAY_GROUPS
++            return GATEWAY_GROUPS;
            default:
              return null;
          }
@@@ -202829,71 -203829,111 +200013,71 @@@
      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.PARSER_ID, new org.apache.thrift.meta_data.FieldMetaData("parserId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
 -          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
--      tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
--          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
++      tmpMap.put(_Fields.GATEWAY_GROUPS, new org.apache.thrift.meta_data.FieldMetaData("gatewayGroups", org.apache.thrift.TFieldRequirementType.REQUIRED, 
++          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups.class)));
        metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGatewayGroups_args.class, metaDataMap);
 -      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getParser_args.class, metaDataMap);
++      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createGatewayGroups_args.class, metaDataMap);
      }
  
-     public getGatewayGroups_args() {
 -    public getParser_args() {
++    public createGatewayGroups_args() {
      }
  
-     public getGatewayGroups_args(
 -    public getParser_args(
 -      java.lang.String parserId,
--      java.lang.String gatewayId)
++    public createGatewayGroups_args(
++      org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups)
      {
        this();
 -      this.parserId = parserId;
--      this.gatewayId = gatewayId;
++      this.gatewayGroups = gatewayGroups;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
-     public getGatewayGroups_args(getGatewayGroups_args other) {
 -    public getParser_args(getParser_args other) {
 -      if (other.isSetParserId()) {
 -        this.parserId = other.parserId;
 -      }
--      if (other.isSetGatewayId()) {
--        this.gatewayId = other.gatewayId;
++    public createGatewayGroups_args(createGatewayGroups_args other) {
++      if (other.isSetGatewayGroups()) {
++        this.gatewayGroups = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups(other.gatewayGroups);
        }
      }
  
-     public getGatewayGroups_args deepCopy() {
-       return new getGatewayGroups_args(this);
 -    public getParser_args deepCopy() {
 -      return new getParser_args(this);
++    public createGatewayGroups_args deepCopy() {
++      return new createGatewayGroups_args(this);
      }
  
      @Override
      public void clear() {
 -      this.parserId = null;
--      this.gatewayId = null;
 -    }
 -
 -    public java.lang.String getParserId() {
 -      return this.parserId;
 -    }
 -
 -    public getParser_args setParserId(java.lang.String parserId) {
 -      this.parserId = parserId;
 -      return this;
 -    }
 -
 -    public void unsetParserId() {
 -      this.parserId = null;
 -    }
 -
 -    /** Returns true if field parserId is set (has been assigned a value) and false otherwise */
 -    public boolean isSetParserId() {
 -      return this.parserId != null;
 -    }
 -
 -    public void setParserIdIsSet(boolean value) {
 -      if (!value) {
 -        this.parserId = null;
 -      }
++      this.gatewayGroups = null;
      }
  
--    public java.lang.String getGatewayId() {
--      return this.gatewayId;
++    public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups getGatewayGroups() {
++      return this.gatewayGroups;
      }
  
-     public getGatewayGroups_args setGatewayId(java.lang.String gatewayId) {
 -    public getParser_args setGatewayId(java.lang.String gatewayId) {
--      this.gatewayId = gatewayId;
++    public createGatewayGroups_args setGatewayGroups(org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups) {
++      this.gatewayGroups = gatewayGroups;
        return this;
      }
  
--    public void unsetGatewayId() {
--      this.gatewayId = null;
++    public void unsetGatewayGroups() {
++      this.gatewayGroups = null;
      }
  
--    /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
--    public boolean isSetGatewayId() {
--      return this.gatewayId != null;
++    /** Returns true if field gatewayGroups is set (has been assigned a value) and false otherwise */
++    public boolean isSetGatewayGroups() {
++      return this.gatewayGroups != null;
      }
  
--    public void setGatewayIdIsSet(boolean value) {
++    public void setGatewayGroupsIsSet(boolean value) {
        if (!value) {
--        this.gatewayId = null;
++        this.gatewayGroups = null;
        }
      }
  
      public void setFieldValue(_Fields field, java.lang.Object value) {
        switch (field) {
 -      case PARSER_ID:
 -        if (value == null) {
 -          unsetParserId();
 -        } else {
 -          setParserId((java.lang.String)value);
 -        }
 -        break;
 -
--      case GATEWAY_ID:
++      case GATEWAY_GROUPS:
          if (value == null) {
--          unsetGatewayId();
++          unsetGatewayGroups();
          } else {
--          setGatewayId((java.lang.String)value);
++          setGatewayGroups((org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups)value);
          }
          break;
  
@@@ -202902,8 -203942,11 +200086,8 @@@
  
      public java.lang.Object getFieldValue(_Fields field) {
        switch (field) {
 -      case PARSER_ID:
 -        return getParserId();
 -
--      case GATEWAY_ID:
--        return getGatewayId();
++      case GATEWAY_GROUPS:
++        return getGatewayGroups();
  
        }
        throw new java.lang.IllegalStateException();
@@@ -202916,8 -203959,10 +200100,8 @@@
        }
  
        switch (field) {
 -      case PARSER_ID:
 -        return isSetParserId();
--      case GATEWAY_ID:
--        return isSetGatewayId();
++      case GATEWAY_GROUPS:
++        return isSetGatewayGroups();
        }
        throw new java.lang.IllegalStateException();
      }
@@@ -202926,23 -203971,32 +200110,23 @@@
      public boolean equals(java.lang.Object that) {
        if (that == null)
          return false;
-       if (that instanceof getGatewayGroups_args)
-         return this.equals((getGatewayGroups_args)that);
 -      if (that instanceof getParser_args)
 -        return this.equals((getParser_args)that);
++      if (that instanceof createGatewayGroups_args)
++        return this.equals((createGatewayGroups_args)that);
        return false;
      }
  
-     public boolean equals(getGatewayGroups_args that) {
 -    public boolean equals(getParser_args that) {
++    public boolean equals(createGatewayGroups_args that) {
        if (that == null)
          return false;
        if (this == that)
          return true;
  
 -      boolean this_present_parserId = true && this.isSetParserId();
 -      boolean that_present_parserId = true && that.isSetParserId();
 -      if (this_present_parserId || that_present_parserId) {
 -        if (!(this_present_parserId && that_present_parserId))
 -          return false;
 -        if (!this.parserId.equals(that.parserId))
 -          return false;
 -      }
 -
--      boolean this_present_gatewayId = true && this.isSetGatewayId();
--      boolean that_present_gatewayId = true && that.isSetGatewayId();
--      if (this_present_gatewayId || that_present_gatewayId) {
--        if (!(this_present_gatewayId && that_present_gatewayId))
++      boolean this_present_gatewayGroups = true && this.isSetGatewayGroups();
++      boolean that_present_gatewayGroups = true && that.isSetGatewayGroups();
++      if (this_present_gatewayGroups || that_present_gatewayGroups) {
++        if (!(this_present_gatewayGroups && that_present_gatewayGroups))
            return false;
--        if (!this.gatewayId.equals(that.gatewayId))
++        if (!this.gatewayGroups.equals(that.gatewayGroups))
            return false;
        }
  
@@@ -202953,27 -204007,41 +200137,27 @@@
      public int hashCode() {
        int hashCode = 1;
  
 -      hashCode = hashCode * 8191 + ((isSetParserId()) ? 131071 : 524287);
 -      if (isSetParserId())
 -        hashCode = hashCode * 8191 + parserId.hashCode();
 -
--      hashCode = hashCode * 8191 + ((isSetGatewayId()) ? 131071 : 524287);
--      if (isSetGatewayId())
--        hashCode = hashCode * 8191 + gatewayId.hashCode();
++      hashCode = hashCode * 8191 + ((isSetGatewayGroups()) ? 131071 : 524287);
++      if (isSetGatewayGroups())
++        hashCode = hashCode * 8191 + gatewayGroups.hashCode();
  
        return hashCode;
      }
  
      @Override
-     public int compareTo(getGatewayGroups_args other) {
 -    public int compareTo(getParser_args other) {
++    public int compareTo(createGatewayGroups_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
 -      lastComparison = java.lang.Boolean.valueOf(isSetParserId()).compareTo(other.isSetParserId());
 -      if (lastComparison != 0) {
 -        return lastComparison;
 -      }
 -      if (isSetParserId()) {
 -        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.parserId, other.parserId);
 -        if (lastComparison != 0) {
 -          return lastComparison;
 -        }
 -      }
--      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
++      lastComparison = java.lang.Boolean.valueOf(isSetGatewayGroups()).compareTo(other.isSetGatewayGroups());
        if (lastComparison != 0) {
          return lastComparison;
        }
--      if (isSetGatewayId()) {
--        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
++      if (isSetGatewayGroups()) {
++        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayGroups, other.gatewayGroups);
          if (lastComparison != 0) {
            return lastComparison;
          }
@@@ -202995,14 -204063,22 +200179,14 @@@
  
      @Override
      public java.lang.String toString() {
-       java.lang.StringBuilder sb = new java.lang.StringBuilder("getGatewayGroups_args(");
 -      java.lang.StringBuilder sb = new java.lang.StringBuilder("getParser_args(");
++      java.lang.StringBuilder sb = new java.lang.StringBuilder("createGatewayGroups_args(");
        boolean first = true;
  
 -      sb.append("parserId:");
 -      if (this.parserId == null) {
 -        sb.append("null");
 -      } else {
 -        sb.append(this.parserId);
 -      }
 -      first = false;
 -      if (!first) sb.append(", ");
--      sb.append("gatewayId:");
--      if (this.gatewayId == null) {
++      sb.append("gatewayGroups:");
++      if (this.gatewayGroups == null) {
          sb.append("null");
        } else {
--        sb.append(this.gatewayId);
++        sb.append(this.gatewayGroups);
        }
        first = false;
        sb.append(")");
@@@ -203011,10 -204087,13 +200195,13 @@@
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
 -      if (parserId == null) {
 -        throw new org.apache.thrift.protocol.TProtocolException("Required field 'parserId' was not present! Struct: " + toString());
 -      }
--      if (gatewayId == null) {
--        throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
++      if (gatewayGroups == null) {
++        throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayGroups' was not present! Struct: " + toString());
        }
        // check for sub-struct validity
++      if (gatewayGroups != null) {
++        gatewayGroups.validate();
++      }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@@ -203033,15 -204112,15 +200220,15 @@@
        }
      }
  
-     private static class getGatewayGroups_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public getGatewayGroups_argsStandardScheme getScheme() {
-         return new getGatewayGroups_argsStandardScheme();
 -    private static class getParser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public getParser_argsStandardScheme getScheme() {
 -        return new getParser_argsStandardScheme();
++    private static class createGatewayGroups_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public createGatewayGroups_argsStandardScheme getScheme() {
++        return new createGatewayGroups_argsStandardScheme();
        }
      }
  
-     private static class getGatewayGroups_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGatewayGroups_args> {
 -    private static class getParser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParser_args> {
++    private static class createGatewayGroups_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<createGatewayGroups_args> {
  
-       public void read(org.apache.thrift.protocol.TProtocol iprot, getGatewayGroups_args struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol iprot, getParser_args struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol iprot, createGatewayGroups_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
@@@ -203051,10 -204130,18 +200238,11 @@@
              break;
            }
            switch (schemeField.id) {
-             case 1: // GATEWAY_ID
 -            case 1: // PARSER_ID
 -              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
 -                struct.parserId = iprot.readString();
 -                struct.setParserIdIsSet(true);
 -              } else { 
 -                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
 -              }
 -              break;
 -            case 2: // GATEWAY_ID
--              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
--                struct.gatewayId = iprot.readString();
--                struct.setGatewayIdIsSet(true);
++            case 1: // GATEWAY_GROUPS
++              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
++                struct.gatewayGroups = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups();
++                struct.gatewayGroups.read(iprot);
++                struct.setGatewayGroupsIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
@@@ -203070,13 -204157,18 +200258,13 @@@
          struct.validate();
        }
  
-       public void write(org.apache.thrift.protocol.TProtocol oprot, getGatewayGroups_args struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol oprot, getParser_args struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol oprot, createGatewayGroups_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
 -        if (struct.parserId != null) {
 -          oprot.writeFieldBegin(PARSER_ID_FIELD_DESC);
 -          oprot.writeString(struct.parserId);
 -          oprot.writeFieldEnd();
 -        }
--        if (struct.gatewayId != null) {
--          oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
--          oprot.writeString(struct.gatewayId);
++        if (struct.gatewayGroups != null) {
++          oprot.writeFieldBegin(GATEWAY_GROUPS_FIELD_DESC);
++          struct.gatewayGroups.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
@@@ -203085,25 -204177,28 +200273,26 @@@
  
      }
  
-     private static class getGatewayGroups_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public getGatewayGroups_argsTupleScheme getScheme() {
-         return new getGatewayGroups_argsTupleScheme();
 -    private static class getParser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public getParser_argsTupleScheme getScheme() {
 -        return new getParser_argsTupleScheme();
++    private static class createGatewayGroups_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public createGatewayGroups_argsTupleScheme getScheme() {
++        return new createGatewayGroups_argsTupleScheme();
        }
      }
  
-     private static class getGatewayGroups_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGatewayGroups_args> {
 -    private static class getParser_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getParser_args> {
++    private static class createGatewayGroups_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<createGatewayGroups_args> {
  
        @Override
-       public void write(org.apache.thrift.protocol.TProtocol prot, getGatewayGroups_args struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol prot, getParser_args struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol prot, createGatewayGroups_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
 -        oprot.writeString(struct.parserId);
--        oprot.writeString(struct.gatewayId);
++        struct.gatewayGroups.write(oprot);
        }
  
        @Override
-       public void read(org.apache.thrift.protocol.TProtocol prot, getGatewayGroups_args struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol prot, getParser_args struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol prot, createGatewayGroups_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
 -        struct.parserId = iprot.readString();
 -        struct.setParserIdIsSet(true);
--        struct.gatewayId = iprot.readString();
--        struct.setGatewayIdIsSet(true);
++        struct.gatewayGroups = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups();
++        struct.gatewayGroups.read(iprot);
++        struct.setGatewayGroupsIsSet(true);
        }
      }
  
@@@ -203112,22 -204207,22 +200301,22 @@@
      }
    }
  
-   public static class getGatewayGroups_result implements org.apache.thrift.TBase<getGatewayGroups_result, getGatewayGroups_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGatewayGroups_result>   {
-     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGatewayGroups_result");
 -  public static class getParser_result implements org.apache.thrift.TBase<getParser_result, getParser_result._Fields>, java.io.Serializable, Cloneable, Comparable<getParser_result>   {
 -    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParser_result");
++  public static class createGatewayGroups_result implements org.apache.thrift.TBase<createGatewayGroups_result, createGatewayGroups_result._Fields>, java.io.Serializable, Cloneable, Comparable<createGatewayGroups_result>   {
++    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createGatewayGroups_result");
  
--    private static final org.apache.thrift.protocol.TField 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.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 getGatewayGroups_resultStandardSchemeFactory();
-     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGatewayGroups_resultTupleSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParser_resultStandardSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParser_resultTupleSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createGatewayGroups_resultStandardSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createGatewayGroups_resultTupleSchemeFactory();
  
-     public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups success; // required
 -    public org.apache.airavata.model.appcatalog.parser.Parser 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");
++      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>();
  
@@@ -203142,10 -204237,10 +200331,10 @@@
         */
        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;
          }
@@@ -203189,111 -204284,111 +200378,111 @@@
      public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
--      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups.class)));
 -          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.parser.Parser.class)));
        tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
++      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(getGatewayGroups_result.class, metaDataMap);
 -      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getParser_result.class, metaDataMap);
++      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createGatewayGroups_result.class, metaDataMap);
      }
  
-     public getGatewayGroups_result() {
 -    public getParser_result() {
++    public createGatewayGroups_result() {
      }
  
-     public getGatewayGroups_result(
-       org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups success,
 -    public getParser_result(
 -      org.apache.airavata.model.appcatalog.parser.Parser success,
--      org.apache.airavata.registry.api.exception.RegistryServiceException rse)
++    public createGatewayGroups_result(
++      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 getGatewayGroups_result(getGatewayGroups_result other) {
 -    public getParser_result(getParser_result other) {
--      if (other.isSetSuccess()) {
-         this.success = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups(other.success);
 -        this.success = new org.apache.airavata.model.appcatalog.parser.Parser(other.success);
--      }
++    public createGatewayGroups_result(createGatewayGroups_result other) {
        if (other.isSetRse()) {
          this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
        }
++      if (other.isSetDee()) {
++        this.dee = new org.apache.airavata.model.error.DuplicateEntryException(other.dee);
++      }
      }
  
-     public getGatewayGroups_result deepCopy() {
-       return new getGatewayGroups_result(this);
 -    public getParser_result deepCopy() {
 -      return new getParser_result(this);
++    public createGatewayGroups_result deepCopy() {
++      return new createGatewayGroups_result(this);
      }
  
      @Override
      public void clear() {
--      this.success = null;
        this.rse = null;
++      this.dee = null;
      }
  
-     public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups getSuccess() {
 -    public org.apache.airavata.model.appcatalog.parser.Parser getSuccess() {
--      return this.success;
++    public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
++      return this.rse;
      }
  
-     public getGatewayGroups_result setSuccess(org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups success) {
 -    public getParser_result setSuccess(org.apache.airavata.model.appcatalog.parser.Parser success) {
--      this.success = success;
++    public createGatewayGroups_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
++      this.rse = rse;
        return this;
      }
  
--    public void unsetSuccess() {
--      this.success = null;
++    public void unsetRse() {
++      this.rse = null;
      }
  
--    /** Returns true if field success is set (has been assigned a value) and false otherwise */
--    public boolean isSetSuccess() {
--      return this.success != 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 setSuccessIsSet(boolean value) {
++    public void setRseIsSet(boolean value) {
        if (!value) {
--        this.success = null;
++        this.rse = null;
        }
      }
  
--    public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
--      return this.rse;
++    public org.apache.airavata.model.error.DuplicateEntryException getDee() {
++      return this.dee;
      }
  
-     public getGatewayGroups_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
 -    public getParser_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
--      this.rse = rse;
++    public createGatewayGroups_result setDee(org.apache.airavata.model.error.DuplicateEntryException dee) {
++      this.dee = dee;
        return this;
      }
  
--    public void unsetRse() {
--      this.rse = null;
++    public void unsetDee() {
++      this.dee = null;
      }
  
--    /** Returns true if field rse is set (has been assigned a value) and false otherwise */
--    public boolean isSetRse() {
--      return this.rse != 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 setRseIsSet(boolean value) {
++    public void setDeeIsSet(boolean value) {
        if (!value) {
--        this.rse = null;
++        this.dee = null;
        }
      }
  
      public void setFieldValue(_Fields field, java.lang.Object value) {
        switch (field) {
--      case SUCCESS:
++      case RSE:
          if (value == null) {
--          unsetSuccess();
++          unsetRse();
          } else {
-           setSuccess((org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups)value);
 -          setSuccess((org.apache.airavata.model.appcatalog.parser.Parser)value);
++          setRse((org.apache.airavata.registry.api.exception.RegistryServiceException)value);
          }
          break;
  
--      case RSE:
++      case DEE:
          if (value == null) {
--          unsetRse();
++          unsetDee();
          } else {
--          setRse((org.apache.airavata.registry.api.exception.RegistryServiceException)value);
++          setDee((org.apache.airavata.model.error.DuplicateEntryException)value);
          }
          break;
  
@@@ -203302,12 -204397,12 +200491,12 @@@
  
      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();
      }
@@@ -203319,10 -204414,10 +200508,10 @@@
        }
  
        switch (field) {
--      case SUCCESS:
--        return isSetSuccess();
        case RSE:
          return isSetRse();
++      case DEE:
++        return isSetDee();
        }
        throw new java.lang.IllegalStateException();
      }
@@@ -203331,26 -204426,26 +200520,17 @@@
      public boolean equals(java.lang.Object that) {
        if (that == null)
          return false;
-       if (that instanceof getGatewayGroups_result)
-         return this.equals((getGatewayGroups_result)that);
 -      if (that instanceof getParser_result)
 -        return this.equals((getParser_result)that);
++      if (that instanceof createGatewayGroups_result)
++        return this.equals((createGatewayGroups_result)that);
        return false;
      }
  
-     public boolean equals(getGatewayGroups_result that) {
 -    public boolean equals(getParser_result that) {
++    public boolean equals(createGatewayGroups_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) {
@@@ -203360,6 -204455,6 +200540,15 @@@
            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;
      }
  
@@@ -203367,41 -204462,41 +200556,41 @@@
      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(getGatewayGroups_result other) {
 -    public int compareTo(getParser_result other) {
++    public int compareTo(createGatewayGroups_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
--      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
++      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
        if (lastComparison != 0) {
          return lastComparison;
        }
--      if (isSetSuccess()) {
--        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
++      if (isSetRse()) {
++        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rse, other.rse);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
--      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
++      lastComparison = java.lang.Boolean.valueOf(isSetDee()).compareTo(other.isSetDee());
        if (lastComparison != 0) {
          return lastComparison;
        }
--      if (isSetRse()) {
--        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rse, other.rse);
++      if (isSetDee()) {
++        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dee, other.dee);
          if (lastComparison != 0) {
            return lastComparison;
          }
@@@ -203423,22 -204518,22 +200612,22 @@@
  
      @Override
      public java.lang.String toString() {
-       java.lang.StringBuilder sb = new java.lang.StringBuilder("getGatewayGroups_result(");
 -      java.lang.StringBuilder sb = new java.lang.StringBuilder("getParser_result(");
++      java.lang.StringBuilder sb = new java.lang.StringBuilder("createGatewayGroups_result(");
        boolean first = true;
  
--      sb.append("success:");
--      if (this.success == null) {
++      sb.append("rse:");
++      if (this.rse == null) {
          sb.append("null");
        } else {
--        sb.append(this.success);
++        sb.append(this.rse);
        }
        first = false;
        if (!first) sb.append(", ");
--      sb.append("rse:");
--      if (this.rse == null) {
++      sb.append("dee:");
++      if (this.dee == null) {
          sb.append("null");
        } else {
--        sb.append(this.rse);
++        sb.append(this.dee);
        }
        first = false;
        sb.append(")");
@@@ -203448,9 -204543,9 +200637,6 @@@
      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 {
@@@ -203469,15 -204564,15 +200655,15 @@@
        }
      }
  
-     private static class getGatewayGroups_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public getGatewayGroups_resultStandardScheme getScheme() {
-         return new getGatewayGroups_resultStandardScheme();
 -    private static class getParser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public getParser_resultStandardScheme getScheme() {
 -        return new getParser_resultStandardScheme();
++    private static class createGatewayGroups_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public createGatewayGroups_resultStandardScheme getScheme() {
++        return new createGatewayGroups_resultStandardScheme();
        }
      }
  
-     private static class getGatewayGroups_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGatewayGroups_result> {
 -    private static class getParser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParser_result> {
++    private static class createGatewayGroups_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<createGatewayGroups_result> {
  
-       public void read(org.apache.thrift.protocol.TProtocol iprot, getGatewayGroups_result struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol iprot, getParser_result struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol iprot, createGatewayGroups_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
@@@ -203487,20 -204582,20 +200673,20 @@@
              break;
            }
            switch (schemeField.id) {
--            case 0: // SUCCESS
++            case 1: // RSE
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                 struct.success = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups();
 -                struct.success = new org.apache.airavata.model.appcatalog.parser.Parser();
--                struct.success.read(iprot);
--                struct.setSuccessIsSet(true);
++                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 1: // RSE
++            case 2: // DEE
                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);
++                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);
                }
@@@ -203516,67 -204611,67 +200702,67 @@@
          struct.validate();
        }
  
-       public void write(org.apache.thrift.protocol.TProtocol oprot, getGatewayGroups_result struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol oprot, getParser_result struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol oprot, createGatewayGroups_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
--        if (struct.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();
          }
++        if (struct.dee != null) {
++          oprot.writeFieldBegin(DEE_FIELD_DESC);
++          struct.dee.write(oprot);
++          oprot.writeFieldEnd();
++        }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
-     private static class getGatewayGroups_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public getGatewayGroups_resultTupleScheme getScheme() {
-         return new getGatewayGroups_resultTupleScheme();
 -    private static class getParser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public getParser_resultTupleScheme getScheme() {
 -        return new getParser_resultTupleScheme();
++    private static class createGatewayGroups_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public createGatewayGroups_resultTupleScheme getScheme() {
++        return new createGatewayGroups_resultTupleScheme();
        }
      }
  
-     private static class getGatewayGroups_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGatewayGroups_result> {
 -    private static class getParser_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getParser_result> {
++    private static class createGatewayGroups_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<createGatewayGroups_result> {
  
        @Override
-       public void write(org.apache.thrift.protocol.TProtocol prot, getGatewayGroups_result struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol prot, getParser_result struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol prot, createGatewayGroups_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
          java.util.BitSet optionals = new java.util.BitSet();
--        if (struct.isSetSuccess()) {
++        if (struct.isSetRse()) {
            optionals.set(0);
          }
--        if (struct.isSetRse()) {
++        if (struct.isSetDee()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
--        if (struct.isSetSuccess()) {
--          struct.success.write(oprot);
--        }
          if (struct.isSetRse()) {
            struct.rse.write(oprot);
          }
++        if (struct.isSetDee()) {
++          struct.dee.write(oprot);
++        }
        }
  
        @Override
-       public void read(org.apache.thrift.protocol.TProtocol prot, getGatewayGroups_result struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol prot, getParser_result struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol prot, createGatewayGroups_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
          java.util.BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
-           struct.success = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups();
 -          struct.success = new org.apache.airavata.model.appcatalog.parser.Parser();
--          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);
          }
++        if (incoming.get(1)) {
++          struct.dee = new org.apache.airavata.model.error.DuplicateEntryException();
++          struct.dee.read(iprot);
++          struct.setDeeIsSet(true);
++        }
        }
      }
  
@@@ -203585,22 -204680,19 +200771,19 @@@
      }
    }
  
-   public static class getParser_args implements org.apache.thrift.TBase<getParser_args, getParser_args._Fields>, java.io.Serializable, Cloneable, Comparable<getParser_args>   {
-     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParser_args");
 -  public static class saveParser_args implements org.apache.thrift.TBase<saveParser_args, saveParser_args._Fields>, java.io.Serializable, Cloneable, Comparable<saveParser_args>   {
 -    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("saveParser_args");
++  public static class updateGatewayGroups_args implements org.apache.thrift.TBase<updateGatewayGroups_args, updateGatewayGroups_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateGatewayGroups_args>   {
++    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGatewayGroups_args");
  
-     private static final org.apache.thrift.protocol.TField PARSER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("parserId", org.apache.thrift.protocol.TType.STRING, (short)1);
-     private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)2);
 -    private static final org.apache.thrift.protocol.TField PARSER_FIELD_DESC = new org.apache.thrift.protocol.TField("parser", org.apache.thrift.protocol.TType.STRUCT, (short)1);
++    private static final org.apache.thrift.protocol.TField GATEWAY_GROUPS_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayGroups", org.apache.thrift.protocol.TType.STRUCT, (short)1);
  
-     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParser_argsStandardSchemeFactory();
-     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParser_argsTupleSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new saveParser_argsStandardSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new saveParser_argsTupleSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGatewayGroups_argsStandardSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGatewayGroups_argsTupleSchemeFactory();
  
-     public java.lang.String parserId; // required
-     public java.lang.String gatewayId; // required
 -    public org.apache.airavata.model.appcatalog.parser.Parser parser; // required
++    public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-       PARSER_ID((short)1, "parserId"),
-       GATEWAY_ID((short)2, "gatewayId");
 -      PARSER((short)1, "parser");
++      GATEWAY_GROUPS((short)1, "gatewayGroups");
  
        private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
  
@@@ -203615,10 -204707,8 +200798,8 @@@
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
-           case 1: // PARSER_ID
-             return PARSER_ID;
-           case 2: // GATEWAY_ID
-             return GATEWAY_ID;
 -          case 1: // PARSER
 -            return PARSER;
++          case 1: // GATEWAY_GROUPS
++            return GATEWAY_GROUPS;
            default:
              return null;
          }
@@@ -203662,111 -204752,71 +200843,71 @@@
      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.PARSER_ID, new org.apache.thrift.meta_data.FieldMetaData("parserId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-       tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
 -      tmpMap.put(_Fields.PARSER, new org.apache.thrift.meta_data.FieldMetaData("parser", org.apache.thrift.TFieldRequirementType.REQUIRED, 
 -          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.parser.Parser.class)));
++      tmpMap.put(_Fields.GATEWAY_GROUPS, new org.apache.thrift.meta_data.FieldMetaData("gatewayGroups", org.apache.thrift.TFieldRequirementType.REQUIRED, 
++          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups.class)));
        metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getParser_args.class, metaDataMap);
 -      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(saveParser_args.class, metaDataMap);
++      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateGatewayGroups_args.class, metaDataMap);
      }
  
-     public getParser_args() {
 -    public saveParser_args() {
++    public updateGatewayGroups_args() {
      }
  
-     public getParser_args(
-       java.lang.String parserId,
-       java.lang.String gatewayId)
 -    public saveParser_args(
 -      org.apache.airavata.model.appcatalog.parser.Parser parser)
++    public updateGatewayGroups_args(
++      org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups)
      {
        this();
-       this.parserId = parserId;
-       this.gatewayId = gatewayId;
 -      this.parser = parser;
++      this.gatewayGroups = gatewayGroups;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
-     public getParser_args(getParser_args other) {
-       if (other.isSetParserId()) {
-         this.parserId = other.parserId;
-       }
-       if (other.isSetGatewayId()) {
-         this.gatewayId = other.gatewayId;
 -    public saveParser_args(saveParser_args other) {
 -      if (other.isSetParser()) {
 -        this.parser = new org.apache.airavata.model.appcatalog.parser.Parser(other.parser);
++    public updateGatewayGroups_args(updateGatewayGroups_args other) {
++      if (other.isSetGatewayGroups()) {
++        this.gatewayGroups = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups(other.gatewayGroups);
        }
      }
  
-     public getParser_args deepCopy() {
-       return new getParser_args(this);
 -    public saveParser_args deepCopy() {
 -      return new saveParser_args(this);
++    public updateGatewayGroups_args deepCopy() {
++      return new updateGatewayGroups_args(this);
      }
  
      @Override
      public void clear() {
-       this.parserId = null;
-       this.gatewayId = null;
-     }
- 
-     public java.lang.String getParserId() {
-       return this.parserId;
-     }
- 
-     public getParser_args setParserId(java.lang.String parserId) {
-       this.parserId = parserId;
-       return this;
-     }
- 
-     public void unsetParserId() {
-       this.parserId = null;
-     }
- 
-     /** Returns true if field parserId is set (has been assigned a value) and false otherwise */
-     public boolean isSetParserId() {
-       return this.parserId != null;
-     }
- 
-     public void setParserIdIsSet(boolean value) {
-       if (!value) {
-         this.parserId = null;
-       }
 -      this.parser = null;
++      this.gatewayGroups = null;
      }
  
-     public java.lang.String getGatewayId() {
-       return this.gatewayId;
 -    public org.apache.airavata.model.appcatalog.parser.Parser getParser() {
 -      return this.parser;
++    public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups getGatewayGroups() {
++      return this.gatewayGroups;
      }
  
-     public getParser_args setGatewayId(java.lang.String gatewayId) {
-       this.gatewayId = gatewayId;
 -    public saveParser_args setParser(org.apache.airavata.model.appcatalog.parser.Parser parser) {
 -      this.parser = parser;
++    public updateGatewayGroups_args setGatewayGroups(org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups) {
++      this.gatewayGroups = gatewayGroups;
        return this;
      }
  
-     public void unsetGatewayId() {
-       this.gatewayId = null;
 -    public void unsetParser() {
 -      this.parser = null;
++    public void unsetGatewayGroups() {
++      this.gatewayGroups = null;
      }
  
-     /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
-     public boolean isSetGatewayId() {
-       return this.gatewayId != null;
 -    /** Returns true if field parser is set (has been assigned a value) and false otherwise */
 -    public boolean isSetParser() {
 -      return this.parser != null;
++    /** Returns true if field gatewayGroups is set (has been assigned a value) and false otherwise */
++    public boolean isSetGatewayGroups() {
++      return this.gatewayGroups != null;
      }
  
-     public void setGatewayIdIsSet(boolean value) {
 -    public void setParserIsSet(boolean value) {
++    public void setGatewayGroupsIsSet(boolean value) {
        if (!value) {
-         this.gatewayId = null;
 -        this.parser = null;
++        this.gatewayGroups = null;
        }
      }
  
      public void setFieldValue(_Fields field, java.lang.Object value) {
        switch (field) {
-       case PARSER_ID:
-         if (value == null) {
-           unsetParserId();
-         } else {
-           setParserId((java.lang.String)value);
-         }
-         break;
- 
-       case GATEWAY_ID:
 -      case PARSER:
++      case GATEWAY_GROUPS:
          if (value == null) {
-           unsetGatewayId();
 -          unsetParser();
++          unsetGatewayGroups();
          } else {
-           setGatewayId((java.lang.String)value);
 -          setParser((org.apache.airavata.model.appcatalog.parser.Parser)value);
++          setGatewayGroups((org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups)value);
          }
          break;
  
@@@ -203775,11 -204825,8 +200916,8 @@@
  
      public java.lang.Object getFieldValue(_Fields field) {
        switch (field) {
-       case PARSER_ID:
-         return getParserId();
- 
-       case GATEWAY_ID:
-         return getGatewayId();
 -      case PARSER:
 -        return getParser();
++      case GATEWAY_GROUPS:
++        return getGatewayGroups();
  
        }
        throw new java.lang.IllegalStateException();
@@@ -203792,10 -204839,8 +200930,8 @@@
        }
  
        switch (field) {
-       case PARSER_ID:
-         return isSetParserId();
-       case GATEWAY_ID:
-         return isSetGatewayId();
 -      case PARSER:
 -        return isSetParser();
++      case GATEWAY_GROUPS:
++        return isSetGatewayGroups();
        }
        throw new java.lang.IllegalStateException();
      }
@@@ -203804,32 -204849,23 +200940,23 @@@
      public boolean equals(java.lang.Object that) {
        if (that == null)
          return false;
-       if (that instanceof getParser_args)
-         return this.equals((getParser_args)that);
 -      if (that instanceof saveParser_args)
 -        return this.equals((saveParser_args)that);
++      if (that instanceof updateGatewayGroups_args)
++        return this.equals((updateGatewayGroups_args)that);
        return false;
      }
  
-     public boolean equals(getParser_args that) {
 -    public boolean equals(saveParser_args that) {
++    public boolean equals(updateGatewayGroups_args that) {
        if (that == null)
          return false;
        if (this == that)
          return true;
  
-       boolean this_present_parserId = true && this.isSetParserId();
-       boolean that_present_parserId = true && that.isSetParserId();
-       if (this_present_parserId || that_present_parserId) {
-         if (!(this_present_parserId && that_present_parserId))
-           return false;
-         if (!this.parserId.equals(that.parserId))
-           return false;
-       }
- 
-       boolean this_present_gatewayId = true && this.isSetGatewayId();
-       boolean that_present_gatewayId = true && that.isSetGatewayId();
-       if (this_present_gatewayId || that_present_gatewayId) {
-         if (!(this_present_gatewayId && that_present_gatewayId))
 -      boolean this_present_parser = true && this.isSetParser();
 -      boolean that_present_parser = true && that.isSetParser();
 -      if (this_present_parser || that_present_parser) {
 -        if (!(this_present_parser && that_present_parser))
++      boolean this_present_gatewayGroups = true && this.isSetGatewayGroups();
++      boolean that_present_gatewayGroups = true && that.isSetGatewayGroups();
++      if (this_present_gatewayGroups || that_present_gatewayGroups) {
++        if (!(this_present_gatewayGroups && that_present_gatewayGroups))
            return false;
-         if (!this.gatewayId.equals(that.gatewayId))
 -        if (!this.parser.equals(that.parser))
++        if (!this.gatewayGroups.equals(that.gatewayGroups))
            return false;
        }
  
@@@ -203840,41 -204876,27 +200967,27 @@@
      public int hashCode() {
        int hashCode = 1;
  
-       hashCode = hashCode * 8191 + ((isSetParserId()) ? 131071 : 524287);
-       if (isSetParserId())
-         hashCode = hashCode * 8191 + parserId.hashCode();
- 
-       hashCode = hashCode * 8191 + ((isSetGatewayId()) ? 131071 : 524287);
-       if (isSetGatewayId())
-         hashCode = hashCode * 8191 + gatewayId.hashCode();
 -      hashCode = hashCode * 8191 + ((isSetParser()) ? 131071 : 524287);
 -      if (isSetParser())
 -        hashCode = hashCode * 8191 + parser.hashCode();
++      hashCode = hashCode * 8191 + ((isSetGatewayGroups()) ? 131071 : 524287);
++      if (isSetGatewayGroups())
++        hashCode = hashCode * 8191 + gatewayGroups.hashCode();
  
        return hashCode;
      }
  
      @Override
-     public int compareTo(getParser_args other) {
 -    public int compareTo(saveParser_args other) {
++    public int compareTo(updateGatewayGroups_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
-       lastComparison = java.lang.Boolean.valueOf(isSetParserId()).compareTo(other.isSetParserId());
-       if (lastComparison != 0) {
-         return lastComparison;
-       }
-       if (isSetParserId()) {
-         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.parserId, other.parserId);
-         if (lastComparison != 0) {
-           return lastComparison;
-         }
-       }
-       lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
 -      lastComparison = java.lang.Boolean.valueOf(isSetParser()).compareTo(other.isSetParser());
++      lastComparison = java.lang.Boolean.valueOf(isSetGatewayGroups()).compareTo(other.isSetGatewayGroups());
        if (lastComparison != 0) {
          return lastComparison;
        }
-       if (isSetGatewayId()) {
-         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
 -      if (isSetParser()) {
 -        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.parser, other.parser);
++      if (isSetGatewayGroups()) {
++        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayGroups, other.gatewayGroups);
          if (lastComparison != 0) {
            return lastComparison;
          }
@@@ -203896,22 -204918,14 +201009,14 @@@
  
      @Override
      public java.lang.String toString() {
-       java.lang.StringBuilder sb = new java.lang.StringBuilder("getParser_args(");
 -      java.lang.StringBuilder sb = new java.lang.StringBuilder("saveParser_args(");
++      java.lang.StringBuilder sb = new java.lang.StringBuilder("updateGatewayGroups_args(");
        boolean first = true;
  
-       sb.append("parserId:");
-       if (this.parserId == null) {
-         sb.append("null");
-       } else {
-         sb.append(this.parserId);
-       }
-       first = false;
-       if (!first) sb.append(", ");
-       sb.append("gatewayId:");
-       if (this.gatewayId == null) {
 -      sb.append("parser:");
 -      if (this.parser == null) {
++      sb.append("gatewayGroups:");
++      if (this.gatewayGroups == null) {
          sb.append("null");
        } else {
-         sb.append(this.gatewayId);
 -        sb.append(this.parser);
++        sb.append(this.gatewayGroups);
        }
        first = false;
        sb.append(")");
@@@ -203920,13 -204934,13 +201025,13 @@@
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
-       if (parserId == null) {
-         throw new org.apache.thrift.protocol.TProtocolException("Required field 'parserId' was not present! Struct: " + toString());
-       }
-       if (gatewayId == null) {
-         throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
 -      if (parser == null) {
 -        throw new org.apache.thrift.protocol.TProtocolException("Required field 'parser' was not present! Struct: " + toString());
++      if (gatewayGroups == null) {
++        throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayGroups' was not present! Struct: " + toString());
        }
        // check for sub-struct validity
 -      if (parser != null) {
 -        parser.validate();
++      if (gatewayGroups != null) {
++        gatewayGroups.validate();
+       }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@@ -203945,15 -204959,15 +201050,15 @@@
        }
      }
  
-     private static class getParser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public getParser_argsStandardScheme getScheme() {
-         return new getParser_argsStandardScheme();
 -    private static class saveParser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public saveParser_argsStandardScheme getScheme() {
 -        return new saveParser_argsStandardScheme();
++    private static class updateGatewayGroups_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public updateGatewayGroups_argsStandardScheme getScheme() {
++        return new updateGatewayGroups_argsStandardScheme();
        }
      }
  
-     private static class getParser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParser_args> {
 -    private static class saveParser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<saveParser_args> {
++    private static class updateGatewayGroups_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGatewayGroups_args> {
  
-       public void read(org.apache.thrift.protocol.TProtocol iprot, getParser_args struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol iprot, saveParser_args struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol iprot, updateGatewayGroups_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
@@@ -203963,18 -204977,11 +201068,11 @@@
              break;
            }
            switch (schemeField.id) {
-             case 1: // PARSER_ID
-               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                 struct.parserId = iprot.readString();
-                 struct.setParserIdIsSet(true);
-               } else { 
-                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-               }
-               break;
-             case 2: // GATEWAY_ID
-               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                 struct.gatewayId = iprot.readString();
-                 struct.setGatewayIdIsSet(true);
 -            case 1: // PARSER
++            case 1: // GATEWAY_GROUPS
+               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
 -                struct.parser = new org.apache.airavata.model.appcatalog.parser.Parser();
 -                struct.parser.read(iprot);
 -                struct.setParserIsSet(true);
++                struct.gatewayGroups = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups();
++                struct.gatewayGroups.read(iprot);
++                struct.setGatewayGroupsIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
@@@ -203990,18 -204997,13 +201088,13 @@@
          struct.validate();
        }
  
-       public void write(org.apache.thrift.protocol.TProtocol oprot, getParser_args struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol oprot, saveParser_args struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol oprot, updateGatewayGroups_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
-         if (struct.parserId != null) {
-           oprot.writeFieldBegin(PARSER_ID_FIELD_DESC);
-           oprot.writeString(struct.parserId);
-           oprot.writeFieldEnd();
-         }
-         if (struct.gatewayId != null) {
-           oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
-           oprot.writeString(struct.gatewayId);
 -        if (struct.parser != null) {
 -          oprot.writeFieldBegin(PARSER_FIELD_DESC);
 -          struct.parser.write(oprot);
++        if (struct.gatewayGroups != null) {
++          oprot.writeFieldBegin(GATEWAY_GROUPS_FIELD_DESC);
++          struct.gatewayGroups.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
@@@ -204010,28 -205012,26 +201103,26 @@@
  
      }
  
-     private static class getParser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public getParser_argsTupleScheme getScheme() {
-         return new getParser_argsTupleScheme();
 -    private static class saveParser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public saveParser_argsTupleScheme getScheme() {
 -        return new saveParser_argsTupleScheme();
++    private static class updateGatewayGroups_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public updateGatewayGroups_argsTupleScheme getScheme() {
++        return new updateGatewayGroups_argsTupleScheme();
        }
      }
  
-     private static class getParser_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getParser_args> {
 -    private static class saveParser_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<saveParser_args> {
++    private static class updateGatewayGroups_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<updateGatewayGroups_args> {
  
        @Override
-       public void write(org.apache.thrift.protocol.TProtocol prot, getParser_args struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol prot, saveParser_args struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol prot, updateGatewayGroups_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-         oprot.writeString(struct.parserId);
-         oprot.writeString(struct.gatewayId);
 -        struct.parser.write(oprot);
++        struct.gatewayGroups.write(oprot);
        }
  
        @Override
-       public void read(org.apache.thrift.protocol.TProtocol prot, getParser_args struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol prot, saveParser_args struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol prot, updateGatewayGroups_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-         struct.parserId = iprot.readString();
-         struct.setParserIdIsSet(true);
-         struct.gatewayId = iprot.readString();
-         struct.setGatewayIdIsSet(true);
 -        struct.parser = new org.apache.airavata.model.appcatalog.parser.Parser();
 -        struct.parser.read(iprot);
 -        struct.setParserIsSet(true);
++        struct.gatewayGroups = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups();
++        struct.gatewayGroups.read(iprot);
++        struct.setGatewayGroupsIsSet(true);
        }
      }
  
@@@ -204040,21 -205040,21 +201131,18 @@@
      }
    }
  
-   public static class getParser_result implements org.apache.thrift.TBase<getParser_result, getParser_result._Fields>, java.io.Serializable, Cloneable, Comparable<getParser_result>   {
-     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParser_result");
 -  public static class saveParser_result implements org.apache.thrift.TBase<saveParser_result, saveParser_result._Fields>, java.io.Serializable, Cloneable, Comparable<saveParser_result>   {
 -    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("saveParser_result");
++  public static class updateGatewayGroups_result implements org.apache.thrift.TBase<updateGatewayGroups_result, updateGatewayGroups_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateGatewayGroups_result>   {
++    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGatewayGroups_result");
  
-     private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
 -    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.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 getParser_resultStandardSchemeFactory();
-     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParser_resultTupleSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new saveParser_resultStandardSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new saveParser_resultTupleSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGatewayGroups_resultStandardSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGatewayGroups_resultTupleSchemeFactory();
  
-     public org.apache.airavata.model.appcatalog.parser.Parser success; // required
 -    public java.lang.String success; // required
      public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      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>();
@@@ -204070,8 -205070,8 +201158,6 @@@
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
--          case 0: // SUCCESS
--            return SUCCESS;
            case 1: // RSE
              return RSE;
            default:
@@@ -204117,77 -205117,77 +201203,45 @@@
      public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
--      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.parser.Parser.class)));
 -          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
        metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getParser_result.class, metaDataMap);
 -      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(saveParser_result.class, metaDataMap);
++      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateGatewayGroups_result.class, metaDataMap);
      }
  
-     public getParser_result() {
 -    public saveParser_result() {
++    public updateGatewayGroups_result() {
      }
  
-     public getParser_result(
-       org.apache.airavata.model.appcatalog.parser.Parser success,
 -    public saveParser_result(
 -      java.lang.String success,
++    public updateGatewayGroups_result(
        org.apache.airavata.registry.api.exception.RegistryServiceException rse)
      {
        this();
--      this.success = success;
        this.rse = rse;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
-     public getParser_result(getParser_result other) {
 -    public saveParser_result(saveParser_result other) {
--      if (other.isSetSuccess()) {
-         this.success = new org.apache.airavata.model.appcatalog.parser.Parser(other.success);
 -        this.success = other.success;
--      }
++    public updateGatewayGroups_result(updateGatewayGroups_result other) {
        if (other.isSetRse()) {
          this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
        }
      }
  
-     public getParser_result deepCopy() {
-       return new getParser_result(this);
 -    public saveParser_result deepCopy() {
 -      return new saveParser_result(this);
++    public updateGatewayGroups_result deepCopy() {
++      return new updateGatewayGroups_result(this);
      }
  
      @Override
      public void clear() {
--      this.success = null;
        this.rse = null;
      }
  
-     public org.apache.airavata.model.appcatalog.parser.Parser getSuccess() {
 -    public java.lang.String getSuccess() {
--      return this.success;
--    }
--
-     public getParser_result setSuccess(org.apache.airavata.model.appcatalog.parser.Parser success) {
 -    public saveParser_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 getParser_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
 -    public saveParser_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
++    public updateGatewayGroups_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
        this.rse = rse;
        return this;
      }
@@@ -204209,14 -205209,14 +201263,6 @@@
  
      public void setFieldValue(_Fields field, java.lang.Object value) {
        switch (field) {
--      case SUCCESS:
--        if (value == null) {
--          unsetSuccess();
--        } else {
-           setSuccess((org.apache.airavata.model.appcatalog.parser.Parser)value);
 -          setSuccess((java.lang.String)value);
--        }
--        break;
--
        case RSE:
          if (value == null) {
            unsetRse();
@@@ -204230,9 -205230,9 +201276,6 @@@
  
      public java.lang.Object getFieldValue(_Fields field) {
        switch (field) {
--      case SUCCESS:
--        return getSuccess();
--
        case RSE:
          return getRse();
  
@@@ -204247,8 -205247,8 +201290,6 @@@
        }
  
        switch (field) {
--      case SUCCESS:
--        return isSetSuccess();
        case RSE:
          return isSetRse();
        }
@@@ -204259,26 -205259,26 +201300,17 @@@
      public boolean equals(java.lang.Object that) {
        if (that == null)
          return false;
-       if (that instanceof getParser_result)
-         return this.equals((getParser_result)that);
 -      if (that instanceof saveParser_result)
 -        return this.equals((saveParser_result)that);
++      if (that instanceof updateGatewayGroups_result)
++        return this.equals((updateGatewayGroups_result)that);
        return false;
      }
  
-     public boolean equals(getParser_result that) {
 -    public boolean equals(saveParser_result that) {
++    public boolean equals(updateGatewayGroups_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) {
@@@ -204295,10 -205295,10 +201327,6 @@@
      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();
@@@ -204307,23 -205307,23 +201335,13 @@@
      }
  
      @Override
-     public int compareTo(getParser_result other) {
 -    public int compareTo(saveParser_result other) {
++    public int compareTo(updateGatewayGroups_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
--      lastComparison = java.lang.Boolean.valueOf(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;
@@@ -204351,17 -205351,17 +201369,9 @@@
  
      @Override
      public java.lang.String toString() {
-       java.lang.StringBuilder sb = new java.lang.StringBuilder("getParser_result(");
 -      java.lang.StringBuilder sb = new java.lang.StringBuilder("saveParser_result(");
++      java.lang.StringBuilder sb = new java.lang.StringBuilder("updateGatewayGroups_result(");
        boolean first = true;
  
--      sb.append("success:");
--      if (this.success == null) {
--        sb.append("null");
--      } else {
--        sb.append(this.success);
--      }
--      first = false;
--      if (!first) sb.append(", ");
        sb.append("rse:");
        if (this.rse == null) {
          sb.append("null");
@@@ -204397,15 -205394,15 +201404,15 @@@
        }
      }
  
-     private static class getParser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public getParser_resultStandardScheme getScheme() {
-         return new getParser_resultStandardScheme();
 -    private static class saveParser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public saveParser_resultStandardScheme getScheme() {
 -        return new saveParser_resultStandardScheme();
++    private static class updateGatewayGroups_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public updateGatewayGroups_resultStandardScheme getScheme() {
++        return new updateGatewayGroups_resultStandardScheme();
        }
      }
  
-     private static class getParser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParser_result> {
 -    private static class saveParser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<saveParser_result> {
++    private static class updateGatewayGroups_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGatewayGroups_result> {
  
-       public void read(org.apache.thrift.protocol.TProtocol iprot, getParser_result struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol iprot, saveParser_result struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol iprot, updateGatewayGroups_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
@@@ -204415,15 -205412,14 +201422,6 @@@
              break;
            }
            switch (schemeField.id) {
--            case 0: // SUCCESS
-               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                 struct.success = new org.apache.airavata.model.appcatalog.parser.Parser();
-                 struct.success.read(iprot);
 -              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();
@@@ -204444,15 -205440,15 +201442,10 @@@
          struct.validate();
        }
  
-       public void write(org.apache.thrift.protocol.TProtocol oprot, getParser_result struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol oprot, saveParser_result struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol oprot, updateGatewayGroups_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
--        if (struct.success != null) {
--          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-           struct.success.write(oprot);
 -          oprot.writeString(struct.success);
--          oprot.writeFieldEnd();
--        }
          if (struct.rse != null) {
            oprot.writeFieldBegin(RSE_FIELD_DESC);
            struct.rse.write(oprot);
@@@ -204464,43 -205460,42 +201457,32 @@@
  
      }
  
-     private static class getParser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public getParser_resultTupleScheme getScheme() {
-         return new getParser_resultTupleScheme();
 -    private static class saveParser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public saveParser_resultTupleScheme getScheme() {
 -        return new saveParser_resultTupleScheme();
++    private static class updateGatewayGroups_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public updateGatewayGroups_resultTupleScheme getScheme() {
++        return new updateGatewayGroups_resultTupleScheme();
        }
      }
  
-     private static class getParser_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getParser_result> {
 -    private static class saveParser_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<saveParser_result> {
++    private static class updateGatewayGroups_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<updateGatewayGroups_result> {
  
        @Override
-       public void write(org.apache.thrift.protocol.TProtocol prot, getParser_result struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol prot, saveParser_result struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol prot, updateGatewayGroups_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
          java.util.BitSet optionals = new java.util.BitSet();
--        if (struct.isSetSuccess()) {
--          optionals.set(0);
--        }
          if (struct.isSetRse()) {
--          optionals.set(1);
--        }
--        oprot.writeBitSet(optionals, 2);
--        if (struct.isSetSuccess()) {
-           struct.success.write(oprot);
 -          oprot.writeString(struct.success);
++          optionals.set(0);
          }
++        oprot.writeBitSet(optionals, 1);
          if (struct.isSetRse()) {
            struct.rse.write(oprot);
          }
        }
  
        @Override
-       public void read(org.apache.thrift.protocol.TProtocol prot, getParser_result struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol prot, saveParser_result struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol prot, updateGatewayGroups_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
--        java.util.BitSet incoming = iprot.readBitSet(2);
++        java.util.BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
-           struct.success = new org.apache.airavata.model.appcatalog.parser.Parser();
-           struct.success.read(iprot);
 -          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);
@@@ -204513,15 -205508,15 +201495,15 @@@
      }
    }
  
-   public static class saveParser_args implements org.apache.thrift.TBase<saveParser_args, saveParser_args._Fields>, java.io.Serializable, Cloneable, Comparable<saveParser_args>   {
-     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("saveParser_args");
 -  public static class listAllParsers_args implements org.apache.thrift.TBase<listAllParsers_args, listAllParsers_args._Fields>, java.io.Serializable, Cloneable, Comparable<listAllParsers_args>   {
 -    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("listAllParsers_args");
++  public static class isGatewayGroupsExists_args implements org.apache.thrift.TBase<isGatewayGroupsExists_args, isGatewayGroupsExists_args._Fields>, java.io.Serializable, Cloneable, Comparable<isGatewayGroupsExists_args>   {
++    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isGatewayGroupsExists_args");
  
-     private static final org.apache.thrift.protocol.TField PARSER_FIELD_DESC = new org.apache.thrift.protocol.TField("parser", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+     private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)1);
  
-     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new saveParser_argsStandardSchemeFactory();
-     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new saveParser_argsTupleSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listAllParsers_argsStandardSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listAllParsers_argsTupleSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isGatewayGroupsExists_argsStandardSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isGatewayGroupsExists_argsTupleSchemeFactory();
  
-     public org.apache.airavata.model.appcatalog.parser.Parser parser; // required
+     public java.lang.String gatewayId; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@@ -204585,46 -205580,46 +201567,46 @@@
      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.PARSER, new org.apache.thrift.meta_data.FieldMetaData("parser", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.parser.Parser.class)));
+       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(saveParser_args.class, metaDataMap);
 -      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(listAllParsers_args.class, metaDataMap);
++      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(isGatewayGroupsExists_args.class, metaDataMap);
      }
  
-     public saveParser_args() {
 -    public listAllParsers_args() {
++    public isGatewayGroupsExists_args() {
      }
  
-     public saveParser_args(
-       org.apache.airavata.model.appcatalog.parser.Parser parser)
 -    public listAllParsers_args(
++    public isGatewayGroupsExists_args(
+       java.lang.String gatewayId)
      {
        this();
-       this.parser = parser;
+       this.gatewayId = gatewayId;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
-     public saveParser_args(saveParser_args other) {
-       if (other.isSetParser()) {
-         this.parser = new org.apache.airavata.model.appcatalog.parser.Parser(other.parser);
 -    public listAllParsers_args(listAllParsers_args other) {
++    public isGatewayGroupsExists_args(isGatewayGroupsExists_args other) {
+       if (other.isSetGatewayId()) {
+         this.gatewayId = other.gatewayId;
        }
      }
  
-     public saveParser_args deepCopy() {
-       return new saveParser_args(this);
 -    public listAllParsers_args deepCopy() {
 -      return new listAllParsers_args(this);
++    public isGatewayGroupsExists_args deepCopy() {
++      return new isGatewayGroupsExists_args(this);
      }
  
      @Override
      public void clear() {
-       this.parser = null;
+       this.gatewayId = null;
      }
  
-     public org.apache.airavata.model.appcatalog.parser.Parser getParser() {
-       return this.parser;
+     public java.lang.String getGatewayId() {
+       return this.gatewayId;
      }
  
-     public saveParser_args setParser(org.apache.airavata.model.appcatalog.parser.Parser parser) {
-       this.parser = parser;
 -    public listAllParsers_args setGatewayId(java.lang.String gatewayId) {
++    public isGatewayGroupsExists_args setGatewayId(java.lang.String gatewayId) {
+       this.gatewayId = gatewayId;
        return this;
      }
  
@@@ -204682,12 -205677,12 +201664,12 @@@
      public boolean equals(java.lang.Object that) {
        if (that == null)
          return false;
-       if (that instanceof saveParser_args)
-         return this.equals((saveParser_args)that);
 -      if (that instanceof listAllParsers_args)
 -        return this.equals((listAllParsers_args)that);
++      if (that instanceof isGatewayGroupsExists_args)
++        return this.equals((isGatewayGroupsExists_args)that);
        return false;
      }
  
-     public boolean equals(saveParser_args that) {
 -    public boolean equals(listAllParsers_args that) {
++    public boolean equals(isGatewayGroupsExists_args that) {
        if (that == null)
          return false;
        if (this == that)
@@@ -204717,7 -205712,7 +201699,7 @@@
      }
  
      @Override
-     public int compareTo(saveParser_args other) {
 -    public int compareTo(listAllParsers_args other) {
++    public int compareTo(isGatewayGroupsExists_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
@@@ -204751,14 -205746,14 +201733,14 @@@
  
      @Override
      public java.lang.String toString() {
-       java.lang.StringBuilder sb = new java.lang.StringBuilder("saveParser_args(");
 -      java.lang.StringBuilder sb = new java.lang.StringBuilder("listAllParsers_args(");
++      java.lang.StringBuilder sb = new java.lang.StringBuilder("isGatewayGroupsExists_args(");
        boolean first = true;
  
-       sb.append("parser:");
-       if (this.parser == null) {
+       sb.append("gatewayId:");
+       if (this.gatewayId == null) {
          sb.append("null");
        } else {
-         sb.append(this.parser);
+         sb.append(this.gatewayId);
        }
        first = false;
        sb.append(")");
@@@ -204792,15 -205784,15 +201771,15 @@@
        }
      }
  
-     private static class saveParser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public saveParser_argsStandardScheme getScheme() {
-         return new saveParser_argsStandardScheme();
 -    private static class listAllParsers_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public listAllParsers_argsStandardScheme getScheme() {
 -        return new listAllParsers_argsStandardScheme();
++    private static class isGatewayGroupsExists_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public isGatewayGroupsExists_argsStandardScheme getScheme() {
++        return new isGatewayGroupsExists_argsStandardScheme();
        }
      }
  
-     private static class saveParser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<saveParser_args> {
 -    private static class listAllParsers_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<listAllParsers_args> {
++    private static class isGatewayGroupsExists_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isGatewayGroupsExists_args> {
  
-       public void read(org.apache.thrift.protocol.TProtocol iprot, saveParser_args struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol iprot, listAllParsers_args struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol iprot, isGatewayGroupsExists_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
@@@ -204830,7 -205821,7 +201808,7 @@@
          struct.validate();
        }
  
-       public void write(org.apache.thrift.protocol.TProtocol oprot, saveParser_args struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol oprot, listAllParsers_args struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol oprot, isGatewayGroupsExists_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
@@@ -204845,26 -205836,25 +201823,25 @@@
  
      }
  
-     private static class saveParser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public saveParser_argsTupleScheme getScheme() {
-         return new saveParser_argsTupleScheme();
 -    private static class listAllParsers_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public listAllParsers_argsTupleScheme getScheme() {
 -        return new listAllParsers_argsTupleScheme();
++    private static class isGatewayGroupsExists_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public isGatewayGroupsExists_argsTupleScheme getScheme() {
++        return new isGatewayGroupsExists_argsTupleScheme();
        }
      }
  
-     private static class saveParser_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<saveParser_args> {
 -    private static class listAllParsers_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<listAllParsers_args> {
++    private static class isGatewayGroupsExists_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<isGatewayGroupsExists_args> {
  
        @Override
-       public void write(org.apache.thrift.protocol.TProtocol prot, saveParser_args struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol prot, listAllParsers_args struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol prot, isGatewayGroupsExists_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-         struct.parser.write(oprot);
+         oprot.writeString(struct.gatewayId);
        }
  
        @Override
-       public void read(org.apache.thrift.protocol.TProtocol prot, saveParser_args struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol prot, listAllParsers_args struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol prot, isGatewayGroupsExists_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-         struct.parser = new org.apache.airavata.model.appcatalog.parser.Parser();
-         struct.parser.read(iprot);
-         struct.setParserIsSet(true);
+         struct.gatewayId = iprot.readString();
+         struct.setGatewayIdIsSet(true);
        }
      }
  
@@@ -204873,16 -205863,16 +201850,16 @@@
      }
    }
  
-   public static class saveParser_result implements org.apache.thrift.TBase<saveParser_result, saveParser_result._Fields>, java.io.Serializable, Cloneable, Comparable<saveParser_result>   {
-     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("saveParser_result");
 -  public static class listAllParsers_result implements org.apache.thrift.TBase<listAllParsers_result, listAllParsers_result._Fields>, java.io.Serializable, Cloneable, Comparable<listAllParsers_result>   {
 -    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("listAllParsers_result");
++  public static class isGatewayGroupsExists_result implements org.apache.thrift.TBase<isGatewayGroupsExists_result, isGatewayGroupsExists_result._Fields>, java.io.Serializable, Cloneable, Comparable<isGatewayGroupsExists_result>   {
++    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isGatewayGroupsExists_result");
  
-     private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
 -    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
++    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.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 saveParser_resultStandardSchemeFactory();
-     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new saveParser_resultTupleSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listAllParsers_resultStandardSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listAllParsers_resultTupleSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isGatewayGroupsExists_resultStandardSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isGatewayGroupsExists_resultTupleSchemeFactory();
  
-     public java.lang.String success; // required
 -    public java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> success; // required
++    public boolean success; // required
      public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@@ -204947,80 -205937,100 +201924,82 @@@
      }
  
      // 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.STRING)));
 -          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
 -              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.parser.Parser.class))));
++          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
        tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
        metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(saveParser_result.class, metaDataMap);
 -      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(listAllParsers_result.class, metaDataMap);
++      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(isGatewayGroupsExists_result.class, metaDataMap);
      }
  
-     public saveParser_result() {
 -    public listAllParsers_result() {
++    public isGatewayGroupsExists_result() {
      }
  
-     public saveParser_result(
-       java.lang.String success,
 -    public listAllParsers_result(
 -      java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> success,
++    public isGatewayGroupsExists_result(
++      boolean success,
        org.apache.airavata.registry.api.exception.RegistryServiceException rse)
      {
        this();
        this.success = success;
++      setSuccessIsSet(true);
        this.rse = rse;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
-     public saveParser_result(saveParser_result other) {
 -    public listAllParsers_result(listAllParsers_result other) {
--      if (other.isSetSuccess()) {
-         this.success = other.success;
 -        java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> __this__success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.Parser>(other.success.size());
 -        for (org.apache.airavata.model.appcatalog.parser.Parser other_element : other.success) {
 -          __this__success.add(new org.apache.airavata.model.appcatalog.parser.Parser(other_element));
 -        }
 -        this.success = __this__success;
--      }
++    public isGatewayGroupsExists_result(isGatewayGroupsExists_result other) {
++      __isset_bitfield = other.__isset_bitfield;
++      this.success = other.success;
        if (other.isSetRse()) {
          this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
        }
      }
  
-     public saveParser_result deepCopy() {
-       return new saveParser_result(this);
 -    public listAllParsers_result deepCopy() {
 -      return new listAllParsers_result(this);
++    public isGatewayGroupsExists_result deepCopy() {
++      return new isGatewayGroupsExists_result(this);
      }
  
      @Override
      public void clear() {
--      this.success = null;
++      setSuccessIsSet(false);
++      this.success = false;
        this.rse = null;
      }
  
-     public java.lang.String getSuccess() {
 -    public int getSuccessSize() {
 -      return (this.success == null) ? 0 : this.success.size();
 -    }
 -
 -    public java.util.Iterator<org.apache.airavata.model.appcatalog.parser.Parser> getSuccessIterator() {
 -      return (this.success == null) ? null : this.success.iterator();
 -    }
 -
 -    public void addToSuccess(org.apache.airavata.model.appcatalog.parser.Parser elem) {
 -      if (this.success == null) {
 -        this.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.Parser>();
 -      }
 -      this.success.add(elem);
 -    }
 -
 -    public java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> getSuccess() {
++    public boolean isSuccess() {
        return this.success;
      }
  
-     public saveParser_result setSuccess(java.lang.String success) {
 -    public listAllParsers_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> success) {
++    public isGatewayGroupsExists_result setSuccess(boolean success) {
        this.success = success;
++      setSuccessIsSet(true);
        return this;
      }
  
      public void unsetSuccess() {
--      this.success = null;
++      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean isSetSuccess() {
--      return this.success != null;
++      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
      }
  
      public void setSuccessIsSet(boolean value) {
--      if (!value) {
--        this.success = null;
--      }
++      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
      }
  
      public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
        return this.rse;
      }
  
-     public saveParser_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
 -    public listAllParsers_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
++    public isGatewayGroupsExists_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
        this.rse = rse;
        return this;
      }
@@@ -205046,7 -206056,7 +202025,7 @@@
          if (value == null) {
            unsetSuccess();
          } else {
-           setSuccess((java.lang.String)value);
 -          setSuccess((java.util.List<org.apache.airavata.model.appcatalog.parser.Parser>)value);
++          setSuccess((java.lang.Boolean)value);
          }
          break;
  
@@@ -205064,7 -206074,7 +202043,7 @@@
      public java.lang.Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
--        return getSuccess();
++        return isSuccess();
  
        case RSE:
          return getRse();
@@@ -205092,23 -206102,23 +202071,23 @@@
      public boolean equals(java.lang.Object that) {
        if (that == null)
          return false;
-       if (that instanceof saveParser_result)
-         return this.equals((saveParser_result)that);
 -      if (that instanceof listAllParsers_result)
 -        return this.equals((listAllParsers_result)that);
++      if (that instanceof isGatewayGroupsExists_result)
++        return this.equals((isGatewayGroupsExists_result)that);
        return false;
      }
  
-     public boolean equals(saveParser_result that) {
 -    public boolean equals(listAllParsers_result that) {
++    public boolean equals(isGatewayGroupsExists_result that) {
        if (that == null)
          return false;
        if (this == that)
          return true;
  
--      boolean this_present_success = true && this.isSetSuccess();
--      boolean that_present_success = true && that.isSetSuccess();
++      boolean this_present_success = true;
++      boolean that_present_success = true;
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
--        if (!this.success.equals(that.success))
++        if (this.success != that.success)
            return false;
        }
  
@@@ -205128,9 -206138,9 +202107,7 @@@
      public int hashCode() {
        int hashCode = 1;
  
--      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
--      if (isSetSuccess())
--        hashCode = hashCode * 8191 + success.hashCode();
++      hashCode = hashCode * 8191 + ((success) ? 131071 : 524287);
  
        hashCode = hashCode * 8191 + ((isSetRse()) ? 131071 : 524287);
        if (isSetRse())
@@@ -205140,7 -206150,7 +202117,7 @@@
      }
  
      @Override
-     public int compareTo(saveParser_result other) {
 -    public int compareTo(listAllParsers_result other) {
++    public int compareTo(isGatewayGroupsExists_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
@@@ -205184,15 -206194,15 +202161,11 @@@
  
      @Override
      public java.lang.String toString() {
-       java.lang.StringBuilder sb = new java.lang.StringBuilder("saveParser_result(");
 -      java.lang.StringBuilder sb = new java.lang.StringBuilder("listAllParsers_result(");
++      java.lang.StringBuilder sb = new java.lang.StringBuilder("isGatewayGroupsExists_result(");
        boolean first = true;
  
        sb.append("success:");
--      if (this.success == null) {
--        sb.append("null");
--      } else {
--        sb.append(this.success);
--      }
++      sb.append(this.success);
        first = false;
        if (!first) sb.append(", ");
        sb.append("rse:");
@@@ -205221,21 -206231,21 +202194,23 @@@
  
      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 saveParser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public saveParser_resultStandardScheme getScheme() {
-         return new saveParser_resultStandardScheme();
 -    private static class listAllParsers_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public listAllParsers_resultStandardScheme getScheme() {
 -        return new listAllParsers_resultStandardScheme();
++    private static class isGatewayGroupsExists_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public isGatewayGroupsExists_resultStandardScheme getScheme() {
++        return new isGatewayGroupsExists_resultStandardScheme();
        }
      }
  
-     private static class saveParser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<saveParser_result> {
 -    private static class listAllParsers_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<listAllParsers_result> {
++    private static class isGatewayGroupsExists_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isGatewayGroupsExists_result> {
  
-       public void read(org.apache.thrift.protocol.TProtocol iprot, saveParser_result struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol iprot, listAllParsers_result struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol iprot, isGatewayGroupsExists_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
@@@ -205246,8 -206256,19 +202221,8 @@@
            }
            switch (schemeField.id) {
              case 0: // SUCCESS
-               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                 struct.success = iprot.readString();
 -              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
 -                {
 -                  org.apache.thrift.protocol.TList _list498 = iprot.readListBegin();
 -                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.Parser>(_list498.size);
 -                  org.apache.airavata.model.appcatalog.parser.Parser _elem499;
 -                  for (int _i500 = 0; _i500 < _list498.size; ++_i500)
 -                  {
 -                    _elem499 = new org.apache.airavata.model.appcatalog.parser.Parser();
 -                    _elem499.read(iprot);
 -                    struct.success.add(_elem499);
 -                  }
 -                  iprot.readListEnd();
 -                }
++              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);
@@@ -205273,13 -206294,20 +202248,13 @@@
          struct.validate();
        }
  
-       public void write(org.apache.thrift.protocol.TProtocol oprot, saveParser_result struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol oprot, listAllParsers_result struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol oprot, isGatewayGroupsExists_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
--        if (struct.success != null) {
++        if (struct.isSetSuccess()) {
            oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-           oprot.writeString(struct.success);
 -          {
 -            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
 -            for (org.apache.airavata.model.appcatalog.parser.Parser _iter501 : struct.success)
 -            {
 -              _iter501.write(oprot);
 -            }
 -            oprot.writeListEnd();
 -          }
++          oprot.writeBool(struct.success);
            oprot.writeFieldEnd();
          }
          if (struct.rse != null) {
@@@ -205293,16 -206321,16 +202268,16 @@@
  
      }
  
-     private static class saveParser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public saveParser_resultTupleScheme getScheme() {
-         return new saveParser_resultTupleScheme();
 -    private static class listAllParsers_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public listAllParsers_resultTupleScheme getScheme() {
 -        return new listAllParsers_resultTupleScheme();
++    private static class isGatewayGroupsExists_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public isGatewayGroupsExists_resultTupleScheme getScheme() {
++        return new isGatewayGroupsExists_resultTupleScheme();
        }
      }
  
-     private static class saveParser_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<saveParser_result> {
 -    private static class listAllParsers_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<listAllParsers_result> {
++    private static class isGatewayGroupsExists_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<isGatewayGroupsExists_result> {
  
        @Override
-       public void write(org.apache.thrift.protocol.TProtocol prot, saveParser_result struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol prot, listAllParsers_result struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol prot, isGatewayGroupsExists_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
          java.util.BitSet optionals = new java.util.BitSet();
          if (struct.isSetSuccess()) {
@@@ -205313,7 -206341,13 +202288,7 @@@
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.isSetSuccess()) {
-           oprot.writeString(struct.success);
 -          {
 -            oprot.writeI32(struct.success.size());
 -            for (org.apache.airavata.model.appcatalog.parser.Parser _iter502 : struct.success)
 -            {
 -              _iter502.write(oprot);
 -            }
 -          }
++          oprot.writeBool(struct.success);
          }
          if (struct.isSetRse()) {
            struct.rse.write(oprot);
@@@ -205321,11 -206355,21 +202296,11 @@@
        }
  
        @Override
-       public void read(org.apache.thrift.protocol.TProtocol prot, saveParser_result struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol prot, listAllParsers_result struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol prot, isGatewayGroupsExists_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
          java.util.BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
-           struct.success = iprot.readString();
 -          {
 -            org.apache.thrift.protocol.TList _list503 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
 -            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.Parser>(_list503.size);
 -            org.apache.airavata.model.appcatalog.parser.Parser _elem504;
 -            for (int _i505 = 0; _i505 < _list503.size; ++_i505)
 -            {
 -              _elem504 = new org.apache.airavata.model.appcatalog.parser.Parser();
 -              _elem504.read(iprot);
 -              struct.success.add(_elem504);
 -            }
 -          }
++          struct.success = iprot.readBool();
            struct.setSuccessIsSet(true);
          }
          if (incoming.get(1)) {
@@@ -205341,14 -206385,16 +202316,14 @@@
      }
    }
  
-   public static class listAllParsers_args implements org.apache.thrift.TBase<listAllParsers_args, listAllParsers_args._Fields>, java.io.Serializable, Cloneable, Comparable<listAllParsers_args>   {
-     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("listAllParsers_args");
 -  public static class removeParser_args implements org.apache.thrift.TBase<removeParser_args, removeParser_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeParser_args>   {
 -    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeParser_args");
++  public static class getGatewayGroups_args implements org.apache.thrift.TBase<getGatewayGroups_args, getGatewayGroups_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGatewayGroups_args>   {
++    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGatewayGroups_args");
  
 -    private static final org.apache.thrift.protocol.TField PARSER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("parserId", org.apache.thrift.protocol.TType.STRING, (short)1);
 -    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)2);
 +    private static final org.apache.thrift.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 listAllParsers_argsStandardSchemeFactory();
-     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listAllParsers_argsTupleSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeParser_argsStandardSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeParser_argsTupleSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGatewayGroups_argsStandardSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGatewayGroups_argsTupleSchemeFactory();
  
 -    public java.lang.String parserId; // required
      public java.lang.String gatewayId; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@@ -205416,13 -206465,16 +202391,13 @@@
        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(listAllParsers_args.class, metaDataMap);
 -      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(removeParser_args.class, metaDataMap);
++      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGatewayGroups_args.class, metaDataMap);
      }
  
-     public listAllParsers_args() {
 -    public removeParser_args() {
++    public getGatewayGroups_args() {
      }
  
-     public listAllParsers_args(
 -    public removeParser_args(
 -      java.lang.String parserId,
++    public getGatewayGroups_args(
        java.lang.String gatewayId)
      {
        this();
@@@ -205432,14 -206485,17 +202407,14 @@@
      /**
       * Performs a deep copy on <i>other</i>.
       */
-     public listAllParsers_args(listAllParsers_args other) {
 -    public removeParser_args(removeParser_args other) {
 -      if (other.isSetParserId()) {
 -        this.parserId = other.parserId;
 -      }
++    public getGatewayGroups_args(getGatewayGroups_args other) {
        if (other.isSetGatewayId()) {
          this.gatewayId = other.gatewayId;
        }
      }
  
-     public listAllParsers_args deepCopy() {
-       return new listAllParsers_args(this);
 -    public removeParser_args deepCopy() {
 -      return new removeParser_args(this);
++    public getGatewayGroups_args deepCopy() {
++      return new getGatewayGroups_args(this);
      }
  
      @Override
@@@ -205451,7 -206532,7 +202426,7 @@@
        return this.gatewayId;
      }
  
-     public listAllParsers_args setGatewayId(java.lang.String gatewayId) {
 -    public removeParser_args setGatewayId(java.lang.String gatewayId) {
++    public getGatewayGroups_args setGatewayId(java.lang.String gatewayId) {
        this.gatewayId = gatewayId;
        return this;
      }
@@@ -205510,12 -206604,12 +202485,12 @@@
      public boolean equals(java.lang.Object that) {
        if (that == null)
          return false;
-       if (that instanceof listAllParsers_args)
-         return this.equals((listAllParsers_args)that);
 -      if (that instanceof removeParser_args)
 -        return this.equals((removeParser_args)that);
++      if (that instanceof getGatewayGroups_args)
++        return this.equals((getGatewayGroups_args)that);
        return false;
      }
  
-     public boolean equals(listAllParsers_args that) {
 -    public boolean equals(removeParser_args that) {
++    public boolean equals(getGatewayGroups_args that) {
        if (that == null)
          return false;
        if (this == that)
@@@ -205545,7 -206652,7 +202520,7 @@@
      }
  
      @Override
-     public int compareTo(listAllParsers_args other) {
 -    public int compareTo(removeParser_args other) {
++    public int compareTo(getGatewayGroups_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
@@@ -205579,9 -206696,17 +202554,9 @@@
  
      @Override
      public java.lang.String toString() {
-       java.lang.StringBuilder sb = new java.lang.StringBuilder("listAllParsers_args(");
 -      java.lang.StringBuilder sb = new java.lang.StringBuilder("removeParser_args(");
++      java.lang.StringBuilder sb = new java.lang.StringBuilder("getGatewayGroups_args(");
        boolean first = true;
  
 -      sb.append("parserId:");
 -      if (this.parserId == null) {
 -        sb.append("null");
 -      } else {
 -        sb.append(this.parserId);
 -      }
 -      first = false;
 -      if (!first) sb.append(", ");
        sb.append("gatewayId:");
        if (this.gatewayId == null) {
          sb.append("null");
@@@ -205617,15 -206745,15 +202592,15 @@@
        }
      }
  
-     private static class listAllParsers_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public listAllParsers_argsStandardScheme getScheme() {
-         return new listAllParsers_argsStandardScheme();
 -    private static class removeParser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public removeParser_argsStandardScheme getScheme() {
 -        return new removeParser_argsStandardScheme();
++    private static class getGatewayGroups_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public getGatewayGroups_argsStandardScheme getScheme() {
++        return new getGatewayGroups_argsStandardScheme();
        }
      }
  
-     private static class listAllParsers_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<listAllParsers_args> {
 -    private static class removeParser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeParser_args> {
++    private static class getGatewayGroups_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGatewayGroups_args> {
  
-       public void read(org.apache.thrift.protocol.TProtocol iprot, listAllParsers_args struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol iprot, removeParser_args struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol iprot, getGatewayGroups_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
@@@ -205654,7 -206790,7 +202629,7 @@@
          struct.validate();
        }
  
-       public void write(org.apache.thrift.protocol.TProtocol oprot, listAllParsers_args struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol oprot, removeParser_args struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol oprot, getGatewayGroups_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
@@@ -205669,23 -206810,26 +202644,23 @@@
  
      }
  
-     private static class listAllParsers_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public listAllParsers_argsTupleScheme getScheme() {
-         return new listAllParsers_argsTupleScheme();
 -    private static class removeParser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public removeParser_argsTupleScheme getScheme() {
 -        return new removeParser_argsTupleScheme();
++    private static class getGatewayGroups_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public getGatewayGroups_argsTupleScheme getScheme() {
++        return new getGatewayGroups_argsTupleScheme();
        }
      }
  
-     private static class listAllParsers_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<listAllParsers_args> {
 -    private static class removeParser_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<removeParser_args> {
++    private static class getGatewayGroups_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGatewayGroups_args> {
  
        @Override
-       public void write(org.apache.thrift.protocol.TProtocol prot, listAllParsers_args struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol prot, removeParser_args struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol prot, getGatewayGroups_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
 -        oprot.writeString(struct.parserId);
          oprot.writeString(struct.gatewayId);
        }
  
        @Override
-       public void read(org.apache.thrift.protocol.TProtocol prot, listAllParsers_args struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol prot, removeParser_args struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol prot, getGatewayGroups_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
 -        struct.parserId = iprot.readString();
 -        struct.setParserIdIsSet(true);
          struct.gatewayId = iprot.readString();
          struct.setGatewayIdIsSet(true);
        }
@@@ -205696,16 -206840,14 +202671,16 @@@
      }
    }
  
-   public static class listAllParsers_result implements org.apache.thrift.TBase<listAllParsers_result, listAllParsers_result._Fields>, java.io.Serializable, Cloneable, Comparable<listAllParsers_result>   {
-     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("listAllParsers_result");
 -  public static class removeParser_result implements org.apache.thrift.TBase<removeParser_result, removeParser_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeParser_result>   {
 -    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeParser_result");
++  public static class getGatewayGroups_result implements org.apache.thrift.TBase<getGatewayGroups_result, getGatewayGroups_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGatewayGroups_result>   {
++    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGatewayGroups_result");
  
-     private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
++    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
      private static final org.apache.thrift.protocol.TField RSE_FIELD_DESC = new org.apache.thrift.protocol.TField("rse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
  
-     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listAllParsers_resultStandardSchemeFactory();
-     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listAllParsers_resultTupleSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeParser_resultStandardSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeParser_resultTupleSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGatewayGroups_resultStandardSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGatewayGroups_resultTupleSchemeFactory();
  
-     public java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> success; // required
++    public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups success; // required
      public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@@ -205773,20 -206912,16 +202748,19 @@@
      public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
 +      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-           new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
-               new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.parser.Parser.class))));
++          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups.class)));
        tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
        metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(listAllParsers_result.class, metaDataMap);
 -      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(removeParser_result.class, metaDataMap);
++      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGatewayGroups_result.class, metaDataMap);
      }
  
-     public listAllParsers_result() {
 -    public removeParser_result() {
++    public getGatewayGroups_result() {
      }
  
-     public listAllParsers_result(
-       java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> success,
 -    public removeParser_result(
++    public getGatewayGroups_result(
++      org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups success,
        org.apache.airavata.registry.api.exception.RegistryServiceException rse)
      {
        this();
@@@ -205797,21 -206931,14 +202771,17 @@@
      /**
       * Performs a deep copy on <i>other</i>.
       */
-     public listAllParsers_result(listAllParsers_result other) {
 -    public removeParser_result(removeParser_result other) {
++    public getGatewayGroups_result(getGatewayGroups_result other) {
 +      if (other.isSetSuccess()) {
-         java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> __this__success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.Parser>(other.success.size());
-         for (org.apache.airavata.model.appcatalog.parser.Parser other_element : other.success) {
-           __this__success.add(new org.apache.airavata.model.appcatalog.parser.Parser(other_element));
-         }
-         this.success = __this__success;
++        this.success = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups(other.success);
 +      }
        if (other.isSetRse()) {
          this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
        }
      }
  
-     public listAllParsers_result deepCopy() {
-       return new listAllParsers_result(this);
 -    public removeParser_result deepCopy() {
 -      return new removeParser_result(this);
++    public getGatewayGroups_result deepCopy() {
++      return new getGatewayGroups_result(this);
      }
  
      @Override
@@@ -205820,50 -206946,11 +202790,35 @@@
        this.rse = null;
      }
  
-     public int getSuccessSize() {
-       return (this.success == null) ? 0 : this.success.size();
-     }
- 
-     public java.util.Iterator<org.apache.airavata.model.appcatalog.parser.Parser> getSuccessIterator() {
-       return (this.success == null) ? null : this.success.iterator();
-     }
- 
-     public void addToSuccess(org.apache.airavata.model.appcatalog.parser.Parser elem) {
-       if (this.success == null) {
-         this.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.Parser>();
-       }
-       this.success.add(elem);
-     }
- 
-     public java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> getSuccess() {
++    public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups getSuccess() {
 +      return this.success;
 +    }
 +
-     public listAllParsers_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> success) {
++    public getGatewayGroups_result setSuccess(org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups 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 listAllParsers_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
 -    public removeParser_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
++    public getGatewayGroups_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
        this.rse = rse;
        return this;
      }
@@@ -205885,14 -206972,6 +202840,14 @@@
  
      public void setFieldValue(_Fields field, java.lang.Object value) {
        switch (field) {
 +      case SUCCESS:
 +        if (value == null) {
 +          unsetSuccess();
 +        } else {
-           setSuccess((java.util.List<org.apache.airavata.model.appcatalog.parser.Parser>)value);
++          setSuccess((org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups)value);
 +        }
 +        break;
 +
        case RSE:
          if (value == null) {
            unsetRse();
@@@ -205935,12 -207009,12 +202890,12 @@@
      public boolean equals(java.lang.Object that) {
        if (that == null)
          return false;
-       if (that instanceof listAllParsers_result)
-         return this.equals((listAllParsers_result)that);
 -      if (that instanceof removeParser_result)
 -        return this.equals((removeParser_result)that);
++      if (that instanceof getGatewayGroups_result)
++        return this.equals((getGatewayGroups_result)that);
        return false;
      }
  
-     public boolean equals(listAllParsers_result that) {
 -    public boolean equals(removeParser_result that) {
++    public boolean equals(getGatewayGroups_result that) {
        if (that == null)
          return false;
        if (this == that)
@@@ -205983,7 -207044,7 +202938,7 @@@
      }
  
      @Override
-     public int compareTo(listAllParsers_result other) {
 -    public int compareTo(removeParser_result other) {
++    public int compareTo(getGatewayGroups_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
@@@ -206027,17 -207078,9 +202982,17 @@@
  
      @Override
      public java.lang.String toString() {
-       java.lang.StringBuilder sb = new java.lang.StringBuilder("listAllParsers_result(");
 -      java.lang.StringBuilder sb = new java.lang.StringBuilder("removeParser_result(");
++      java.lang.StringBuilder sb = new java.lang.StringBuilder("getGatewayGroups_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");
@@@ -206052,6 -207095,6 +203007,9 @@@
      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 {
@@@ -206070,15 -207113,15 +203028,15 @@@
        }
      }
  
-     private static class listAllParsers_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public listAllParsers_resultStandardScheme getScheme() {
-         return new listAllParsers_resultStandardScheme();
 -    private static class removeParser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public removeParser_resultStandardScheme getScheme() {
 -        return new removeParser_resultStandardScheme();
++    private static class getGatewayGroups_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public getGatewayGroups_resultStandardScheme getScheme() {
++        return new getGatewayGroups_resultStandardScheme();
        }
      }
  
-     private static class listAllParsers_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<listAllParsers_result> {
 -    private static class removeParser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeParser_result> {
++    private static class getGatewayGroups_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGatewayGroups_result> {
  
-       public void read(org.apache.thrift.protocol.TProtocol iprot, listAllParsers_result struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol iprot, removeParser_result struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol iprot, getGatewayGroups_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
@@@ -206088,25 -207131,6 +203046,15 @@@
              break;
            }
            switch (schemeField.id) {
 +            case 0: // SUCCESS
-               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-                 {
-                   org.apache.thrift.protocol.TList _list498 = iprot.readListBegin();
-                   struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.Parser>(_list498.size);
-                   org.apache.airavata.model.appcatalog.parser.Parser _elem499;
-                   for (int _i500 = 0; _i500 < _list498.size; ++_i500)
-                   {
-                     _elem499 = new org.apache.airavata.model.appcatalog.parser.Parser();
-                     _elem499.read(iprot);
-                     struct.success.add(_elem499);
-                   }
-                   iprot.readListEnd();
-                 }
++              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
++                struct.success = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups();
++                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();
@@@ -206127,22 -207151,10 +203075,15 @@@
          struct.validate();
        }
  
-       public void write(org.apache.thrift.protocol.TProtocol oprot, listAllParsers_result struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol oprot, removeParser_result struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol oprot, getGatewayGroups_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
 +        if (struct.success != null) {
 +          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-           {
-             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-             for (org.apache.airavata.model.appcatalog.parser.Parser _iter501 : struct.success)
-             {
-               _iter501.write(oprot);
-             }
-             oprot.writeListEnd();
-           }
++          struct.success.write(oprot);
 +          oprot.writeFieldEnd();
 +        }
          if (struct.rse != null) {
            oprot.writeFieldBegin(RSE_FIELD_DESC);
            struct.rse.write(oprot);
@@@ -206154,58 -207166,32 +203095,43 @@@
  
      }
  
-     private static class listAllParsers_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public listAllParsers_resultTupleScheme getScheme() {
-         return new listAllParsers_resultTupleScheme();
 -    private static class removeParser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public removeParser_resultTupleScheme getScheme() {
 -        return new removeParser_resultTupleScheme();
++    private static class getGatewayGroups_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public getGatewayGroups_resultTupleScheme getScheme() {
++        return new getGatewayGroups_resultTupleScheme();
        }
      }
  
-     private static class listAllParsers_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<listAllParsers_result> {
 -    private static class removeParser_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<removeParser_result> {
++    private static class getGatewayGroups_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getGatewayGroups_result> {
  
        @Override
-       public void write(org.apache.thrift.protocol.TProtocol prot, listAllParsers_result struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol prot, removeParser_result struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol prot, getGatewayGroups_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
          java.util.BitSet optionals = new java.util.BitSet();
 -        if (struct.isSetRse()) {
 +        if (struct.isSetSuccess()) {
            optionals.set(0);
          }
 -        oprot.writeBitSet(optionals, 1);
 +        if (struct.isSetRse()) {
 +          optionals.set(1);
 +        }
 +        oprot.writeBitSet(optionals, 2);
 +        if (struct.isSetSuccess()) {
-           {
-             oprot.writeI32(struct.success.size());
-             for (org.apache.airavata.model.appcatalog.parser.Parser _iter502 : struct.success)
-             {
-               _iter502.write(oprot);
-             }
-           }
++          struct.success.write(oprot);
 +        }
          if (struct.isSetRse()) {
            struct.rse.write(oprot);
          }
        }
  
        @Override
-       public void read(org.apache.thrift.protocol.TProtocol prot, listAllParsers_result struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol prot, removeParser_result struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol prot, getGatewayGroups_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
 -        java.util.BitSet incoming = iprot.readBitSet(1);
 +        java.util.BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
-           {
-             org.apache.thrift.protocol.TList _list503 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-             struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.Parser>(_list503.size);
-             org.apache.airavata.model.appcatalog.parser.Parser _elem504;
-             for (int _i505 = 0; _i505 < _list503.size; ++_i505)
-             {
-               _elem504 = new org.apache.airavata.model.appcatalog.parser.Parser();
-               _elem504.read(iprot);
-               struct.success.add(_elem504);
-             }
-           }
++          struct.success = new org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups();
++          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);
@@@ -206218,16 -207204,16 +203144,16 @@@
      }
    }
  
-   public static class removeParser_args implements org.apache.thrift.TBase<removeParser_args, removeParser_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeParser_args>   {
-     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeParser_args");
 -  public static class getParserInput_args implements org.apache.thrift.TBase<getParserInput_args, getParserInput_args._Fields>, java.io.Serializable, Cloneable, Comparable<getParserInput_args>   {
 -    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParserInput_args");
++  public static class getParser_args implements org.apache.thrift.TBase<getParser_args, getParser_args._Fields>, java.io.Serializable, Cloneable, Comparable<getParser_args>   {
++    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParser_args");
  
 -    private static final org.apache.thrift.protocol.TField PARSER_INPUT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("parserInputId", org.apache.thrift.protocol.TType.STRING, (short)1);
 +    private static final org.apache.thrift.protocol.TField PARSER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("parserId", org.apache.thrift.protocol.TType.STRING, (short)1);
      private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)2);
  
-     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeParser_argsStandardSchemeFactory();
-     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeParser_argsTupleSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParserInput_argsStandardSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParserInput_argsTupleSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParser_argsStandardSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParser_argsTupleSchemeFactory();
  
 -    public java.lang.String parserInputId; // required
 +    public java.lang.String parserId; // required
      public java.lang.String gatewayId; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@@ -206300,14 -207286,14 +203226,14 @@@
        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(removeParser_args.class, metaDataMap);
 -      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getParserInput_args.class, metaDataMap);
++      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getParser_args.class, metaDataMap);
      }
  
-     public removeParser_args() {
 -    public getParserInput_args() {
++    public getParser_args() {
      }
  
-     public removeParser_args(
 -    public getParserInput_args(
 -      java.lang.String parserInputId,
++    public getParser_args(
 +      java.lang.String parserId,
        java.lang.String gatewayId)
      {
        this();
@@@ -206318,17 -207304,17 +203244,17 @@@
      /**
       * Performs a deep copy on <i>other</i>.
       */
-     public removeParser_args(removeParser_args other) {
 -    public getParserInput_args(getParserInput_args other) {
 -      if (other.isSetParserInputId()) {
 -        this.parserInputId = other.parserInputId;
++    public getParser_args(getParser_args other) {
 +      if (other.isSetParserId()) {
 +        this.parserId = other.parserId;
        }
        if (other.isSetGatewayId()) {
          this.gatewayId = other.gatewayId;
        }
      }
  
-     public removeParser_args deepCopy() {
-       return new removeParser_args(this);
 -    public getParserInput_args deepCopy() {
 -      return new getParserInput_args(this);
++    public getParser_args deepCopy() {
++      return new getParser_args(this);
      }
  
      @Override
@@@ -206337,12 -207323,12 +203263,12 @@@
        this.gatewayId = null;
      }
  
 -    public java.lang.String getParserInputId() {
 -      return this.parserInputId;
 +    public java.lang.String getParserId() {
 +      return this.parserId;
      }
  
-     public removeParser_args setParserId(java.lang.String parserId) {
 -    public getParserInput_args setParserInputId(java.lang.String parserInputId) {
 -      this.parserInputId = parserInputId;
++    public getParser_args setParserId(java.lang.String parserId) {
 +      this.parserId = parserId;
        return this;
      }
  
@@@ -206365,7 -207351,7 +203291,7 @@@
        return this.gatewayId;
      }
  
-     public removeParser_args setGatewayId(java.lang.String gatewayId) {
 -    public getParserInput_args setGatewayId(java.lang.String gatewayId) {
++    public getParser_args setGatewayId(java.lang.String gatewayId) {
        this.gatewayId = gatewayId;
        return this;
      }
@@@ -206437,12 -207423,12 +203363,12 @@@
      public boolean equals(java.lang.Object that) {
        if (that == null)
          return false;
-       if (that instanceof removeParser_args)
-         return this.equals((removeParser_args)that);
 -      if (that instanceof getParserInput_args)
 -        return this.equals((getParserInput_args)that);
++      if (that instanceof getParser_args)
++        return this.equals((getParser_args)that);
        return false;
      }
  
-     public boolean equals(removeParser_args that) {
 -    public boolean equals(getParserInput_args that) {
++    public boolean equals(getParser_args that) {
        if (that == null)
          return false;
        if (this == that)
@@@ -206485,7 -207471,7 +203411,7 @@@
      }
  
      @Override
-     public int compareTo(removeParser_args other) {
 -    public int compareTo(getParserInput_args other) {
++    public int compareTo(getParser_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
@@@ -206529,14 -207515,14 +203455,14 @@@
  
      @Override
      public java.lang.String toString() {
-       java.lang.StringBuilder sb = new java.lang.StringBuilder("removeParser_args(");
 -      java.lang.StringBuilder sb = new java.lang.StringBuilder("getParserInput_args(");
++      java.lang.StringBuilder sb = new java.lang.StringBuilder("getParser_args(");
        boolean first = true;
  
 -      sb.append("parserInputId:");
 -      if (this.parserInputId == null) {
 +      sb.append("parserId:");
 +      if (this.parserId == null) {
          sb.append("null");
        } else {
 -        sb.append(this.parserInputId);
 +        sb.append(this.parserId);
        }
        first = false;
        if (!first) sb.append(", ");
@@@ -206578,15 -207564,15 +203504,15 @@@
        }
      }
  
-     private static class removeParser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public removeParser_argsStandardScheme getScheme() {
-         return new removeParser_argsStandardScheme();
 -    private static class getParserInput_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public getParserInput_argsStandardScheme getScheme() {
 -        return new getParserInput_argsStandardScheme();
++    private static class getParser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public getParser_argsStandardScheme getScheme() {
++        return new getParser_argsStandardScheme();
        }
      }
  
-     private static class removeParser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeParser_args> {
 -    private static class getParserInput_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParserInput_args> {
++    private static class getParser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParser_args> {
  
-       public void read(org.apache.thrift.protocol.TProtocol iprot, removeParser_args struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol iprot, getParserInput_args struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol iprot, getParser_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
@@@ -206623,7 -207609,7 +203549,7 @@@
          struct.validate();
        }
  
-       public void write(org.apache.thrift.protocol.TProtocol oprot, removeParser_args struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol oprot, getParserInput_args struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol oprot, getParser_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
@@@ -206643,26 -207629,26 +203569,26 @@@
  
      }
  
-     private static class removeParser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public removeParser_argsTupleScheme getScheme() {
-         return new removeParser_argsTupleScheme();
 -    private static class getParserInput_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public getParserInput_argsTupleScheme getScheme() {
 -        return new getParserInput_argsTupleScheme();
++    private static class getParser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public getParser_argsTupleScheme getScheme() {
++        return new getParser_argsTupleScheme();
        }
      }
  
-     private static class removeParser_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<removeParser_args> {
 -    private static class getParserInput_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getParserInput_args> {
++    private static class getParser_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getParser_args> {
  
        @Override
-       public void write(org.apache.thrift.protocol.TProtocol prot, removeParser_args struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol prot, getParserInput_args struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol prot, getParser_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
 -        oprot.writeString(struct.parserInputId);
 +        oprot.writeString(struct.parserId);
          oprot.writeString(struct.gatewayId);
        }
  
        @Override
-       public void read(org.apache.thrift.protocol.TProtocol prot, removeParser_args struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol prot, getParserInput_args struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol prot, getParser_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
 -        struct.parserInputId = iprot.readString();
 -        struct.setParserInputIdIsSet(true);
 +        struct.parserId = iprot.readString();
 +        struct.setParserIdIsSet(true);
          struct.gatewayId = iprot.readString();
          struct.setGatewayIdIsSet(true);
        }
@@@ -206673,14 -207659,16 +203599,16 @@@
      }
    }
  
-   public static class removeParser_result implements org.apache.thrift.TBase<removeParser_result, removeParser_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeParser_result>   {
-     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeParser_result");
 -  public static class getParserInput_result implements org.apache.thrift.TBase<getParserInput_result, getParserInput_result._Fields>, java.io.Serializable, Cloneable, Comparable<getParserInput_result>   {
 -    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParserInput_result");
++  public static class getParser_result implements org.apache.thrift.TBase<getParser_result, getParser_result._Fields>, java.io.Serializable, Cloneable, Comparable<getParser_result>   {
++    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParser_result");
  
+     private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.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 removeParser_resultStandardSchemeFactory();
-     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeParser_resultTupleSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParserInput_resultStandardSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParserInput_resultTupleSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParser_resultStandardSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParser_resultTupleSchemeFactory();
  
 -    public org.apache.airavata.model.appcatalog.parser.ParserInput success; // required
++    public org.apache.airavata.model.appcatalog.parser.Parser success; // required
      public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@@ -206745,16 -207736,19 +203676,19 @@@
      public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
 -          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.parser.ParserInput.class)));
++          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.parser.Parser.class)));
        tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
        metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(removeParser_result.class, metaDataMap);
 -      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getParserInput_result.class, metaDataMap);
++      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getParser_result.class, metaDataMap);
      }
  
-     public removeParser_result() {
 -    public getParserInput_result() {
++    public getParser_result() {
      }
  
-     public removeParser_result(
 -    public getParserInput_result(
 -      org.apache.airavata.model.appcatalog.parser.ParserInput success,
++    public getParser_result(
++      org.apache.airavata.model.appcatalog.parser.Parser success,
        org.apache.airavata.registry.api.exception.RegistryServiceException rse)
      {
        this();
@@@ -206764,14 -207759,17 +203699,17 @@@
      /**
       * Performs a deep copy on <i>other</i>.
       */
-     public removeParser_result(removeParser_result other) {
 -    public getParserInput_result(getParserInput_result other) {
++    public getParser_result(getParser_result other) {
+       if (other.isSetSuccess()) {
 -        this.success = new org.apache.airavata.model.appcatalog.parser.ParserInput(other.success);
++        this.success = new org.apache.airavata.model.appcatalog.parser.Parser(other.success);
+       }
        if (other.isSetRse()) {
          this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
        }
      }
  
-     public removeParser_result deepCopy() {
-       return new removeParser_result(this);
 -    public getParserInput_result deepCopy() {
 -      return new getParserInput_result(this);
++    public getParser_result deepCopy() {
++      return new getParser_result(this);
      }
  
      @Override
@@@ -206779,11 -207778,35 +203718,35 @@@
        this.rse = null;
      }
  
 -    public org.apache.airavata.model.appcatalog.parser.ParserInput getSuccess() {
++    public org.apache.airavata.model.appcatalog.parser.Parser getSuccess() {
+       return this.success;
+     }
+ 
 -    public getParserInput_result setSuccess(org.apache.airavata.model.appcatalog.parser.ParserInput success) {
++    public getParser_result setSuccess(org.apache.airavata.model.appcatalog.parser.Parser 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 removeParser_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
 -    public getParserInput_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
++    public getParser_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
        this.rse = rse;
        return this;
      }
@@@ -206805,6 -207828,14 +203768,14 @@@
  
      public void setFieldValue(_Fields field, java.lang.Object value) {
        switch (field) {
+       case SUCCESS:
+         if (value == null) {
+           unsetSuccess();
+         } else {
 -          setSuccess((org.apache.airavata.model.appcatalog.parser.ParserInput)value);
++          setSuccess((org.apache.airavata.model.appcatalog.parser.Parser)value);
+         }
+         break;
+ 
        case RSE:
          if (value == null) {
            unsetRse();
@@@ -206842,12 -207878,12 +203818,12 @@@
      public boolean equals(java.lang.Object that) {
        if (that == null)
          return false;
-       if (that instanceof removeParser_result)
-         return this.equals((removeParser_result)that);
 -      if (that instanceof getParserInput_result)
 -        return this.equals((getParserInput_result)that);
++      if (that instanceof getParser_result)
++        return this.equals((getParser_result)that);
        return false;
      }
  
-     public boolean equals(removeParser_result that) {
 -    public boolean equals(getParserInput_result that) {
++    public boolean equals(getParser_result that) {
        if (that == null)
          return false;
        if (this == that)
@@@ -206877,7 -207926,7 +203866,7 @@@
      }
  
      @Override
-     public int compareTo(removeParser_result other) {
 -    public int compareTo(getParserInput_result other) {
++    public int compareTo(getParser_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
@@@ -206911,9 -207970,17 +203910,17 @@@
  
      @Override
      public java.lang.String toString() {
-       java.lang.StringBuilder sb = new java.lang.StringBuilder("removeParser_result(");
 -      java.lang.StringBuilder sb = new java.lang.StringBuilder("getParserInput_result(");
++      java.lang.StringBuilder sb = new java.lang.StringBuilder("getParser_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");
@@@ -206946,15 -208016,15 +203956,15 @@@
        }
      }
  
-     private static class removeParser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public removeParser_resultStandardScheme getScheme() {
-         return new removeParser_resultStandardScheme();
 -    private static class getParserInput_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public getParserInput_resultStandardScheme getScheme() {
 -        return new getParserInput_resultStandardScheme();
++    private static class getParser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public getParser_resultStandardScheme getScheme() {
++        return new getParser_resultStandardScheme();
        }
      }
  
-     private static class removeParser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeParser_result> {
 -    private static class getParserInput_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParserInput_result> {
++    private static class getParser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParser_result> {
  
-       public void read(org.apache.thrift.protocol.TProtocol iprot, removeParser_result struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol iprot, getParserInput_result struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol iprot, getParser_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
@@@ -206964,6 -208034,15 +203974,15 @@@
              break;
            }
            switch (schemeField.id) {
+             case 0: // SUCCESS
+               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
 -                struct.success = new org.apache.airavata.model.appcatalog.parser.ParserInput();
++                struct.success = new org.apache.airavata.model.appcatalog.parser.Parser();
+                 struct.success.read(iprot);
+                 struct.setSuccessIsSet(true);
+               } else { 
+                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+               }
+               break;
              case 1: // RSE
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
@@@ -206984,7 -208063,7 +204003,7 @@@
          struct.validate();
        }
  
-       public void write(org.apache.thrift.protocol.TProtocol oprot, removeParser_result struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol oprot, getParserInput_result struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol oprot, getParser_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
@@@ -206999,32 -208083,43 +204023,43 @@@
  
      }
  
-     private static class removeParser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public removeParser_resultTupleScheme getScheme() {
-         return new removeParser_resultTupleScheme();
 -    private static class getParserInput_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public getParserInput_resultTupleScheme getScheme() {
 -        return new getParserInput_resultTupleScheme();
++    private static class getParser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public getParser_resultTupleScheme getScheme() {
++        return new getParser_resultTupleScheme();
        }
      }
  
-     private static class removeParser_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<removeParser_result> {
 -    private static class getParserInput_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getParserInput_result> {
++    private static class getParser_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getParser_result> {
  
        @Override
-       public void write(org.apache.thrift.protocol.TProtocol prot, removeParser_result struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol prot, getParserInput_result struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol prot, getParser_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
          java.util.BitSet optionals = new java.util.BitSet();
-         if (struct.isSetRse()) {
+         if (struct.isSetSuccess()) {
            optionals.set(0);
          }
-         oprot.writeBitSet(optionals, 1);
+         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, removeParser_result struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol prot, getParserInput_result struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol prot, getParser_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-         java.util.BitSet incoming = iprot.readBitSet(1);
+         java.util.BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
 -          struct.success = new org.apache.airavata.model.appcatalog.parser.ParserInput();
++          struct.success = new org.apache.airavata.model.appcatalog.parser.Parser();
+           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);
@@@ -207037,22 -208132,22 +204072,19 @@@
      }
    }
  
-   public static class getParserInput_args implements org.apache.thrift.TBase<getParserInput_args, getParserInput_args._Fields>, java.io.Serializable, Cloneable, Comparable<getParserInput_args>   {
-     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParserInput_args");
 -  public static class getParserOutput_args implements org.apache.thrift.TBase<getParserOutput_args, getParserOutput_args._Fields>, java.io.Serializable, Cloneable, Comparable<getParserOutput_args>   {
 -    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParserOutput_args");
++  public static class saveParser_args implements org.apache.thrift.TBase<saveParser_args, saveParser_args._Fields>, java.io.Serializable, Cloneable, Comparable<saveParser_args>   {
++    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("saveParser_args");
  
-     private static final org.apache.thrift.protocol.TField PARSER_INPUT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("parserInputId", org.apache.thrift.protocol.TType.STRING, (short)1);
 -    private static final org.apache.thrift.protocol.TField PARSER_OUTPUT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("parserOutputId", org.apache.thrift.protocol.TType.STRING, (short)1);
--    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)2);
++    private static final org.apache.thrift.protocol.TField PARSER_FIELD_DESC = new org.apache.thrift.protocol.TField("parser", org.apache.thrift.protocol.TType.STRUCT, (short)1);
  
-     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParserInput_argsStandardSchemeFactory();
-     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParserInput_argsTupleSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParserOutput_argsStandardSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParserOutput_argsTupleSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new saveParser_argsStandardSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new saveParser_argsTupleSchemeFactory();
  
-     public java.lang.String parserInputId; // required
 -    public java.lang.String parserOutputId; // required
--    public java.lang.String gatewayId; // required
++    public org.apache.airavata.model.appcatalog.parser.Parser parser; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-       PARSER_INPUT_ID((short)1, "parserInputId"),
 -      PARSER_OUTPUT_ID((short)1, "parserOutputId"),
--      GATEWAY_ID((short)2, "gatewayId");
++      PARSER((short)1, "parser");
  
        private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
  
@@@ -207067,10 -208162,10 +204099,8 @@@
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
-           case 1: // PARSER_INPUT_ID
-             return PARSER_INPUT_ID;
 -          case 1: // PARSER_OUTPUT_ID
 -            return PARSER_OUTPUT_ID;
--          case 2: // GATEWAY_ID
--            return GATEWAY_ID;
++          case 1: // PARSER
++            return PARSER;
            default:
              return null;
          }
@@@ -207114,111 -208209,111 +204144,71 @@@
      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.PARSER_INPUT_ID, new org.apache.thrift.meta_data.FieldMetaData("parserInputId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
 -      tmpMap.put(_Fields.PARSER_OUTPUT_ID, new org.apache.thrift.meta_data.FieldMetaData("parserOutputId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
--          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
--      tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
--          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
++      tmpMap.put(_Fields.PARSER, new org.apache.thrift.meta_data.FieldMetaData("parser", org.apache.thrift.TFieldRequirementType.REQUIRED, 
++          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.parser.Parser.class)));
        metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getParserInput_args.class, metaDataMap);
 -      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getParserOutput_args.class, metaDataMap);
++      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(saveParser_args.class, metaDataMap);
      }
  
-     public getParserInput_args() {
 -    public getParserOutput_args() {
++    public saveParser_args() {
      }
  
-     public getParserInput_args(
-       java.lang.String parserInputId,
 -    public getParserOutput_args(
 -      java.lang.String parserOutputId,
--      java.lang.String gatewayId)
++    public saveParser_args(
++      org.apache.airavata.model.appcatalog.parser.Parser parser)
      {
        this();
-       this.parserInputId = parserInputId;
 -      this.parserOutputId = parserOutputId;
--      this.gatewayId = gatewayId;
++      this.parser = parser;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
-     public getParserInput_args(getParserInput_args other) {
-       if (other.isSetParserInputId()) {
-         this.parserInputId = other.parserInputId;
 -    public getParserOutput_args(getParserOutput_args other) {
 -      if (other.isSetParserOutputId()) {
 -        this.parserOutputId = other.parserOutputId;
--      }
--      if (other.isSetGatewayId()) {
--        this.gatewayId = other.gatewayId;
++    public saveParser_args(saveParser_args other) {
++      if (other.isSetParser()) {
++        this.parser = new org.apache.airavata.model.appcatalog.parser.Parser(other.parser);
        }
      }
  
-     public getParserInput_args deepCopy() {
-       return new getParserInput_args(this);
 -    public getParserOutput_args deepCopy() {
 -      return new getParserOutput_args(this);
++    public saveParser_args deepCopy() {
++      return new saveParser_args(this);
      }
  
      @Override
      public void clear() {
-       this.parserInputId = null;
 -      this.parserOutputId = null;
--      this.gatewayId = null;
--    }
--
-     public java.lang.String getParserInputId() {
-       return this.parserInputId;
 -    public java.lang.String getParserOutputId() {
 -      return this.parserOutputId;
--    }
--
-     public getParserInput_args setParserInputId(java.lang.String parserInputId) {
-       this.parserInputId = parserInputId;
 -    public getParserOutput_args setParserOutputId(java.lang.String parserOutputId) {
 -      this.parserOutputId = parserOutputId;
--      return this;
--    }
--
-     public void unsetParserInputId() {
-       this.parserInputId = null;
 -    public void unsetParserOutputId() {
 -      this.parserOutputId = null;
--    }
--
-     /** Returns true if field parserInputId is set (has been assigned a value) and false otherwise */
-     public boolean isSetParserInputId() {
-       return this.parserInputId != null;
 -    /** Returns true if field parserOutputId is set (has been assigned a value) and false otherwise */
 -    public boolean isSetParserOutputId() {
 -      return this.parserOutputId != null;
--    }
--
-     public void setParserInputIdIsSet(boolean value) {
 -    public void setParserOutputIdIsSet(boolean value) {
--      if (!value) {
-         this.parserInputId = null;
 -        this.parserOutputId = null;
--      }
++      this.parser = null;
      }
  
--    public java.lang.String getGatewayId() {
--      return this.gatewayId;
++    public org.apache.airavata.model.appcatalog.parser.Parser getParser() {
++      return this.parser;
      }
  
-     public getParserInput_args setGatewayId(java.lang.String gatewayId) {
 -    public getParserOutput_args setGatewayId(java.lang.String gatewayId) {
--      this.gatewayId = gatewayId;
++    public saveParser_args setParser(org.apache.airavata.model.appcatalog.parser.Parser parser) {
++      this.parser = parser;
        return this;
      }
  
--    public void unsetGatewayId() {
--      this.gatewayId = null;
++    public void unsetParser() {
++      this.parser = null;
      }
  
--    /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
--    public boolean isSetGatewayId() {
--      return this.gatewayId != null;
++    /** Returns true if field parser is set (has been assigned a value) and false otherwise */
++    public boolean isSetParser() {
++      return this.parser != null;
      }
  
--    public void setGatewayIdIsSet(boolean value) {
++    public void setParserIsSet(boolean value) {
        if (!value) {
--        this.gatewayId = null;
++        this.parser = null;
        }
      }
  
      public void setFieldValue(_Fields field, java.lang.Object value) {
        switch (field) {
-       case PARSER_INPUT_ID:
 -      case PARSER_OUTPUT_ID:
--        if (value == null) {
-           unsetParserInputId();
 -          unsetParserOutputId();
--        } else {
-           setParserInputId((java.lang.String)value);
 -          setParserOutputId((java.lang.String)value);
--        }
--        break;
--
--      case GATEWAY_ID:
++      case PARSER:
          if (value == null) {
--          unsetGatewayId();
++          unsetParser();
          } else {
--          setGatewayId((java.lang.String)value);
++          setParser((org.apache.airavata.model.appcatalog.parser.Parser)value);
          }
          break;
  
@@@ -207227,11 -208322,11 +204217,8 @@@
  
      public java.lang.Object getFieldValue(_Fields field) {
        switch (field) {
-       case PARSER_INPUT_ID:
-         return getParserInputId();
 -      case PARSER_OUTPUT_ID:
 -        return getParserOutputId();
--
--      case GATEWAY_ID:
--        return getGatewayId();
++      case PARSER:
++        return getParser();
  
        }
        throw new java.lang.IllegalStateException();
@@@ -207244,10 -208339,10 +204231,8 @@@
        }
  
        switch (field) {
-       case PARSER_INPUT_ID:
-         return isSetParserInputId();
 -      case PARSER_OUTPUT_ID:
 -        return isSetParserOutputId();
--      case GATEWAY_ID:
--        return isSetGatewayId();
++      case PARSER:
++        return isSetParser();
        }
        throw new java.lang.IllegalStateException();
      }
@@@ -207256,32 -208351,32 +204241,23 @@@
      public boolean equals(java.lang.Object that) {
        if (that == null)
          return false;
-       if (that instanceof getParserInput_args)
-         return this.equals((getParserInput_args)that);
 -      if (that instanceof getParserOutput_args)
 -        return this.equals((getParserOutput_args)that);
++      if (that instanceof saveParser_args)
++        return this.equals((saveParser_args)that);
        return false;
      }
  
-     public boolean equals(getParserInput_args that) {
 -    public boolean equals(getParserOutput_args that) {
++    public boolean equals(saveParser_args that) {
        if (that == null)
          return false;
        if (this == that)
          return true;
  
-       boolean this_present_parserInputId = true && this.isSetParserInputId();
-       boolean that_present_parserInputId = true && that.isSetParserInputId();
-       if (this_present_parserInputId || that_present_parserInputId) {
-         if (!(this_present_parserInputId && that_present_parserInputId))
 -      boolean this_present_parserOutputId = true && this.isSetParserOutputId();
 -      boolean that_present_parserOutputId = true && that.isSetParserOutputId();
 -      if (this_present_parserOutputId || that_present_parserOutputId) {
 -        if (!(this_present_parserOutputId && that_present_parserOutputId))
--          return false;
-         if (!this.parserInputId.equals(that.parserInputId))
 -        if (!this.parserOutputId.equals(that.parserOutputId))
--          return false;
--      }
--
--      boolean this_present_gatewayId = true && this.isSetGatewayId();
--      boolean that_present_gatewayId = true && that.isSetGatewayId();
--      if (this_present_gatewayId || that_present_gatewayId) {
--        if (!(this_present_gatewayId && that_present_gatewayId))
++      boolean this_present_parser = true && this.isSetParser();
++      boolean that_present_parser = true && that.isSetParser();
++      if (this_present_parser || that_present_parser) {
++        if (!(this_present_parser && that_present_parser))
            return false;
--        if (!this.gatewayId.equals(that.gatewayId))
++        if (!this.parser.equals(that.parser))
            return false;
        }
  
@@@ -207292,41 -208387,41 +204268,27 @@@
      public int hashCode() {
        int hashCode = 1;
  
-       hashCode = hashCode * 8191 + ((isSetParserInputId()) ? 131071 : 524287);
-       if (isSetParserInputId())
-         hashCode = hashCode * 8191 + parserInputId.hashCode();
 -      hashCode = hashCode * 8191 + ((isSetParserOutputId()) ? 131071 : 524287);
 -      if (isSetParserOutputId())
 -        hashCode = hashCode * 8191 + parserOutputId.hashCode();
--
--      hashCode = hashCode * 8191 + ((isSetGatewayId()) ? 131071 : 524287);
--      if (isSetGatewayId())
--        hashCode = hashCode * 8191 + gatewayId.hashCode();
++      hashCode = hashCode * 8191 + ((isSetParser()) ? 131071 : 524287);
++      if (isSetParser())
++        hashCode = hashCode * 8191 + parser.hashCode();
  
        return hashCode;
      }
  
      @Override
-     public int compareTo(getParserInput_args other) {
 -    public int compareTo(getParserOutput_args other) {
++    public int compareTo(saveParser_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
-       lastComparison = java.lang.Boolean.valueOf(isSetParserInputId()).compareTo(other.isSetParserInputId());
 -      lastComparison = java.lang.Boolean.valueOf(isSetParserOutputId()).compareTo(other.isSetParserOutputId());
--      if (lastComparison != 0) {
--        return lastComparison;
--      }
-       if (isSetParserInputId()) {
-         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.parserInputId, other.parserInputId);
 -      if (isSetParserOutputId()) {
 -        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.parserOutputId, other.parserOutputId);
--        if (lastComparison != 0) {
--          return lastComparison;
--        }
--      }
--      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
++      lastComparison = java.lang.Boolean.valueOf(isSetParser()).compareTo(other.isSetParser());
        if (lastComparison != 0) {
          return lastComparison;
        }
--      if (isSetGatewayId()) {
--        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
++      if (isSetParser()) {
++        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.parser, other.parser);
          if (lastComparison != 0) {
            return lastComparison;
          }
@@@ -207348,22 -208443,22 +204310,14 @@@
  
      @Override
      public java.lang.String toString() {
-       java.lang.StringBuilder sb = new java.lang.StringBuilder("getParserInput_args(");
 -      java.lang.StringBuilder sb = new java.lang.StringBuilder("getParserOutput_args(");
++      java.lang.StringBuilder sb = new java.lang.StringBuilder("saveParser_args(");
        boolean first = true;
  
-       sb.append("parserInputId:");
-       if (this.parserInputId == null) {
 -      sb.append("parserOutputId:");
 -      if (this.parserOutputId == null) {
--        sb.append("null");
--      } else {
-         sb.append(this.parserInputId);
 -        sb.append(this.parserOutputId);
--      }
--      first = false;
--      if (!first) sb.append(", ");
--      sb.append("gatewayId:");
--      if (this.gatewayId == null) {
++      sb.append("parser:");
++      if (this.parser == null) {
          sb.append("null");
        } else {
--        sb.append(this.gatewayId);
++        sb.append(this.parser);
        }
        first = false;
        sb.append(")");
@@@ -207372,13 -208467,13 +204326,13 @@@
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
-       if (parserInputId == null) {
-         throw new org.apache.thrift.protocol.TProtocolException("Required field 'parserInputId' was not present! Struct: " + toString());
 -      if (parserOutputId == null) {
 -        throw new org.apache.thrift.protocol.TProtocolException("Required field 'parserOutputId' was not present! Struct: " + toString());
--      }
--      if (gatewayId == null) {
--        throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
++      if (parser == null) {
++        throw new org.apache.thrift.protocol.TProtocolException("Required field 'parser' was not present! Struct: " + toString());
        }
        // check for sub-struct validity
++      if (parser != null) {
++        parser.validate();
++      }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@@ -207397,15 -208492,15 +204351,15 @@@
        }
      }
  
-     private static class getParserInput_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public getParserInput_argsStandardScheme getScheme() {
-         return new getParserInput_argsStandardScheme();
 -    private static class getParserOutput_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public getParserOutput_argsStandardScheme getScheme() {
 -        return new getParserOutput_argsStandardScheme();
++    private static class saveParser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public saveParser_argsStandardScheme getScheme() {
++        return new saveParser_argsStandardScheme();
        }
      }
  
-     private static class getParserInput_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParserInput_args> {
 -    private static class getParserOutput_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParserOutput_args> {
++    private static class saveParser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<saveParser_args> {
  
-       public void read(org.apache.thrift.protocol.TProtocol iprot, getParserInput_args struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol iprot, getParserOutput_args struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol iprot, saveParser_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
@@@ -207415,18 -208510,18 +204369,11 @@@
              break;
            }
            switch (schemeField.id) {
-             case 1: // PARSER_INPUT_ID
 -            case 1: // PARSER_OUTPUT_ID
--              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                 struct.parserInputId = iprot.readString();
-                 struct.setParserInputIdIsSet(true);
 -                struct.parserOutputId = iprot.readString();
 -                struct.setParserOutputIdIsSet(true);
--              } else { 
--                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
--              }
--              break;
--            case 2: // GATEWAY_ID
--              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
--                struct.gatewayId = iprot.readString();
--                struct.setGatewayIdIsSet(true);
++            case 1: // PARSER
++              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
++                struct.parser = new org.apache.airavata.model.appcatalog.parser.Parser();
++                struct.parser.read(iprot);
++                struct.setParserIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
@@@ -207442,18 -208537,18 +204389,13 @@@
          struct.validate();
        }
  
-       public void write(org.apache.thrift.protocol.TProtocol oprot, getParserInput_args struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol oprot, getParserOutput_args struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol oprot, saveParser_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
-         if (struct.parserInputId != null) {
-           oprot.writeFieldBegin(PARSER_INPUT_ID_FIELD_DESC);
-           oprot.writeString(struct.parserInputId);
 -        if (struct.parserOutputId != null) {
 -          oprot.writeFieldBegin(PARSER_OUTPUT_ID_FIELD_DESC);
 -          oprot.writeString(struct.parserOutputId);
--          oprot.writeFieldEnd();
--        }
--        if (struct.gatewayId != null) {
--          oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
--          oprot.writeString(struct.gatewayId);
++        if (struct.parser != null) {
++          oprot.writeFieldBegin(PARSER_FIELD_DESC);
++          struct.parser.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
@@@ -207462,28 -208557,28 +204404,26 @@@
  
      }
  
-     private static class getParserInput_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public getParserInput_argsTupleScheme getScheme() {
-         return new getParserInput_argsTupleScheme();
 -    private static class getParserOutput_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public getParserOutput_argsTupleScheme getScheme() {
 -        return new getParserOutput_argsTupleScheme();
++    private static class saveParser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public saveParser_argsTupleScheme getScheme() {
++        return new saveParser_argsTupleScheme();
        }
      }
  
-     private static class getParserInput_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getParserInput_args> {
 -    private static class getParserOutput_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getParserOutput_args> {
++    private static class saveParser_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<saveParser_args> {
  
        @Override
-       public void write(org.apache.thrift.protocol.TProtocol prot, getParserInput_args struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol prot, getParserOutput_args struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol prot, saveParser_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-         oprot.writeString(struct.parserInputId);
 -        oprot.writeString(struct.parserOutputId);
--        oprot.writeString(struct.gatewayId);
++        struct.parser.write(oprot);
        }
  
        @Override
-       public void read(org.apache.thrift.protocol.TProtocol prot, getParserInput_args struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol prot, getParserOutput_args struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol prot, saveParser_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-         struct.parserInputId = iprot.readString();
-         struct.setParserInputIdIsSet(true);
 -        struct.parserOutputId = iprot.readString();
 -        struct.setParserOutputIdIsSet(true);
--        struct.gatewayId = iprot.readString();
--        struct.setGatewayIdIsSet(true);
++        struct.parser = new org.apache.airavata.model.appcatalog.parser.Parser();
++        struct.parser.read(iprot);
++        struct.setParserIsSet(true);
        }
      }
  
@@@ -207492,16 -208587,16 +204432,16 @@@
      }
    }
  
-   public static class getParserInput_result implements org.apache.thrift.TBase<getParserInput_result, getParserInput_result._Fields>, java.io.Serializable, Cloneable, Comparable<getParserInput_result>   {
-     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParserInput_result");
 -  public static class getParserOutput_result implements org.apache.thrift.TBase<getParserOutput_result, getParserOutput_result._Fields>, java.io.Serializable, Cloneable, Comparable<getParserOutput_result>   {
 -    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParserOutput_result");
++  public static class saveParser_result implements org.apache.thrift.TBase<saveParser_result, saveParser_result._Fields>, java.io.Serializable, Cloneable, Comparable<saveParser_result>   {
++    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("saveParser_result");
  
--    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
++    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.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 getParserInput_resultStandardSchemeFactory();
-     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParserInput_resultTupleSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParserOutput_resultStandardSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParserOutput_resultTupleSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new saveParser_resultStandardSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new saveParser_resultTupleSchemeFactory();
  
-     public org.apache.airavata.model.appcatalog.parser.ParserInput success; // required
 -    public org.apache.airavata.model.appcatalog.parser.ParserOutput success; // required
++    public java.lang.String success; // required
      public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@@ -207570,18 -208665,18 +204510,18 @@@
      static {
        java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.parser.ParserInput.class)));
 -          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.parser.ParserOutput.class)));
++          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
        metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getParserInput_result.class, metaDataMap);
 -      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getParserOutput_result.class, metaDataMap);
++      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(saveParser_result.class, metaDataMap);
      }
  
-     public getParserInput_result() {
 -    public getParserOutput_result() {
++    public saveParser_result() {
      }
  
-     public getParserInput_result(
-       org.apache.airavata.model.appcatalog.parser.ParserInput success,
 -    public getParserOutput_result(
 -      org.apache.airavata.model.appcatalog.parser.ParserOutput success,
++    public saveParser_result(
++      java.lang.String success,
        org.apache.airavata.registry.api.exception.RegistryServiceException rse)
      {
        this();
@@@ -207592,17 -208687,17 +204532,17 @@@
      /**
       * Performs a deep copy on <i>other</i>.
       */
-     public getParserInput_result(getParserInput_result other) {
 -    public getParserOutput_result(getParserOutput_result other) {
++    public saveParser_result(saveParser_result other) {
        if (other.isSetSuccess()) {
-         this.success = new org.apache.airavata.model.appcatalog.parser.ParserInput(other.success);
 -        this.success = new org.apache.airavata.model.appcatalog.parser.ParserOutput(other.success);
++        this.success = other.success;
        }
        if (other.isSetRse()) {
          this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
        }
      }
  
-     public getParserInput_result deepCopy() {
-       return new getParserInput_result(this);
 -    public getParserOutput_result deepCopy() {
 -      return new getParserOutput_result(this);
++    public saveParser_result deepCopy() {
++      return new saveParser_result(this);
      }
  
      @Override
@@@ -207611,11 -208706,11 +204551,11 @@@
        this.rse = null;
      }
  
-     public org.apache.airavata.model.appcatalog.parser.ParserInput getSuccess() {
 -    public org.apache.airavata.model.appcatalog.parser.ParserOutput getSuccess() {
++    public java.lang.String getSuccess() {
        return this.success;
      }
  
-     public getParserInput_result setSuccess(org.apache.airavata.model.appcatalog.parser.ParserInput success) {
 -    public getParserOutput_result setSuccess(org.apache.airavata.model.appcatalog.parser.ParserOutput success) {
++    public saveParser_result setSuccess(java.lang.String success) {
        this.success = success;
        return this;
      }
@@@ -207639,7 -208734,7 +204579,7 @@@
        return this.rse;
      }
  
-     public getParserInput_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
 -    public getParserOutput_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
++    public saveParser_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
        this.rse = rse;
        return this;
      }
@@@ -207665,7 -208760,7 +204605,7 @@@
          if (value == null) {
            unsetSuccess();
          } else {
-           setSuccess((org.apache.airavata.model.appcatalog.parser.ParserInput)value);
 -          setSuccess((org.apache.airavata.model.appcatalog.parser.ParserOutput)value);
++          setSuccess((java.lang.String)value);
          }
          break;
  
@@@ -207711,12 -208806,12 +204651,12 @@@
      public boolean equals(java.lang.Object that) {
        if (that == null)
          return false;
-       if (that instanceof getParserInput_result)
-         return this.equals((getParserInput_result)that);
 -      if (that instanceof getParserOutput_result)
 -        return this.equals((getParserOutput_result)that);
++      if (that instanceof saveParser_result)
++        return this.equals((saveParser_result)that);
        return false;
      }
  
-     public boolean equals(getParserInput_result that) {
 -    public boolean equals(getParserOutput_result that) {
++    public boolean equals(saveParser_result that) {
        if (that == null)
          return false;
        if (this == that)
@@@ -207759,7 -208854,7 +204699,7 @@@
      }
  
      @Override
-     public int compareTo(getParserInput_result other) {
 -    public int compareTo(getParserOutput_result other) {
++    public int compareTo(saveParser_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
@@@ -207803,7 -208898,7 +204743,7 @@@
  
      @Override
      public java.lang.String toString() {
-       java.lang.StringBuilder sb = new java.lang.StringBuilder("getParserInput_result(");
 -      java.lang.StringBuilder sb = new java.lang.StringBuilder("getParserOutput_result(");
++      java.lang.StringBuilder sb = new java.lang.StringBuilder("saveParser_result(");
        boolean first = true;
  
        sb.append("success:");
@@@ -207828,9 -208923,9 +204768,6 @@@
      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 {
@@@ -207849,15 -208944,15 +204786,15 @@@
        }
      }
  
-     private static class getParserInput_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public getParserInput_resultStandardScheme getScheme() {
-         return new getParserInput_resultStandardScheme();
 -    private static class getParserOutput_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public getParserOutput_resultStandardScheme getScheme() {
 -        return new getParserOutput_resultStandardScheme();
++    private static class saveParser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public saveParser_resultStandardScheme getScheme() {
++        return new saveParser_resultStandardScheme();
        }
      }
  
-     private static class getParserInput_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParserInput_result> {
 -    private static class getParserOutput_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParserOutput_result> {
++    private static class saveParser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<saveParser_result> {
  
-       public void read(org.apache.thrift.protocol.TProtocol iprot, getParserInput_result struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol iprot, getParserOutput_result struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol iprot, saveParser_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
@@@ -207868,9 -208963,9 +204805,8 @@@
            }
            switch (schemeField.id) {
              case 0: // SUCCESS
--              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                 struct.success = new org.apache.airavata.model.appcatalog.parser.ParserInput();
 -                struct.success = new org.apache.airavata.model.appcatalog.parser.ParserOutput();
--                struct.success.read(iprot);
++              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);
@@@ -207896,13 -208991,13 +204832,13 @@@
          struct.validate();
        }
  
-       public void write(org.apache.thrift.protocol.TProtocol oprot, getParserInput_result struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol oprot, getParserOutput_result struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol oprot, saveParser_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.success != null) {
            oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
--          struct.success.write(oprot);
++          oprot.writeString(struct.success);
            oprot.writeFieldEnd();
          }
          if (struct.rse != null) {
@@@ -207916,16 -209011,16 +204852,16 @@@
  
      }
  
-     private static class getParserInput_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-       public getParserInput_resultTupleScheme getScheme() {
-         return new getParserInput_resultTupleScheme();
 -    private static class getParserOutput_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
 -      public getParserOutput_resultTupleScheme getScheme() {
 -        return new getParserOutput_resultTupleScheme();
++    private static class saveParser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
++      public saveParser_resultTupleScheme getScheme() {
++        return new saveParser_resultTupleScheme();
        }
      }
  
-     private static class getParserInput_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getParserInput_result> {
 -    private static class getParserOutput_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getParserOutput_result> {
++    private static class saveParser_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<saveParser_result> {
  
        @Override
-       public void write(org.apache.thrift.protocol.TProtocol prot, getParserInput_result struct) throws org.apache.thrift.TException {
 -      public void write(org.apache.thrift.protocol.TProtocol prot, getParserOutput_result struct) throws org.apache.thrift.TException {
++      public void write(org.apache.thrift.protocol.TProtocol prot, saveParser_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
          java.util.BitSet optionals = new java.util.BitSet();
          if (struct.isSetSuccess()) {
@@@ -207936,7 -209031,7 +204872,7 @@@
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.isSetSuccess()) {
--          struct.success.write(oprot);
++          oprot.writeString(struct.success);
          }
          if (struct.isSetRse()) {
            struct.rse.write(oprot);
@@@ -207944,12 -209039,12 +204880,11 @@@
        }
  
        @Override
-       public void read(org.apache.thrift.protocol.TProtocol prot, getParserInput_result struct) throws org.apache.thrift.TException {
 -      public void read(org.apache.thrift.protocol.TProtocol prot, getParserOutput_result struct) throws org.apache.thrift.TException {
++      public void read(org.apache.thrift.protocol.TProtocol prot, saveParser_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
          java.util.BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
-           struct.success = new org.apache.airavata.model.appcatalog.parser.ParserInput();
 -          struct.success = new org.apache.airavata.model.appcatalog.parser.ParserOutput();
--          struct.success.read(iprot);
++          struct.success = iprot.readString();
            struct.setSuccessIsSet(true);
          }
          if (incoming.get(1)) {
@@@ -207965,22 -209060,22 +204900,19 @@@
      }
    }
  
-   public static class getParserOutput_args implements org.apache.thrift.TBase<getParserOutput_args, getParserOutput_args._Fields>, java.io.Serializable, Cloneable, Comparable<getParserOutput_args>   {
-     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParserOutput_args");
 -  public static class getParsingTemplate_args implements org.apache.thrift.TBase<getParsingTemplate_args, getParsingTemplate_args._Fields>, java.io.Serializable, Cloneable, Comparable<getParsingTemplate_args>   {
 -    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParsingTemplate_args");
++  public static class listAllParsers_args implements org.apache.thrift.TBase<listAllParsers_args, listAllParsers_args._Fields>, java.io.Serializable, Cloneable, Comparable<listAllParsers_args>   {
++    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("listAllParsers_args");
  
-     private static final org.apache.thrift.protocol.TField PARSER_OUTPUT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("parserOutputId", org.apache.thrift.protocol.TType.STRING, (short)1);
 -    private static final org.apache.thrift.protocol.TField TEMPLATE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("templateId", org.apache.thrift.protocol.TType.STRING, (short)1);
--    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)2);
++    private static final org.apache.thrift.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 getParserOutput_argsStandardSchemeFactory();
-     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParserOutput_argsTupleSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParsingTemplate_argsStandardSchemeFactory();
 -    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParsingTemplate_argsTupleSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listAllParsers_argsStandardSchemeFactory();
++    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listAllParsers_argsTupleSchemeFactory();
  
-     public java.lang.String parserOutputId; // required
 -    public java.lang.String templateId; // required
      public java.lang.String gatewayId; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-       PARSER_OUTPUT_ID((short)1, "parserOutputId"),
 -      TEMPLATE_ID((short)1, "templateId"),
--      GATEWAY_ID((short)2, "gatewayId");
++      GATEWAY_ID((short)1, "gatewayId");
  
        private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
  
@@@ -207995,9 -209090,9 +204927,7 @@@
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
-           case 1: // PARSER_OUTPUT_ID
-             return PARSER_OUTPUT_ID;
 -          case 1: // TEMPLATE_ID
 -            return TEMPLATE_ID;
--          case 2: // GATEWAY_ID
++          case 1: // GATEWAY_ID
              return GATEWAY_ID;
            default:
              return null;
@@@ -208042,77 -209137,77 +204972,45 @@@
      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.PARSER_OUTPUT_ID, new org.apache.thrift.meta_data.FieldMetaData("parserOutputId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
 -      tmpMap.put(_Fields.TEMPLATE_ID, new org.apache.thrift.meta_data.FieldMetaData("templateId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
--          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getParserOutput_args.class, metaDataMap);
 -      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getParsingTemplate_args.class, metaDataMap);
++      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(listAllParsers_args.class, metaDataMap);
      }
  
-     public getParserOutput_args() {
 -    public getParsingTemplate_args() {
++    public listAllParsers_args() {
      }
  
-     public getParserOutput_args(
-       java.lang.String parserOutputId,
 -    public getParsingTemplate_args(
 -      java.lang.String templateId,
++    public listAllParsers_args(
        java.lang.String gatewayId)
      {
        this();
-       this.parserOutputId = parserOutputId;
 -      this.templateId = templateId;
        this.gatewayId = gatewayId;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
-     public getParserOutput_args(getParserOutput_args other) {
-       if (other.isSetParserOutputId()) {
-         this.parserOutputId = other.parserOutputId;
 -    public getParsingTemplate_args(getParsingTemplate_args other) {
 -      if (other.isSetTemplateId()) {
 -        this.templateId = other.templateId;
--      }
++    public listAllParsers_args(listAllParsers_args other) {
        if (other.isSetGatewayId()) {
          this.gatewayId = other.gatewayId;
        }
      }
  
-     public getParserOutput_args deepCopy() {
-       return new getParserOutput_args(this);
 -    public getParsingTemplate_args deepCopy() {
 -      return new getParsingTemplate_args(this);
++    public listAllParsers_args deepCopy() {
++      return new listAllParsers_args(this);
      }
  
      @Override
      public void clear() {
-       this.parserOutputId = null;
 -      this.templateId = null;
        this.gatewayId = null;
      }
  
-     public java.lang.String getParserOutputId() {
-       return this.parserOutputId;
 -    public java.lang.String getTemplateId() {
 -      return this.templateId;
--    }
--
-     public getParserOutput_args setParserOutputId(java.lang.String parserOutputId) {
-       this.parserOutputId = parserOutputId;
 -    public getParsingTemplate_args setTemplateId(java.lang.String templateId) {
 -      this.templateId = templateId;
--      return this;
--    }
--
-     public void unsetParserOutputId() {
-       this.parserOutputId = null;
 -    public void unsetTemplateId() {
 -      this.templateId = null;
--    }
--
-     /** Returns true if field parserOutputId is set (has been assigned a value) and false otherwise */
-     public boolean isSetParserOutputId() {
-       return this.parserOutputId != null;
 -    /** Returns true if field templateId is set (has been assigned a value) and false otherwise */
 -    public boolean isSetTemplateId() {
 -      return this.templateId != null;
--    }
--
-     public void setParserOutputIdIsSet(boolean value) {
 -    public void setTemplateIdIsSet(boolean value) {
--      if (!value) {
-         this.parserOutputId = null;
 -        this.templateId = null;
--      }
--    }
--
      public java.lang.String getGatewayId() {
        return this.gatewayId;
      }
  
-     public getParserOutput_args setGatewayId(java.lang.String gatewayId) {
 -    public getParsingTemplate_args setGatewayId(java.lang.String gatewayId) {
++    public listAllParsers_args setGatewayId(java.lang.String gatewayId) {
        this.gatewayId = gatewayId;
        return this;
      }
@@@ -208134,14 -209229,14 +205032,6 @@@
  
      public void setFieldValue(_Fields field, java.lang.Object value) {
        switch (field) {
-       case PARSER_OUTPUT_ID:
 -      case TEMPLATE_ID:
--        if (value == null) {
-           unsetParserOutputId();
 -          unsetTemplateId();
--        } else {
-           setParserOutputId((java.lang.String)value);
 -          setTemplateId((java.lang.String)value);
--        }
--        break;
--
        case GATEWAY_ID:
          if (value == null) {
            unsetGatewayId();
@@@ -208155,9 -209250,9 +205045,6 @@@
  
      public java.lang.Object getFieldValue(_Fields field) {
        switch (field) {
-       case PARSER_OUTPUT_ID:
-         return getParserOutputId();
 -      case TEMPLATE_ID:
 -        return getTemplateId();
--
        case GATEWAY_ID:
          return getGatewayId();
  
@@@ -208172,8 -209267,8 +205059,6 @@@
        }
  
        switch (field) {
-       case PARSER_OUTPUT_ID:
-         return isSetParserOutputId();
 -      case TEMPLATE_ID:
 -        return isSetTemplateId();
        case GATEWAY_ID:
          return isSetGatewayId();
        }
@@@ -208184,26 -209279,26 +205069,17 @@@
      public boolean equals(java.lang.Object that) {
        if (that == null)
          return false;
-       if (that instanceof getParserOutput_args)
-         return this.equals((getParserOutput_args)that);
 -      if (that instanceof getParsingTemplate_args)
 -        return this.equals((getParsingTemplate_args)that);
++      if (that instanceof listAllParsers_args)
++        return this.equals((listAllParsers_args)that);
        return false;
      }
  
-     public boolean equals(getParserOutput_args that) {
 -    public boolean equals(getParsingTemplate_args that) {
++    public boolean equals(listAllParsers_args that) {
        if (that == null)
          return false;
        if (this == that)
          return true;
  
-       boolean this_present_parserOutputId = true && this.isSetParserOutputId();
-       boolean that_present_parserOutputId = true && that.isSetParserOutputId();
-       if (this_present_parserOutputId || that_present_parserOutputId) {
... 7081 lines suppressed ...