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:27 UTC

[airavata] branch mft-integration updated (9ae9d63 -> f9216e9)

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

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


    from 9ae9d63  Updating pga host for testing environment
     add a1040e7  Added the new PACE gateway URL
     add c858046  Added the new PACE gateway URL
     add dcca0fd  Ansible: control setting django KEYCLOAK_CA_CERTFILE setting
     add 5bef547  Ansible: comment out django_keycloak_ca_certfile_path for iam.scigap.org
     add c480b7c  Updating production and staging trust stores to support iam.scigap certificate change
     add 1222b7b  Ansible: comment out cafile-path
     add b5ccb39  Ansible: sufficient to just run composer install
     add a83a811  Ansible: comment out cafile-path in SimV too
     add 4bae56c  increased the input file size for Geochemsim
     add 760fce3  AIRAVATA-3158 Comment out using sharing for exp stats
     add 78ebb03  AIRAVATA-3158 Fixing typo
     add 38ebee8  AIRAVATA-3158 Change accessibleExpIds to not be required
     add ef82e19  Merge branch 'AIRAVATA-3158--Experiment-Statistics-in-Django-portal-doesn't-list-beyond-1000-experiments'
     add ec9562c  AIRAVATA-3303 Replace slashes with underscores
     add 74def4c  AIRAVATA-3303 Moving migration script to correct folders
     add 0ed17d6  Merge branch 'AIRAVATA-3303--404-Not-Found-when-forward-slash-in-experiment-id'
     add fb6c5d9  Update client_truststore.jks with letsencrypt cert
     add fc52011  AIRAVATA-3158 Set query limit high enough to get all of experiments in statistics
     add 04d6dc7  Merge branch 'AIRAVATA-3158--Experiment-Statistics-in-Django-portal-doesn't-list-beyond-1000-experiments'
     add 38e4fac  Ansible: configure Django timeout
     add 1bce4bf  Ansible: remove pga url seagrid django
     add 7e7ed8a  Ansible: update ssl paths for southdakota
     add a88c956  Logging improvements for email monitor
     add 9bebfa0  Fixing possible kafka read thread timeouts when processing post wm job status messages
     add 678be05  Avoiding the job resubmission due to helix bug
     add 8a6820d  Merge branch 'airavata-3276'
     add 6e51d46  Merge remote-tracking branch 'origin/airavata-3281'
     add e78ff86  Merge branch 'airavata-3268'
     add 6f35091  WIP
     add 56b3f0a  Merge branch 'AIRAVATA-3126--Implement-compute-resource-reservation-addition'
     add d0c5843  Adding missing jar to participant distribution
     add efb78bc  Adding new Physicell gateway
     add 3b7e26b  Adding new Physicell gateway
     add 925bbf6  Adding new Physicell gateway
     add 0026d18  Adding new Physicell gateway
     add dbc6115  Adding new Pathogenomics gateway
     add 669d788  Adding new Pathogenomics gateway
     add c367c9b  Adding new Pathogenomics gateway
     add 8476a13  Adding new Pathogenomics gateway
     add 4e10486  Adding new Pathogenomics gateway
     add 11998ee  Adding cilogon ot Physiecll gateway
     add f68c46c  added new email for notifications
     add af250b2  Added cilogon to pathogenomics gateway
     add efd6bd2  AIRAVATA-3126 Move schema migration to correct file
     add bb86096  Merge branch 'AIRAVATA-3126--Implement-compute-resource-reservation-addition'
     add 96994d3  AIRAVATA-3276 Moving data migration scripts to correct file
     add 9825a15  Adding the new domain gateway.physicell.org to physicell gateway
     add 211ba2b  Ansible: miga django app config
     add 7ef3f58  Adding google analytics ID to the mines gateway
     add 18f4cf0  Ansible: allow overriding selinux mode of portal server
     add 81ce637  Creating the archieve directory if it does not exist
     add f3e174a  Fixing a typo in email notifications in SMALTR
     add d0bd675  Adding BCB gateway
     add 934efdd  Adding BCB gateway
     add 1c1a897  Adding BCB gateway
     add 0fc42c7  Adding BCB gateway
     add 7c6d606  Adding BCB gateway
     add aa00afd  Adding BCB gateway
     add dac4edf  Updated the gateway domain with the new domain
     add 47c23ea  Ansible: add Letsencrypt CA (C=US, O=Let's Encrypt, CN=Let's Encrypt Authority X3) to client_truststore.jks
     add 5aeea33  Ansible: update keycloak role to setup httpd proxy
     add 00a1f0f  Merge branch 'keycloak-letsencrypt-proxy'
     add 9ec4b13  Ansible: removing custom branch deployment now that branch merged to master
     add cf3898d  Ansible: fixes to Letsencrypt cert generation for keycloak role
     add aeb72dd  Ansible: bump up simccs max heap to 8GB
     add 1b146a3  Changed the MIGA gateway domain on PI's request.
     add 01fc93c  Changed the MIGA gateway domain on PI's request.
     add 819a336  Changed the MIGA gateway domain on PI's request.
     add a5f76f0  Update email-config.yaml.j2
     add d45c557  Changed the max file size for Delta gateway
     add 19d56dd  Removed the local account creation in the MIGA gateway
     add c4c80ef  Ansible: configure hidden password login option
     add 41156d1  Tutorial gateway for PEARC20
     add 2a079eb  Tutorial gateway for PEARC20
     add 387522a  Tutorial gateway for PEARC20
     add 1595d58  Tutorial gateway for PEARC20 with SSL certification
     add 7ef08eb  Tutorial gateway for PEARC20 with gateway SSH key
     add 0e47fc8  Tutorial gateway for PEARC20 with gateway with cilogon
     add 71e01dd  Tutorial gateway for PEARC20 with gateway with cilogon
     add f9f3b08  AIRAVATA-3326 MariaDB migrations using docker container
     add 50ef0d7  AIRAVATA-3326 migration schema logging - removed dependence on test classpath
     add a090e3e  AIRAVATA-3326 ide-integration using mariadb with migrations
     add bff2ee2  AIRAVATA-3326 Remove unused code
     add cfe585e  AIRAVATA-3326 Removing unused/unnecessary file
     add 8f40b24  AIRAVATA-3326 Add support for generating full schema and updated docs
     add 6cda1ef  AIRAVATA-3326 docs on mysql migration script foreign key/constraint management
     add f51fc4e  AIRAVATA-3326 docs update
     add 57842ba  AIRAVATA-3326 updating docs
     add 3441f8d  AIRAVATA-3326 Removing unnecessary files
     add e96d8db  AIRAVATA-3326 Updating docs
     add 17af75f  AIRAVATA-3326 docker-compose executions invoked manually, remove from verify phase
     add 5f559f4  Merge branch 'AIRAVATA-3326-improved-database-migration-script-creation'
     add 0e82f02  Adding new admins to receive email notification in SimVascular new users
     add 0ca6229  Adding new admin email of PIs to Search SRA
     add c8ec1a1  Adding new admin email of PIs to Search SRA
     add cfe3f13  Adding new admin email of PIs to Search SRA
     add e3a4718  Updating apache pom version to 23
     add 6d97399  Updating README
     add bea7fb4  Updating required Java SDK version
     add 0c57153  Adding getting started to README
     add 7a9b27a  Merge pull request #258 from apache/updated-readme
     add 5c444d2  Adding new LROSE gateway
     add 7134a58  Adding new LROSE gateway
     add bb8b780  Adding new LROSE gateway
     add a5be154  LROSE Gateway SSH key for storage
     add cb81aad  Adding CILogon to LROSE Gateway
     add fb4d3d5  Making release 0.19
     add c16b9be  Bug fix
     add b1396d7  Merge branch 'AIRAVATA-3303--404-Not-Found-when-forward-slash-in-experiment-id' into develop
     add 56f0726  updating iu gateway to use letsencrypt
     add 2c5a867  Merge branch 'AIRAVATA-3158--Experiment-Statistics-in-Django-portal-doesn't-list-beyond-1000-experiments' into develop
     add 14d6f65  Merge branch 'AIRAVATA-3158--Experiment-Statistics-in-Django-portal-doesn't-list-beyond-1000-experiments' into develop
     add f8d09e9  Merge branch 'AIRAVATA-3158--Experiment-Statistics-in-Django-portal-doesn't-list-beyond-1000-experiments' into develop
     add 917fe22  Updating self signed certificates for ide integration
     add 7d0329f  Bump version to 0.20-SNAPSHOT
     add 9f50f98  Merge branch 'develop' of https://github.com/apache/airavata into pythonSDK
     add 72bfb61  Merge pull request #247 from isururanawaka/pythonSDK
     add 5544db6  Merge branch 'master' into develop
     add abb9012  AIRAVATA-3126 wrapper updates for JDK 11
     add eee6ae6  removing unused maven repos
     add d2eb9b7  adding jmockit as dependency
     add ad6cdec  add sftp based file handling
     add b2d61a0  update echo experiment
     add aea921a  Merge pull request #248 from isururanawaka/pythonSDK
     add 8fc6574  AIRAVATA-3327 thrift stubs - removed deprecated reservation fields
     add e10b84c  AIRAVATA-3327 Remove columns and usage of deprecated reservation columns
     add a69a193  Fix expecta catalog creation error
     add 1e7f475  Fix expecta catalog creation error
     add 26f9fd2  Merge pull request #249 from isururanawaka/develop
     add 4034c6a  AIRAVATA-3328 Call setters on defaulted fields when mapping with Dozer
     add 1265b74  OS independent path seperators
     add 4fa2a9a  Merge pull request #250 from isururanawaka/pythonSDK
     add 7784f4b  Resolving IllegalAccessException AIRAVATA-3335
     add eaf1f00  Ansible: interactwel dev django app, LOGIN_REDIRECT_URL setting
     add 59a1ea9  modify storageID, fix uncaught exeception in python27
     add 3cdb661  use makdedirs otherwise mkdir(base) will fail
     add 57866eb  use paramiko instead to handle correctly windows path
     add 64b4190  Merge pull request #252 from fengggli/develop
     add 57b0373  Add static storageId
     add 7387adf  Merge pull request #253 from isururanawaka/pythonSDK
     add e58c6c2  Ansible: remove incommon rsa cert in dev env
     add 4e2f39e  Add Letsencrypt CA cert to client truststore
     add b53e2db  Replacing the existing domain with interactwel.org
     add 18caaf5  Ansible: update interactwel LOGIN_REDIRECT_URL
     add 538d3f4  Merge branch 'keycloak-letsencrypt-proxy' into develop
     add 2b33fda  AIRAVATA-3328 Fix broken tests
     add 3cd556d  Added vhost server redirect for interactwel
     add 0707aec  Adding dev delta gateway
     add ee4bfae  Adding dev delta gateway
     add 1c35616  Adding dev delta gateway
     add 6f19a32  Adding dev delta gateway
     add 4e85790  Merge remote-tracking branch 'origin/AIRAVATA-3326-improved-database-migration-script-creation' into develop
     add 8031658  Merge remote-tracking branch 'origin/AIRAVATA-3326-improved-database-migration-script-creation' into develop
     add 63f90c0  Merge remote-tracking branch 'origin/AIRAVATA-3326-improved-database-migration-script-creation' into develop
     add 9116fe5  AIRAVATA-3326 Restore the openjpa enhancer plugin
     add 855c4c7  Merge remote-tracking branch 'origin/AIRAVATA-3326-improved-database-migration-script-creation' into develop
     add 8dfa890  Merge branch 'develop' of https://github.com/apache/airavata into develop
     add fb56a41  Fix keycloak certificate issue
     add 4d43aca  Merge pull request #251 from isururanawaka/develop
     add aa6d825  Make python 2.7 compatibility
     add 7e8eae9  Merge pull request #256 from isururanawaka/develop
     add 5b0e9ed  Adding the storage to DELTA gateway
     add 4758d3e  Loading usage reporting information from the database
     add 57823d6  Added compute resource id for fetching gateway usage reporting command
     add 1fcb466  airavata-python-sdk: Removing/ignoring build directory
     add 011f6f7  AIRAVATA-3236 Update exp state to FAILED if fails to launch
     add 5a7d801  AIRAVATA-3363 WSGIApplicationGroup setting for Python modules with C extensions
     add a0ceb4d  Ansible: adding the geogateway django app to beta-geo
     add e98ed19  Ansible: redirect to GeoGateway app after login
     add 06aa064  AIRAVATA-3358 Synchronize creating gateway groups to prevent multiple request threads from creating duplicates
     add 31b17d1  Ansible: adding CILogon for beta geogateway
     add 194f4c2  Minor logging improvement for usage reporting
     add 7912ba9  Merge branch 'master' into develop
     add 5c3dc80  Adding usage reporting command table to delta scripts
     add 30add7b  Merge branch 'develop'
     add b27abd2  Changing prod ansible distribution to 0.20-SNAPSHOT
     add 675fc56  Fixing minor test failures in registry core
     add d21c31d  Updating name of migrations folder for 0.20 version
     add cb6d3ae  Update README.md to indicate Java 11 required
     add ceaac72  Initializing migration script files for next version
     add b4933b2  AIRAVATA-3369 Convert USER_FRIENDLY_DESC to CLOB to allow longer descriptions
     add 9be338e  AIRAVATA-3369 Increase migration script timeout for starting dockerized MariaDB
     add 106e010  AIRAVATA-3369 Fixing column typo
     add a7614b1  Merge branch 'airavata-3369' into develop
     add 0872164  Upgrading the helix version 0.8.2 -> 0.9.7
     add d65c9f1  Ansible: Interactwel post login landing page setting
     add e175e2a  Fixing minor ansible issues in the migration
     add 56ba019  Added new email for new user account notifications in LROSE
     add e665821  Ansible: remove java role from django playbook since we don't want the updated one (java 11) and only one django portal needs java
     add fc9fdb0  Added google analytics tracking ID
     add 5258ddc  Added google analytics tracking ID to AMP gateway
     add 3ccd513  Added google analytics tracking ID to Distant reader gateway
     add 5536d04  Added google analytics tracking ID to BCB gateway
     add 1d6f0e1  Added google analytics tracking ID to DELTA gateway
     add e0e02b2  Added google analytics tracking ID to LROSE gateway
     add 0d0992a  Added google analytics tracking ID to Saver-X gateway
     add 549ed51  Added google analytics tracking ID to Search SRA gateway
     add b9276a4  Added google analytics tracking ID to SMALTR gateway
     add 386b6ad  Added google analytics tracking IDs to V4I and TopPIC gateways
     add dfe7dde  Removing wildcard validation
     add 7925b9f  Ansible: fixing typo in email
     add f28bc9c  AIRAVATA-3368 Move django database setup to django role
     add 5b70d6e  AIRAVATA-3368 Make Django database server configurable
     add 29e0ac9  Merge pull request #262 from apache:AIRAVATA-3368-ansible-create-django-database-as-part-of-django-
     add 32318dc  Ansible: rename, keep old simvascular deploy until migration is complete
     add b40a934  Ansible: enable Django deploy on Ubuntu 18
     add 05b734d  Ansible: PGA deploy on Ubuntu 18
     add aef45ae  Ansible: fix default DocumentRoot on Ubuntu 18
     add 0476158  Ansible: for PGA, enable php5.6 module on Ubuntu 18
     add 5aa09d0  Ansible: configure django db backend
     add 7724d22  Ansible: simvascular.stanford.edu deployment
     add 24bd94c  Ansible: simvascular tus endpoint
     add 181834e  Ansible: deploy Django portal to simvascular server with its own local database
     add 15ec606  Merge branch 'master' into develop
     add 43c74df  Bumping version to 0.21-SNAPSHOT
     add 5d02f8b  Move Python airavata SDK modules under top level package
     add 7be6328  Merge pull request #259 from apache:airavata-python-sdk-top-level-package
     add 34e8bed  AIRAVATA-3297 create MANAGE_SHARING permission for new and existing gateways
     add ac35813  Merge branch 'AIRAVATA-3297' into develop
     add 6abd10f  AIRAVATA-3297 Fixing typo
     add d436194  Merge branch 'AIRAVATA-3297' into develop
     add 9202966  AIRAVATA-3346 mod_wsgi WSGIPassAuthorization
     add 3c5cb01  Merge branch 'airavata-3346' into develop
     add a306205  Ansible: update simccs virtual host template
     add 8958e3d  Ansible: disable tus uploads for dev-delta
     add a31babb  Replacing special characters when creating stdout and stderr files
     add aa43fa9  Adding views directory to pga
     add 687c4ab  Updating assembly plugin version
     add b11d811  Adding views directory to pga
     add 9e30529  Adding session directory to pga
     add f581b61  Enabling debug logs on for pga
     add 3794421  Skipping pga files in resource import
     add f9b9e20  Updating readme for windows ide-integration support
     add 81c3e5c  Moving container data to a separate directory
     add 1a437d5  updating keycloak container keystore path
     add 3acf293  Changing pga folder permissions to be accessible by all
     add 4ca774b  Reading properties from the environment variables
     add 7d6073b  Automatically creating the helix cluster if not available
     add 5642cc2  Initial docker distribution
     add fae9e61  Minor readme fix
     add a514a55  AIRAVATA-3386 Adding known issue to README
     add bbcaf8d  Adding new TSUNAMI gateway
     add f5487d5  Adding new TSUNAMI gateway
     add e16269b  increased file size for PACE gateway
     add e21b5e1  Merge branch 'airavata-3346'
     add 618168c  Merge branch 'master' of github.com:apache/airavata
     add a8055d3  increased file size for PACE gateway
     add 6cbb671  Adding new TSUNAMI gateway
     add 57553f7  Adding the new SSH key for server communication and CILogon to TSUNAMI
     add 0fad168  AIRAVATA-3372 Fix to speed up process list query
     add b89b91a  Removed PGA gateway URL from workspace.
     add ebc73f5  Removed PGA gateway URL from workspace.
     add c992d02  Adding lrose to email config
     add 2473cd4  Removed PGA gateway URL from workspace and siwtch the main domain to the Django portal.
     add cd09d9c  Ansible: django portal workshop branch for delta-topology
     add cce5899  Updating firewall rules to restrict services to subnets
     add 9b3ada7  Adding subnets to missing environments
     add 8d53c14  Adding testvc slurm email
     add 8337e85  Making firewall rules to apply immediately
     add 75723e7  Merge pull request #267 from apache/firewall-fixes
     add 79efb90  Fixing AIRAVATA-3391 : Resolving parameters in the groovy map data
     add 8f16a98  Removing redundancies
     add 541af76  Merge pull request #268 from apache/AIRAVATA-3391
     add 1920f28  Temporarily disabling parameter parsing in groovy map data
     add f74bd20  Initial prometheus monitoring impl
     add 74a7145  Merge branch 'prometheus-integration' into develop
     add ae78abc  Updating the platform monitoring version
     add 540dead  Adding missing jars
     add 57ef075  Merge branch 'prometheus-integration' into develop
     add a3ca40f  Changing the running task count to gauge
     add b161235  Merge branch 'prometheus-integration' into develop
     add 9ef272a  Minor fix of permissions in setting up monitoring firewalls
     add de6b317  Merge branch 'prometheus-integration' into develop
     add a8d5eb9  Monitoring API Server Requests
     add 9939e07  Merge branch 'prometheus-integration' into develop
     add 31a9f22  Parsing module load commands
     add 704ac38  Merge pull request #269 from apache/AIRAVATA-3391
     add 890dc20  Merge branch 'prometheus-integration'
     add 12897e6  Ansible: for keycloak bump up max request field size
     add 5e8fdc4  Adding geo gateway to production.
     add c0a9e67  Adding geo gateway to production.
     add 229d8a0  Adding geo gateway to production.
     add c4475c0  Adding geo gateway to production.
     add 056fce8  Added a new email for PACE admin mail notifications.
     add 0e0db91  Adding CILogon to Geo gateway
     add 80c45cb  Adding new Covid GeoAct gateway
     add a094ea2  Adding new Covid GeoAct gateway
     add 9971287  Adding new Covid GeoAct gateway
     add 9013f7a  Adding new Covid GeoAct gateway
     add 76d0cbd  Adding new Covid GeoAct gateway
     add 66ba191  Adding new Covid GeoAct gateway
     add c5a45a5  Adding new Covid GeoAct gateway
     add 789991c  Adding google analytics to geo gateway
     add 213efb6  AIRAVATA-3268 Null out INPUT_VALUE for inputs using OVERRIDE_FILENAME
     add 8a293ad  Changed the geo gateway domain
     add d19a697  AIRAVATA-3397 Make client trust store optional
     add d7b9f2b  Merge branch 'AIRAVATA-3397' into develop
     new 88dad91  Merge branch 'develop' into mft-integration
     new d354269  Gitignore to ignore database data
     new f9216e9  Rebuilding registry thrift service

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


Summary of changes:
 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/.gitignore                 |     1 +
 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     | 13581 +++--
 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 |     0
 .../experimentCatalog_schema_delta.sql             |    32 +
 .../DeltaScripts/profile_service_schema_delta.sql  |     0
 .../DeltaScripts/replicaCatalog_schema_delta.sql   |     0
 .../DeltaScripts/sharingCatalog_schema_delta.sql   |     0
 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 +-
 985 files changed, 14611 insertions(+), 129011 deletions(-)
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/airavata_python_sdk.egg-info/PKG-INFO
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/airavata_python_sdk.egg-info/SOURCES.txt
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/airavata_python_sdk.egg-info/dependency_links.txt
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/airavata_python_sdk.egg-info/top_level.txt
 copy dev-tools/ansible/pga.yml => airavata-api/airavata-client-sdks/airavata-python-sdk/airavata_sdk/__init__.py (89%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{transport => airavata_sdk/clients}/__init__.py (100%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{build/lib => airavata_sdk}/clients/api_server_client.py (99%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{build/lib => airavata_sdk}/clients/credential_store_client.py (96%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{ => airavata_sdk}/clients/file_handling_client.py (100%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{ => airavata_sdk}/clients/group_manager_client.py (98%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{ => airavata_sdk}/clients/iam_admin_client.py (98%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{ => airavata_sdk}/clients/keycloak_token_fetcher.py (95%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{build/lib/clients/file_handling_client.py => airavata_sdk/clients/sftp_file_handling_client.py} (51%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{build/lib => airavata_sdk}/clients/sharing_registry_client.py (99%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{ => airavata_sdk}/clients/tenant_profile_client.py (97%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{ => airavata_sdk}/clients/user_profile_client.py (97%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{ => airavata_sdk}/clients/utils/__init__.py (100%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{build/lib => airavata_sdk}/clients/utils/api_server_client_util.py (94%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{ => airavata_sdk}/clients/utils/data_model_creation_util.py (90%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{samples/resources => airavata_sdk/samples}/__init__.py (100%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{build/lib => airavata_sdk}/samples/api_server_client_samples.py (98%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{build/lib => airavata_sdk}/samples/create_launch_echo_experiment.py (68%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{ => airavata_sdk}/samples/create_launch_gaussian_experiment.py (91%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{build/lib => airavata_sdk}/samples/file_utils.py (95%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{ => airavata_sdk}/samples/group_manager_client_samples.py (94%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{ => airavata_sdk}/samples/iam_admin_client_samples.py (93%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{build/lib => airavata_sdk}/samples/metadata_fetcher.py (95%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{samples => airavata_sdk/samples/resources}/__init__.py (100%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{ => airavata_sdk}/samples/resources/incommon_rsa_server_ca.pem (100%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{build/lib => airavata_sdk}/samples/sharing_registry_client_samples.py (94%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{ => airavata_sdk}/samples/tenant_profile_client_samples.py (91%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{ => airavata_sdk}/samples/user_profile_client_samples.py (94%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{clients => airavata_sdk/transport}/__init__.py (100%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{build/lib => airavata_sdk}/transport/settings.ini (93%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{ => airavata_sdk}/transport/settings.py (87%)
 rename airavata-api/airavata-client-sdks/airavata-python-sdk/{build/lib => airavata_sdk}/transport/utils.py (99%)
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/api/Airavata.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/api/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/api/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/api/credential/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/api/credential/store/CredentialStoreService.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/api/credential/store/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/api/credential/store/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/api/credential/store/error/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/api/credential/store/error/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/api/credential/store/error/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/api/credential/store/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/api/error/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/api/error/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/api/error/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/api/sharing/SharingRegistryService.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/api/sharing/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/api/sharing/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/api/sharing/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/api/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/base/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/base/api/BaseAPI.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/base/api/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/base/api/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/base/api/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/accountprovisioning/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/accountprovisioning/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/accountprovisioning/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/appdeployment/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/appdeployment/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/appdeployment/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/appinterface/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/appinterface/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/appinterface/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/computeresource/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/computeresource/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/computeresource/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/gatewaygroups/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/gatewaygroups/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/gatewaygroups/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/gatewayprofile/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/gatewayprofile/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/gatewayprofile/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/groupresourceprofile/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/groupresourceprofile/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/groupresourceprofile/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/parallelism/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/parallelism/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/parallelism/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/parser/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/parser/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/parser/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/storageresource/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/storageresource/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/storageresource/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/userresourceprofile/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/userresourceprofile/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/appcatalog/userresourceprofile/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/application/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/application/io/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/application/io/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/application/io/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/commons/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/commons/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/commons/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/credential/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/credential/store/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/credential/store/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/credential/store/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/data/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/data/movement/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/data/movement/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/data/movement/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/data/replica/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/data/replica/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/data/replica/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/dbevent/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/dbevent/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/dbevent/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/experiment/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/experiment/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/experiment/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/group/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/group/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/group/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/job/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/job/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/job/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/messaging/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/messaging/event/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/messaging/event/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/messaging/event/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/process/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/process/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/process/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/scheduling/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/scheduling/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/scheduling/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/security/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/security/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/security/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/sharing/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/sharing/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/sharing/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/status/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/status/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/status/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/task/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/task/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/task/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/tenant/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/tenant/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/tenant/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/user/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/user/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/user/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/workflow/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/workflow/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/workflow/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/workspace/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/workspace/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/model/workspace/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/groupmanager/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/groupmanager/cpi/GroupManagerService.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/groupmanager/cpi/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/groupmanager/cpi/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/groupmanager/cpi/error/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/groupmanager/cpi/error/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/groupmanager/cpi/error/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/groupmanager/cpi/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/iam/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/iam/admin/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/iam/admin/services/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/iam/admin/services/cpi/IamAdminServices.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/iam/admin/services/cpi/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/iam/admin/services/cpi/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/iam/admin/services/cpi/error/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/iam/admin/services/cpi/error/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/iam/admin/services/cpi/error/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/iam/admin/services/cpi/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/tenant/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/tenant/cpi/TenantProfileService.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/tenant/cpi/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/tenant/cpi/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/tenant/cpi/error/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/tenant/cpi/error/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/tenant/cpi/error/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/tenant/cpi/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/user/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/user/cpi/UserProfileService.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/user/cpi/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/user/cpi/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/user/cpi/error/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/user/cpi/error/constants.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/user/cpi/error/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/airavata/service/profile/user/cpi/ttypes.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/clients/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/clients/file_upload_client.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/clients/group_manager_client.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/clients/iam_admin_client.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/clients/keycloak_token_fetcher.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/clients/tenant_profile_client.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/clients/user_profile_client.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/clients/utils/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/clients/utils/data_model_creation_util.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/samples/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/samples/create_launch_gaussian_experiment.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/samples/group_manager_client_samples.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/samples/iam_admin_client_samples.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/samples/resources/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/samples/tenant_profile_client_samples.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/samples/user_profile_client_samples.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/transport/__init__.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/build/lib/transport/settings.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/clients/api_server_client.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/clients/credential_store_client.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/clients/sharing_registry_client.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/clients/utils/api_server_client_util.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/dist/airavata_python_sdk-1.0.0-py2.py3-none-any.whl
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/samples/api_server_client_samples.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/samples/create_launch_echo_experiment.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/samples/file_utils.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/samples/metadata_fetcher.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/samples/sharing_registry_client_samples.py
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/transport/settings.ini
 delete mode 100644 airavata-api/airavata-client-sdks/airavata-python-sdk/transport/utils.py
 create mode 100644 airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/GatewayUsageReportingCommand.java
 copy dev-tools/ansible/inventories/scigap/develop/host_vars/{geo => delta}/vars.yml (64%)
 create mode 100644 dev-tools/ansible/inventories/scigap/develop/host_vars/delta/vault.yml
 copy dev-tools/ansible/inventories/scigap/production/host_vars/{v4i => bcbportal}/vars.yml (58%)
 create mode 100644 dev-tools/ansible/inventories/scigap/production/host_vars/bcbportal/vault.yml
 create mode 100644 dev-tools/ansible/inventories/scigap/production/host_vars/covid-geoact/vars.yml
 create mode 100644 dev-tools/ansible/inventories/scigap/production/host_vars/covid-geoact/vault.yml
 copy dev-tools/ansible/inventories/scigap/production/host_vars/{pace-gatech => geo}/vars.yml (50%)
 create mode 100644 dev-tools/ansible/inventories/scigap/production/host_vars/geo/vault.yml
 create mode 100644 dev-tools/ansible/inventories/scigap/production/host_vars/lrose/vars.yml
 create mode 100644 dev-tools/ansible/inventories/scigap/production/host_vars/lrose/vault.yml
 copy dev-tools/ansible/inventories/scigap/production/host_vars/{v4i => pathogenomics}/vars.yml (55%)
 create mode 100644 dev-tools/ansible/inventories/scigap/production/host_vars/pathogenomics/vault.yml
 copy dev-tools/ansible/inventories/scigap/production/host_vars/{smaltr => physicell}/vars.yml (56%)
 create mode 100644 dev-tools/ansible/inventories/scigap/production/host_vars/physicell/vault.yml
 copy dev-tools/ansible/inventories/scigap/production/host_vars/{simvascular => simvascular_old}/vars.yml (74%)
 copy dev-tools/ansible/inventories/scigap/production/host_vars/{simvascular => simvascular_old}/vault.yml (100%)
 copy dev-tools/ansible/inventories/scigap/production/host_vars/{toppic => tsunami}/vars.yml (55%)
 create mode 100644 dev-tools/ansible/inventories/scigap/production/host_vars/tsunami/vault.yml
 copy dev-tools/ansible/inventories/scigap/production/host_vars/{pace-gatech => tutorial}/vars.yml (51%)
 create mode 100644 dev-tools/ansible/inventories/scigap/production/host_vars/tutorial/vault.yml
 rename dev-tools/ansible/roles/{database/tasks/django.yml => django/tasks/database.yml} (70%)
 copy dev-tools/ansible/roles/django_setup/tasks/{main.yml => install_deps_CentOS_7.yml} (97%)
 copy dev-tools/ansible/{database.yml => roles/django_setup/tasks/install_deps_Ubuntu_18.yml} (66%)
 copy dev-tools/ansible/{database.yml => roles/httpd/tasks/install_deps_Ubuntu_18.yml} (71%)
 delete mode 100644 dev-tools/ansible/roles/keycloak/files/README.md
 copy dev-tools/ansible/{pga.yml => roles/keycloak/handlers/main.yml} (87%)
 create mode 100644 dev-tools/ansible/roles/keycloak/templates/basic-vhost.conf.j2
 create mode 100644 dev-tools/ansible/roles/keycloak/templates/vhost.conf.j2
 copy dev-tools/ansible/roles/{java/tasks/main.yml => pga/tasks/install_deps_Ubuntu_18.yml} (56%)
 delete mode 100644 modules/airavata-helix/platform-monitor/src/main/java/org/apache/airavata/helix/cluster/monitoring/ErrorNotifier.java
 delete mode 100644 modules/airavata-helix/platform-monitor/src/main/java/org/apache/airavata/helix/cluster/monitoring/MainMonitor.java
 delete mode 100644 modules/airavata-helix/platform-monitor/src/main/java/org/apache/airavata/helix/cluster/monitoring/PlatformMonitor.java
 delete mode 100644 modules/airavata-helix/platform-monitor/src/main/java/org/apache/airavata/helix/cluster/monitoring/PlatformMonitorError.java
 delete mode 100644 modules/airavata-helix/platform-monitor/src/main/java/org/apache/airavata/helix/cluster/monitoring/agents/ApiServerMonitor.java
 delete mode 100644 modules/airavata-helix/platform-monitor/src/main/java/org/apache/airavata/helix/cluster/monitoring/agents/DbMonitor.java
 delete mode 100644 modules/airavata-helix/platform-monitor/src/main/java/org/apache/airavata/helix/cluster/monitoring/agents/HelixControllerMonitor.java
 delete mode 100644 modules/airavata-helix/platform-monitor/src/main/java/org/apache/airavata/helix/cluster/monitoring/agents/HelixParticipantMonitor.java
 delete mode 100644 modules/airavata-helix/platform-monitor/src/main/java/org/apache/airavata/helix/cluster/monitoring/agents/ZookeeperMonitor.java
 delete mode 100644 modules/airavata-helix/platform-monitor/src/main/resources/airavata-server.properties
 delete mode 100644 modules/airavata-helix/platform-monitor/src/main/resources/logback.xml
 delete mode 100644 modules/distribution/src/main/assembly/platform-monitor-bin-assembly.xml
 copy modules/distribution/src/main/{resources/platform-monitor/bin/setenv.sh => docker/api-server/Dockerfile} (58%)
 mode change 100755 => 100644
 create mode 100644 modules/distribution/src/main/docker/api-server/wait-for-it.sh
 copy modules/distribution/src/main/{resources/platform-monitor/bin/setenv.sh => docker/controller/Dockerfile} (58%)
 mode change 100755 => 100644
 create mode 100644 modules/distribution/src/main/docker/controller/wait-for-it.sh
 create mode 100644 modules/distribution/src/main/docker/docker-compose.yml
 copy modules/distribution/src/main/{resources/platform-monitor/bin/setenv.sh => docker/email-monitor/Dockerfile} (58%)
 mode change 100755 => 100644
 create mode 100644 modules/distribution/src/main/docker/email-monitor/wait-for-it.sh
 copy modules/distribution/src/main/{resources/platform-monitor/bin/setenv.sh => docker/participant/Dockerfile} (58%)
 mode change 100755 => 100644
 create mode 100644 modules/distribution/src/main/docker/participant/wait-for-it.sh
 copy modules/distribution/src/main/{resources/platform-monitor/bin/setenv.sh => docker/post-wm/Dockerfile} (58%)
 mode change 100755 => 100644
 create mode 100644 modules/distribution/src/main/docker/post-wm/wait-for-it.sh
 rename modules/distribution/src/main/{resources/platform-monitor/bin/setenv.sh => docker/pre-wm/Dockerfile} (58%)
 mode change 100755 => 100644
 create mode 100644 modules/distribution/src/main/docker/pre-wm/wait-for-it.sh
 create mode 100644 modules/distribution/src/main/resources/dockerfiles/controller/Dockerfile
 delete mode 100644 modules/distribution/src/main/resources/platform-monitor/bin/platform-monitor-daemon.sh
 delete mode 100644 modules/distribution/src/main/resources/platform-monitor/bin/platform-monitor.sh
 delete mode 100644 modules/distribution/src/main/resources/platform-monitor/conf/airavata-server.properties
 delete mode 100644 modules/distribution/src/main/resources/platform-monitor/conf/logback.xml
 create mode 100644 modules/ide-integration/.gitignore
 rename modules/ide-integration/src/main/{resources => containers}/.gitignore (100%)
 rename modules/ide-integration/src/main/{resources => containers}/database_scripts/init/01-databases.sql (100%)
 create mode 100644 modules/ide-integration/src/main/containers/database_scripts/init/02-sharing-registry-migrations.sql
 create mode 100644 modules/ide-integration/src/main/containers/database_scripts/init/03-appcatalog-migrations.sql
 create mode 100644 modules/ide-integration/src/main/containers/database_scripts/init/04-expcatalog-migrations.sql
 rename modules/ide-integration/src/main/{resources => containers}/docker-compose.yml (90%)
 rename modules/ide-integration/src/main/{resources => containers}/gateway-storage/Dockerfile (100%)
 rename modules/ide-integration/src/main/{resources => containers}/gateway-storage/authorized_keys (100%)
 rename modules/ide-integration/src/main/{resources => containers}/keycloak/Default-export.json (100%)
 rename modules/ide-integration/src/main/{resources => containers}/keycloak/Default-export.json.bk (100%)
 rename modules/ide-integration/src/main/{resources => containers}/keycloak/standalone.xml (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/000-default.conf (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/Dockerfile (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/.gitignore (92%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/config/app.php (99%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/config/auth.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/config/cache.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/config/compile.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/config/database.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/config/email_templates.json (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/config/email_templates.json.template (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/config/local/app.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/config/local/database.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/config/mail.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/config/packages/markdown/config.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/config/packages/teepluss/theme/config.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/config/packages/teepluss/theme/twig.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/config/pga_config.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/config/pga_config.php.template (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/config/queue.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/config/remote.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/config/services.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/config/session.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/config/testing/cache.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/config/testing/session.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/config/view.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/config/workbench.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/controllers/AccountController.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/controllers/AdminController.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/controllers/ApplicationController.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/controllers/BaseController.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/controllers/ComputeResourceController.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/controllers/DataCatController.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/controllers/ExperimentController.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/controllers/FilemanagerController.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/controllers/GatewayRequestUpdateController.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/controllers/GatewayprofileController.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/controllers/GroupController.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/controllers/HomeController.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/controllers/ProjectController.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/controllers/StorageResourceController.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/controllers/UserSettingsController.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/database/production.sqlite (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/database/seeds/DatabaseSeeder.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/filters.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/lang/en/pagination.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/lang/en/reminders.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/lang/en/validation.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/AdminUtilities.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/API/Airavata.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/API/Error/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/API/Sharing/SharingRegistryService.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/API/Sharing/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/API/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/AiravataServiceProvider.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Facades/Airavata.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Facades/IamAdminServices.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Facades/TenantProfileServices.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Facades/UserProfileServices.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/IamAdminServiceProvider.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/AppCatalog/AccountProvisioning/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/AppCatalog/AppDeployment/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/AppCatalog/AppInterface/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/AppCatalog/ComputeResource/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/AppCatalog/GatewayGroups/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/AppCatalog/GatewayProfile/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/AppCatalog/GroupResourceProfile/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/AppCatalog/Parallelism/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/AppCatalog/StorageResource/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/AppCatalog/UserResourceProfile/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/Application/Io/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/Commons/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/Credential/Store/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/Data/Movement/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/Data/Replica/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/Dbevent/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/Experiment/Types.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/Group/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/Job/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/Messaging/Event/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/Process/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/Scheduling/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/Security/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/Sharing/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/Status/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/Task/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/Tenant/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/User/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/Workflow/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Model/Workspace/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Service/Iam/Admin/Services/CPI/Error/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Service/Iam/Admin/Services/CPI/IamAdminServices.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Service/Iam/Admin/Services/CPI/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Service/Profile/Groupmanager/CPI/Error/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Service/Profile/Groupmanager/CPI/GroupManagerService.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Service/Profile/Groupmanager/CPI/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Service/Profile/Tenant/CPI/Error/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Service/Profile/Tenant/CPI/TenantProfileService.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Service/Profile/Tenant/CPI/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Service/Profile/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Service/Profile/User/CPI/Error/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Service/Profile/User/CPI/Types.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/Service/Profile/User/CPI/UserProfileService.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/TenantProfileServiceProvider.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Airavata/UserProfileServiceProvider.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/AppUtilities.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/CRUtilities.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/CommonUtilities.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/EmailUtilities.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/ExperimentUtilities.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/FileManager.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/GrouperUtilities.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/IamAdminServicesUtilities.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Keycloak/API/BaseKeycloakAPIEndpoint.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Keycloak/API/RoleMapper.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Keycloak/API/Roles.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Keycloak/API/Users.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Keycloak/Facades/Keycloak.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Keycloak/Keycloak.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Keycloak/KeycloakServiceProvider.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Keycloak/KeycloakUtil.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/ProjectUtilities.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/SRUtilities.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/SharingUtilities.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Base/TBase.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/ClassLoader/ThriftClassLoader.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Exception/TApplicationException.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Exception/TException.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Exception/TProtocolException.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Exception/TTransportException.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Factory/TBinaryProtocolFactory.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Factory/TCompactProtocolFactory.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Factory/TJSONProtocolFactory.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Factory/TProtocolFactory.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Factory/TStringFuncFactory.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Factory/TTransportFactory.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Protocol/JSON/BaseContext.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Protocol/JSON/ListContext.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Protocol/JSON/LookaheadReader.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Protocol/JSON/PairContext.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Protocol/TBinaryProtocol.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Protocol/TBinaryProtocolAccelerated.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Protocol/TCompactProtocol.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Protocol/TJSONProtocol.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Protocol/TMultiplexedProtocol.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Protocol/TProtocol.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Protocol/TProtocolDecorator.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Serializer/TBinarySerializer.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Server/TForkingServer.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Server/TServer.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Server/TServerSocket.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Server/TServerTransport.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Server/TSimpleServer.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/StringFunc/Core.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/StringFunc/Mbstring.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/StringFunc/TStringFunc.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/TMultiplexedProcessor.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Thrift.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Transport/TBufferedTransport.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Transport/TCurlClient.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Transport/TFramedTransport.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Transport/THttpClient.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Transport/TMemoryBuffer.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Transport/TNullTransport.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Transport/TPhpStream.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Transport/TSocket.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Transport/TSocketPool.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Transport/TTransport.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Type/TConstant.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Type/TMessageType.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/Type/TType.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Thrift/autoload.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/URPUtilities.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/UserProfileUtilities.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Wsis/Facades/Wsis.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Wsis/Stubs/AuthenticationAdmin.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Wsis/Stubs/AuthenticationAdminStub.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Wsis/Stubs/OAuthManager.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Wsis/Stubs/TenantManager.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Wsis/Stubs/TenantMgtAdminStub.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Wsis/Stubs/UserInformationRecoveryManager.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Wsis/Stubs/UserInformationRecoveryStub.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Wsis/Stubs/UserProfileManager.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Wsis/Stubs/UserProfileManagerStub.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Wsis/Stubs/UserStoreManager.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Wsis/Stubs/UserStoreManagerStub.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Wsis/Wsis.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/libraries/Wsis/WsisServiceProvider.php (100%)
 rename modules/ide-integration/src/main/{resources/pga/airavata-php-gateway/public => containers/pga/airavata-php-gateway/app/resources}/assets/PoweredbyAiravata_Small.png (100%)
 rename modules/ide-integration/src/main/{resources/pga/airavata-php-gateway/public => containers/pga/airavata-php-gateway/app/resources}/assets/Profile_avatar_placeholder_large.png (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources/pga/airavata-php-gateway/public => containers/pga/airavata-php-gateway/app/resources}/assets/favicon.ico (100%)
 rename modules/ide-integration/src/main/{resources/pga/airavata-php-gateway/public => containers/pga/airavata-php-gateway/app/resources}/assets/scigap-header-logo.png (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/resources/oa4mp/oauth-properties.ini (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/resources/security/idp_scigap_org.pem (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/resources/security/incommon_rsa_server_ca.pem (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/routes.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/start/artisan.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/start/global.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/start/local.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/storage/meta/services.json (100%)
 copy modules/ide-integration/src/main/{resources/pga/airavata-php-gateway/public/themes/base/views/index.blade.php => containers/pga/airavata-php-gateway/app/storage/sessions/.local} (100%)
 mode change 100644 => 100755
 copy modules/ide-integration/src/main/{resources/pga/airavata-php-gateway/public/themes/base/partials/template.blade.php => containers/pga/airavata-php-gateway/app/storage/views/.local} (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/ExampleTest.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/TestCase.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/README.txt (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/pom.xml (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/AmberSanderBR2.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/AmberSanderComet.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/AmberSanderStampede.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/AutoDockBR2.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/CreateModifySearchProject.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/CreateUserLogin.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/EchoBR2.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/EchoComet.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/EchoStampede.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/EspressoStampede.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/ExpLoadTest.java (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/GamessGordon.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/GaussianComet.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/GaussianGordon.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/GromacsStampede.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/LammpsComet.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/LammpsStampede.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/NwChemComet.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/NwChemStampede.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/PhastaPStampede.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/RunAllTests.java (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/SearchProjectExp.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/TinkerMonteStampede.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/TrinityStampede.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/UserLogout.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/WRFStampede.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/utils/CurrentDateTime.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/utils/ExpFileReadUtils.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/java/org/apache/airavata/pga/tests/utils/UserLogin.java (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/tests/selenium/src/test/resources/exp.properties (100%)
 copy modules/ide-integration/src/main/{resources/pga/airavata-php-gateway/public/themes/base/partials/footer.blade.php => containers/pga/airavata-php-gateway/app/views/.local} (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/account/create.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/account/credential-store.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/account/dashboard.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/account/forgot-password.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/account/login-desktop.blade.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/account/login.blade.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/account/request-allocation.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/account/reset-password.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/account/settings.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/account/update.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/account/user-compute-resources.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/account/user-profile-update-email.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/account/user-profile.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/account/user-storage-resources.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/account/verify-human.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/admin/create-gateway.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/admin/experiment-statistics.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/admin/manage-admin.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/admin/manage-credentials.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/admin/manage-experiments.blade.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/admin/manage-gateway.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/admin/manage-notices.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/admin/manage-resources.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/admin/manage-roles.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/admin/manage-users.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/application/deployment.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/application/interface.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/application/module.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/datacat/select.blade.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/datacat/summary.blade.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/emails/auth/reminder.blade.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/error.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/experiment/browse.blade.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/experiment/create-complete.blade.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/experiment/create.blade.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/experiment/edit.blade.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/experiment/no-sharing-create-complete.blade.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/experiment/no-sharing-edit.blade.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/experiment/summary.blade.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/files/browse.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/gateway/browse.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/gateway/create.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/group/browse.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/group/create.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/group/edit.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/group/summary.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/home.blade.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/layout/basic.blade.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/layout/desktop-login.blade.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/layout/fixed-footer.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/layout/fixed-header.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/layout/fixed-scripts.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/pages.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/partials/add-gateway-block.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/partials/auto-provisioned-accounts.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/partials/compute-resource-preferences.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/partials/dashboard-block.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/partials/deployment-block.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/partials/experiment-container.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/partials/experiment-info.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/partials/experiment-inputs.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/partials/experiment-queue-block.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/partials/gateway-preferences-block.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/partials/interface-block.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/partials/interface-input-block.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/partials/interface-output-block.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/partials/login-external.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/partials/login-form.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/partials/module-block.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/partials/queue-block.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/partials/resource-job-manager.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/partials/sharing-display-body.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/partials/sharing-form-body.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/partials/sharing-form-modal.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/partials/storage-resource-preferences.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/partials/streaming-data.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/partials/user-compute-resource-preferences.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/partials/user-storage-resource-preferences.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/project/browse.blade.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/project/create.blade.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/project/edit.blade.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/project/no-sharing-create.blade.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/project/no-sharing-edit.blade.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/project/no-sharing-summary.blade.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/project/summary.blade.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/resource/browse.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/resource/create.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/resource/edit.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/resource/view.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/scigap-admin/manage-gateway.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/server-down.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/storage-resource/browse.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/storage-resource/create.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/storage-resource/edit.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/app/views/storage-resource/view.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/artisan (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/bootstrap/autoload.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/bootstrap/paths.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/bootstrap/start.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/composer.json (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/composer.lock (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/phpunit.xml (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/.htaccess (100%)
 rename modules/ide-integration/src/main/{resources/pga/airavata-php-gateway/app/resources => containers/pga/airavata-php-gateway/public}/assets/PoweredbyAiravata_Small.png (100%)
 rename modules/ide-integration/src/main/{resources/pga/airavata-php-gateway/app/resources => containers/pga/airavata-php-gateway/public}/assets/Profile_avatar_placeholder_large.png (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/assets/ajax-loader.gif (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/assets/cilogon-logo-24x24-b.png (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources/pga/airavata-php-gateway/app/resources => containers/pga/airavata-php-gateway/public}/assets/favicon.ico (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/assets/powered-by-airavata-transparent.png (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources/pga/airavata-php-gateway/app/resources => containers/pga/airavata-php-gateway/public}/assets/scigap-header-logo.png (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/css/admin.css (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/css/bootstrap-toggle.css (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/css/bootstrap.min.css (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/css/datetimepicker.css (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/css/filemanager.css (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/css/morris.css (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/css/sharing.css (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/css/style.css (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/css/user-settings.css (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/favicon.ico (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/fonts/glyphicons-halflings-regular.eot (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/fonts/glyphicons-halflings-regular.svg (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/fonts/glyphicons-halflings-regular.ttf (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/fonts/glyphicons-halflings-regular.woff (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/index.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/js/bootstrap-toggle.js (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/js/clipboard.min.js (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/js/datacat/GLmol.js (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/js/datacat/Three.js (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/js/datacat/jquery-1.7.min.js (100%)
 mode change 100644 => 100755
 create mode 100755 modules/ide-integration/src/main/containers/pga/airavata-php-gateway/public/js/datetimepicker-3.1.3.js
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/js/deployment.js (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/js/filemanager.js (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/js/flot/flot-data.js (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/js/flot/jquery.flot.js (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/js/flot/jquery.flot.pie.js (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/js/flot/jquery.flot.resize.js (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/js/flot/jquery.flot.tooltip.min.js (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/js/gateway.js (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/js/interface.js (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/js/moment.js (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/js/morris/morris-data.js (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/js/morris/morris.min.js (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/js/morris/raphael.min.js (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/js/script.js (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/js/sharing/groups.js (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/js/sharing/share.js (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/js/sharing/sharing_utils.js (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/js/simstream.js (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/js/time-conversion.js (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/js/util.js (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/robots.txt (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/themes/README (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/themes/base/layouts/default.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/themes/base/partials/about.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/themes/base/partials/documentation.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/themes/base/partials/footer.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/themes/base/partials/header.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/themes/base/partials/template.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/themes/base/views/index.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/public/themes/base/views/test.blade.php (100%)
 mode change 100644 => 100755
 rename modules/ide-integration/src/main/{resources => containers}/pga/airavata-php-gateway/server.php (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/default.conf (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/docker-compose.yml (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/pga-default.conf (100%)
 rename modules/ide-integration/src/main/{resources => containers}/pga/vhost.conf (100%)
 delete mode 100644 modules/ide-integration/src/main/resources/META-INF/persistence.xml
 delete mode 100644 modules/ide-integration/src/main/resources/database_scripts/airavataworkflowcatalog-derby.sql
 delete mode 100644 modules/ide-integration/src/main/resources/database_scripts/appcatalog-derby.sql
 delete mode 100644 modules/ide-integration/src/main/resources/database_scripts/appcatalog-mysql.sql
 delete mode 100644 modules/ide-integration/src/main/resources/database_scripts/credstore-derby.sql
 delete mode 100644 modules/ide-integration/src/main/resources/database_scripts/credstore-mysql.sql
 delete mode 100644 modules/ide-integration/src/main/resources/database_scripts/dozer_mapping.xml
 delete mode 100644 modules/ide-integration/src/main/resources/database_scripts/expcatalog-derby.sql
 delete mode 100644 modules/ide-integration/src/main/resources/database_scripts/expcatalog-mysql.sql
 delete mode 100644 modules/ide-integration/src/main/resources/database_scripts/init/02-sharing-registry-migrations.sql
 delete mode 100644 modules/ide-integration/src/main/resources/database_scripts/init/04-expcatalog-migrations.sql
 delete mode 100644 modules/ide-integration/src/main/resources/database_scripts/replicacatalog-derby.sql
 delete mode 100644 modules/ide-integration/src/main/resources/database_scripts/replicacatalog-mysql.sql
 delete mode 100644 modules/ide-integration/src/main/resources/database_scripts/sharing-registry-mysql.sql
 delete mode 100644 modules/ide-integration/src/main/resources/database_scripts/user-profile-catalog-derby.sql
 delete mode 100644 modules/ide-integration/src/main/resources/database_scripts/user-profile-catalog-mysql.sql
 delete mode 100644 modules/ide-integration/src/main/resources/database_scripts/workflowcatalog-derby.sql
 delete mode 100644 modules/ide-integration/src/main/resources/database_scripts/workflowcatalog-mysql.sql
 delete mode 100644 modules/ide-integration/src/main/resources/pga/airavata-php-gateway/public/js/datetimepicker-3.1.3.js
 copy modules/{security => platform-monitoring}/pom.xml (55%)
 copy modules/{commons/src/main/java/org/apache/airavata/common/utils/AiravataUtils.java => platform-monitoring/src/main/java/org/apache/airavata/patform/monitoring/CountMonitor.java} (51%)
 rename modules/{registry/registry-core/src/main/resources/META-INF/generate-sql-persistence.xml => platform-monitoring/src/main/java/org/apache/airavata/patform/monitoring/GaugeMonitor.java} (55%)
 create mode 100644 modules/platform-monitoring/src/main/java/org/apache/airavata/patform/monitoring/MonitoringServer.java
 create mode 100644 modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/GatewayUsageReportingCommandEntity.java
 create mode 100644 modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/GatewayUsageReportingPK.java
 create mode 100644 modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/GatewayUsageReportingCommandRepository.java
 create mode 100644 modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/CustomBeanFactory.java
 create mode 100644 modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/migration/MappingToolRunner.java
 create mode 100644 modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/migration/MigrationSchemaGenerator.java
 create mode 100644 modules/registry/registry-core/src/main/resources/migrations-util/derby/airavata-server.properties
 copy modules/{distribution/src/main/resources/post-wm/conf => registry/registry-core/src/main/resources/migrations-util/mysql}/airavata-server.properties (53%)
 create mode 100644 modules/registry/registry-core/src/main/resources/migrations-util/mysql/docker-compose.yml
 rename modules/{ide-integration/src/main/resources/META-INF/generate-sql-persistence.xml => registry/registry-core/src/main/resources/migrations-util/mysql/docker-entrypoint-initdb.d/create_databases.sql} (56%)
 create mode 100644 modules/registry/registry-core/src/test/java/org/apache/airavata/registry/core/utils/CustomBeanFactoryTest.java
 create mode 100644 modules/registry/registry-core/src/test/java/org/apache/airavata/registry/core/utils/ObjectMapperSingletonTest.java
 create mode 100644 modules/registry/release-migration-scripts/0.19-0.20/DeltaScripts/appCatalog_schema_delta.sql
 copy modules/registry/release-migration-scripts/{next => 0.19-0.20}/DeltaScripts/credential_store_schema_delta.sql (100%)
 create mode 100644 modules/registry/release-migration-scripts/0.19-0.20/DeltaScripts/experimentCatalog_schema_delta.sql
 copy modules/registry/release-migration-scripts/{next => 0.19-0.20}/DeltaScripts/profile_service_schema_delta.sql (100%)
 copy modules/registry/release-migration-scripts/{next => 0.19-0.20}/DeltaScripts/replicaCatalog_schema_delta.sql (100%)
 copy modules/registry/release-migration-scripts/{next => 0.19-0.20}/DeltaScripts/sharingCatalog_schema_delta.sql (100%)


[airavata] 02/03: Gitignore to ignore database data

Posted by di...@apache.org.
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 d35426934e115648e05181722700b5c232f518cd
Author: Dimuthu Wannipurage <di...@gmail.com>
AuthorDate: Sun Jan 24 21:21:42 2021 -0500

    Gitignore to ignore database data
---
 modules/ide-integration/.gitignore | 1 +
 1 file changed, 1 insertion(+)

diff --git a/modules/ide-integration/.gitignore b/modules/ide-integration/.gitignore
new file mode 100644
index 0000000..2dca12b
--- /dev/null
+++ b/modules/ide-integration/.gitignore
@@ -0,0 +1 @@
+src/main/resources/database_data/
\ No newline at end of file


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

Posted by di...@apache.org.
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 ...


[airavata] 03/03: Rebuilding registry thrift service

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

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

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

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

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