You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ya...@apache.org on 2025/07/03 05:42:46 UTC

(airavata) branch master updated: move all ide-integration resources to .devcontainer folder. get airavata-php-gateway from airavata-portals repo

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 40ec03c5fd move all ide-integration resources to .devcontainer folder. get airavata-php-gateway from airavata-portals repo
40ec03c5fd is described below

commit 40ec03c5fd0310db222a5b76f297c2d1c1ef20bd
Author: yasithdev <ya...@icloud.com>
AuthorDate: Thu Jul 3 00:42:40 2025 -0500

    move all ide-integration resources to .devcontainer folder. get airavata-php-gateway from airavata-portals repo
---
 .../database_scripts/init/01-databases.sql         |     0
 .../init/02-sharing-registry-migrations.sql        |     0
 .../init/03-appcatalog-migrations.sql              |     0
 .../init/04-expcatalog-migrations.sql              |     0
 .../init/05-replica-catalog-migrations.sql         |     0
 .devcontainer/docker-compose.yml                   |     6 +-
 .../gateway-storage/Dockerfile                     |     0
 .../gateway-storage/authorized_keys                |     0
 .../keycloak/keycloak.conf                         |     0
 .../keycloak/realm-default.json                    |     0
 .../pga/000-default.conf                           |     0
 .../containers => .devcontainer}/pga/Dockerfile    |     5 +-
 .../containers => .devcontainer}/pga/default.conf  |     0
 .../pga/docker-compose.yml                         |     0
 .../pga/pga-default.conf                           |     0
 .../containers => .devcontainer}/pga/vhost.conf    |     0
 .../airavata_jupyter_magic/__init__.py             |     2 +-
 .../airavata_jupyter_magic/device_auth.py          |     2 +-
 modules/ide-integration/README.md                  |    10 +-
 .../containers/pga/airavata-php-gateway/.gitignore |    19 -
 .../pga/airavata-php-gateway/app/config/app.php    |   204 -
 .../pga/airavata-php-gateway/app/config/auth.php   |    71 -
 .../pga/airavata-php-gateway/app/config/cache.php  |    89 -
 .../airavata-php-gateway/app/config/compile.php    |    18 -
 .../airavata-php-gateway/app/config/database.php   |   124 -
 .../app/config/email_templates.json                |   103 -
 .../app/config/email_templates.json.template       |    41 -
 .../airavata-php-gateway/app/config/local/app.php  |    18 -
 .../app/config/local/database.php                  |    47 -
 .../pga/airavata-php-gateway/app/config/mail.php   |   124 -
 .../app/config/packages/markdown/config.php        |    30 -
 .../app/config/packages/teepluss/theme/config.php  |   143 -
 .../app/config/packages/teepluss/theme/twig.php    |    56 -
 .../airavata-php-gateway/app/config/pga_config.php |   309 -
 .../app/config/pga_config.php.template             |   309 -
 .../pga/airavata-php-gateway/app/config/queue.php  |    85 -
 .../pga/airavata-php-gateway/app/config/remote.php |    59 -
 .../airavata-php-gateway/app/config/services.php   |    31 -
 .../airavata-php-gateway/app/config/session.php    |   140 -
 .../app/config/testing/cache.php                   |    20 -
 .../app/config/testing/session.php                 |    21 -
 .../pga/airavata-php-gateway/app/config/view.php   |    31 -
 .../airavata-php-gateway/app/config/workbench.php  |    31 -
 .../app/controllers/AccountController.php          |   544 -
 .../app/controllers/AdminController.php            |   644 -
 .../app/controllers/ApplicationController.php      |   175 -
 .../app/controllers/BaseController.php             |    26 -
 .../app/controllers/ComputeResourceController.php  |   303 -
 .../app/controllers/DataCatController.php          |    23 -
 .../app/controllers/ExperimentController.php       |   667 -
 .../app/controllers/FilemanagerController.php      |    46 -
 .../controllers/GatewayRequestUpdateController.php |    59 -
 .../app/controllers/GatewayprofileController.php   |   121 -
 .../app/controllers/GroupController.php            |    54 -
 .../app/controllers/HomeController.php             |    36 -
 .../app/controllers/ProjectController.php          |   251 -
 .../app/controllers/StorageResourceController.php  |   184 -
 .../app/controllers/UserSettingsController.php     |   320 -
 .../app/database/production.sqlite                 |     0
 .../app/database/seeds/DatabaseSeeder.php          |    17 -
 .../pga/airavata-php-gateway/app/filters.php       |   154 -
 .../app/lang/en/pagination.php                     |    20 -
 .../airavata-php-gateway/app/lang/en/reminders.php |    24 -
 .../app/lang/en/validation.php                     |   104 -
 .../app/libraries/AdminUtilities.php               |   405 -
 .../app/libraries/Airavata/API/Airavata.php        | 73857 -------------------
 .../app/libraries/Airavata/API/Error/Types.php     |  1146 -
 .../API/Sharing/SharingRegistryService.php         | 15736 ----
 .../app/libraries/Airavata/API/Sharing/Types.php   |    20 -
 .../app/libraries/Airavata/API/Types.php           |    42 -
 .../libraries/Airavata/AiravataServiceProvider.php |    81 -
 .../app/libraries/Airavata/Facades/Airavata.php    |    16 -
 .../Airavata/Facades/IamAdminServices.php          |    16 -
 .../Airavata/Facades/TenantProfileServices.php     |    16 -
 .../Airavata/Facades/UserProfileServices.php       |    16 -
 .../libraries/Airavata/IamAdminServiceProvider.php |    84 -
 .../Model/AppCatalog/AccountProvisioning/Types.php |   345 -
 .../Model/AppCatalog/AppDeployment/Types.php       |  1056 -
 .../Model/AppCatalog/AppInterface/Types.php        |   351 -
 .../Model/AppCatalog/ComputeResource/Types.php     |  2511 -
 .../Model/AppCatalog/GatewayGroups/Types.php       |   164 -
 .../Model/AppCatalog/GatewayProfile/Types.php      |   938 -
 .../AppCatalog/GroupResourceProfile/Types.php      |  1380 -
 .../Model/AppCatalog/Parallelism/Types.php         |    53 -
 .../Model/AppCatalog/StorageResource/Types.php     |   278 -
 .../Model/AppCatalog/UserResourceProfile/Types.php |   790 -
 .../Airavata/Model/Application/Io/Types.php        |   751 -
 .../app/libraries/Airavata/Model/Commons/Types.php |   475 -
 .../Airavata/Model/Credential/Store/Types.php      |  1070 -
 .../Airavata/Model/Data/Movement/Types.php         |   811 -
 .../Airavata/Model/Data/Replica/Types.php          |   803 -
 .../app/libraries/Airavata/Model/Dbevent/Types.php |   573 -
 .../libraries/Airavata/Model/Experiment/Types.php  |  1881 -
 .../app/libraries/Airavata/Model/Group/Types.php   |   243 -
 .../app/libraries/Airavata/Model/Job/Types.php     |   376 -
 .../Airavata/Model/Messaging/Event/Types.php       |  1888 -
 .../app/libraries/Airavata/Model/Process/Types.php |   827 -
 .../libraries/Airavata/Model/Scheduling/Types.php  |   353 -
 .../libraries/Airavata/Model/Security/Types.php    |   152 -
 .../app/libraries/Airavata/Model/Sharing/Types.php |  2533 -
 .../app/libraries/Airavata/Model/Status/Types.php  |   891 -
 .../app/libraries/Airavata/Model/Task/Types.php    |   978 -
 .../app/libraries/Airavata/Model/Tenant/Types.php  |   634 -
 .../app/libraries/Airavata/Model/Types.php         |    20 -
 .../app/libraries/Airavata/Model/User/Types.php    |  1200 -
 .../libraries/Airavata/Model/Workflow/Types.php    |  2518 -
 .../libraries/Airavata/Model/Workspace/Types.php   |  1376 -
 .../Service/Iam/Admin/Services/CPI/Error/Types.php |    95 -
 .../Iam/Admin/Services/CPI/IamAdminServices.php    |  3490 -
 .../Service/Iam/Admin/Services/CPI/Types.php       |    33 -
 .../Profile/Groupmanager/CPI/Error/Types.php       |    95 -
 .../Groupmanager/CPI/GroupManagerService.php       |  4211 --
 .../Service/Profile/Groupmanager/CPI/Types.php     |    33 -
 .../Service/Profile/Tenant/CPI/Error/Types.php     |    95 -
 .../Profile/Tenant/CPI/TenantProfileService.php    |  2437 -
 .../Airavata/Service/Profile/Tenant/CPI/Types.php  |    33 -
 .../libraries/Airavata/Service/Profile/Types.php   |    20 -
 .../Service/Profile/User/CPI/Error/Types.php       |    95 -
 .../Airavata/Service/Profile/User/CPI/Types.php    |    33 -
 .../Profile/User/CPI/UserProfileService.php        |  2025 -
 .../Airavata/TenantProfileServiceProvider.php      |    83 -
 .../Airavata/UserProfileServiceProvider.php        |    83 -
 .../app/libraries/AppUtilities.php                 |   450 -
 .../app/libraries/CRUtilities.php                  |   697 -
 .../app/libraries/CommonUtilities.php              |   502 -
 .../app/libraries/EmailUtilities.php               |   249 -
 .../app/libraries/ExperimentUtilities.php          |  1539 -
 .../app/libraries/FileManager.php                  |   262 -
 .../app/libraries/GrouperUtilities.php             |   116 -
 .../app/libraries/IamAdminServicesUtilities.php    |    51 -
 .../Keycloak/API/BaseKeycloakAPIEndpoint.php       |    29 -
 .../app/libraries/Keycloak/API/RoleMapper.php      |   125 -
 .../app/libraries/Keycloak/API/Roles.php           |    41 -
 .../app/libraries/Keycloak/API/Users.php           |   127 -
 .../app/libraries/Keycloak/Facades/Keycloak.php    |    16 -
 .../app/libraries/Keycloak/Keycloak.php            |   472 -
 .../libraries/Keycloak/KeycloakServiceProvider.php |    71 -
 .../app/libraries/Keycloak/KeycloakUtil.php        |    41 -
 .../app/libraries/ProjectUtilities.php             |   356 -
 .../app/libraries/SRUtilities.php                  |   377 -
 .../app/libraries/SharingUtilities.php             |   204 -
 .../app/libraries/Thrift/Base/TBase.php            |   367 -
 .../Thrift/ClassLoader/ThriftClassLoader.php       |   223 -
 .../Thrift/Exception/TApplicationException.php     |    72 -
 .../app/libraries/Thrift/Exception/TException.php  |   369 -
 .../Thrift/Exception/TProtocolException.php        |    48 -
 .../Thrift/Exception/TTransportException.php       |    41 -
 .../Thrift/Factory/TBinaryProtocolFactory.php      |    43 -
 .../Thrift/Factory/TCompactProtocolFactory.php     |    39 -
 .../Thrift/Factory/TJSONProtocolFactory.php        |    41 -
 .../libraries/Thrift/Factory/TProtocolFactory.php  |    35 -
 .../Thrift/Factory/TStringFuncFactory.php          |    63 -
 .../libraries/Thrift/Factory/TTransportFactory.php |    16 -
 .../libraries/Thrift/Protocol/JSON/BaseContext.php |    39 -
 .../libraries/Thrift/Protocol/JSON/ListContext.php |    52 -
 .../Thrift/Protocol/JSON/LookaheadReader.php       |    54 -
 .../libraries/Thrift/Protocol/JSON/PairContext.php |    60 -
 .../libraries/Thrift/Protocol/TBinaryProtocol.php  |   396 -
 .../Thrift/Protocol/TBinaryProtocolAccelerated.php |    47 -
 .../libraries/Thrift/Protocol/TCompactProtocol.php |   669 -
 .../libraries/Thrift/Protocol/TJSONProtocol.php    |   694 -
 .../Thrift/Protocol/TMultiplexedProtocol.php       |    86 -
 .../app/libraries/Thrift/Protocol/TProtocol.php    |   340 -
 .../Thrift/Protocol/TProtocolDecorator.php         |   284 -
 .../Thrift/Serializer/TBinarySerializer.php        |    73 -
 .../app/libraries/Thrift/Server/TForkingServer.php |   119 -
 .../app/libraries/Thrift/Server/TServer.php        |   101 -
 .../app/libraries/Thrift/Server/TServerSocket.php  |    98 -
 .../libraries/Thrift/Server/TServerTransport.php   |    54 -
 .../app/libraries/Thrift/Server/TSimpleServer.php  |    57 -
 .../app/libraries/Thrift/StringFunc/Core.php       |    38 -
 .../app/libraries/Thrift/StringFunc/Mbstring.php   |    45 -
 .../libraries/Thrift/StringFunc/TStringFunc.php    |    27 -
 .../app/libraries/Thrift/TMultiplexedProcessor.php |   136 -
 .../app/libraries/Thrift/Thrift.php                |   789 -
 .../Thrift/Transport/TBufferedTransport.php        |   165 -
 .../app/libraries/Thrift/Transport/TCurlClient.php |   222 -
 .../Thrift/Transport/TFramedTransport.php          |   183 -
 .../app/libraries/Thrift/Transport/THttpClient.php |   221 -
 .../libraries/Thrift/Transport/TMemoryBuffer.php   |    89 -
 .../libraries/Thrift/Transport/TNullTransport.php  |    50 -
 .../app/libraries/Thrift/Transport/TPhpStream.php  |   114 -
 .../app/libraries/Thrift/Transport/TSocket.php     |   326 -
 .../app/libraries/Thrift/Transport/TSocketPool.php |   295 -
 .../app/libraries/Thrift/Transport/TTransport.php  |    93 -
 .../app/libraries/Thrift/Type/TConstant.php        |    51 -
 .../app/libraries/Thrift/Type/TMessageType.php     |    33 -
 .../app/libraries/Thrift/Type/TType.php            |    46 -
 .../app/libraries/Thrift/autoload.php              |    51 -
 .../app/libraries/URPUtilities.php                 |   289 -
 .../app/libraries/UserProfileUtilities.php         |    55 -
 .../app/libraries/Wsis/Facades/Wsis.php            |    16 -
 .../libraries/Wsis/Stubs/AuthenticationAdmin.php   |    55 -
 .../Wsis/Stubs/AuthenticationAdminStub.php         |  1019 -
 .../app/libraries/Wsis/Stubs/OAuthManager.php      |   184 -
 .../app/libraries/Wsis/Stubs/TenantManager.php     |   139 -
 .../libraries/Wsis/Stubs/TenantMgtAdminStub.php    |   306 -
 .../Wsis/Stubs/UserInformationRecoveryManager.php  |   233 -
 .../Wsis/Stubs/UserInformationRecoveryStub.php     |   443 -
 .../libraries/Wsis/Stubs/UserProfileManager.php    |    87 -
 .../Wsis/Stubs/UserProfileManagerStub.php          |   365 -
 .../app/libraries/Wsis/Stubs/UserStoreManager.php  |   233 -
 .../libraries/Wsis/Stubs/UserStoreManagerStub.php  |  1570 -
 .../app/libraries/Wsis/Wsis.php                    |   552 -
 .../app/libraries/Wsis/WsisServiceProvider.php     |    69 -
 .../resources/assets/PoweredbyAiravata_Small.png   |   Bin 44775 -> 0 bytes
 .../assets/Profile_avatar_placeholder_large.png    |   Bin 2011 -> 0 bytes
 .../app/resources/assets/favicon.ico               |   Bin 58580 -> 0 bytes
 .../app/resources/assets/scigap-header-logo.png    |   Bin 8152 -> 0 bytes
 .../app/resources/oa4mp/oauth-properties.ini       |    15 -
 .../app/resources/security/idp_scigap_org.pem      |   123 -
 .../resources/security/incommon_rsa_server_ca.pem  |    34 -
 .../pga/airavata-php-gateway/app/routes.php        |   428 -
 .../pga/airavata-php-gateway/app/start/artisan.php |    13 -
 .../pga/airavata-php-gateway/app/start/global.php  |    82 -
 .../pga/airavata-php-gateway/app/start/local.php   |     3 -
 .../app/storage/meta/services.json                 |   186 -
 .../app/storage/sessions/.local                    |     0
 .../airavata-php-gateway/app/storage/views/.local  |     0
 .../airavata-php-gateway/app/tests/ExampleTest.php |    17 -
 .../airavata-php-gateway/app/tests/TestCase.php    |    19 -
 .../app/tests/selenium/README.txt                  |    72 -
 .../app/tests/selenium/pom.xml                     |    91 -
 .../apache/airavata/pga/tests/AmberSanderBR2.java  |   139 -
 .../airavata/pga/tests/AmberSanderComet.java       |   137 -
 .../airavata/pga/tests/AmberSanderStampede.java    |   139 -
 .../org/apache/airavata/pga/tests/AutoDockBR2.java |   139 -
 .../pga/tests/CreateModifySearchProject.java       |   124 -
 .../apache/airavata/pga/tests/CreateUserLogin.java |   113 -
 .../org/apache/airavata/pga/tests/EchoBR2.java     |   133 -
 .../org/apache/airavata/pga/tests/EchoComet.java   |   129 -
 .../apache/airavata/pga/tests/EchoStampede.java    |   133 -
 .../airavata/pga/tests/EspressoStampede.java       |   136 -
 .../org/apache/airavata/pga/tests/ExpLoadTest.java |   176 -
 .../apache/airavata/pga/tests/GamessGordon.java    |   139 -
 .../apache/airavata/pga/tests/GaussianComet.java   |   135 -
 .../apache/airavata/pga/tests/GaussianGordon.java  |   133 -
 .../apache/airavata/pga/tests/GromacsStampede.java |   135 -
 .../org/apache/airavata/pga/tests/LammpsComet.java |   136 -
 .../apache/airavata/pga/tests/LammpsStampede.java  |   133 -
 .../org/apache/airavata/pga/tests/NwChemComet.java |   130 -
 .../apache/airavata/pga/tests/NwChemStampede.java  |   131 -
 .../apache/airavata/pga/tests/PhastaPStampede.java |   134 -
 .../org/apache/airavata/pga/tests/RunAllTests.java |   172 -
 .../airavata/pga/tests/SearchProjectExp.java       |   111 -
 .../airavata/pga/tests/TinkerMonteStampede.java    |   148 -
 .../apache/airavata/pga/tests/TrinityStampede.java |   146 -
 .../org/apache/airavata/pga/tests/UserLogout.java  |    51 -
 .../org/apache/airavata/pga/tests/WRFStampede.java |   133 -
 .../airavata/pga/tests/utils/CurrentDateTime.java  |    19 -
 .../airavata/pga/tests/utils/ExpFileReadUtils.java |    73 -
 .../apache/airavata/pga/tests/utils/UserLogin.java |    54 -
 .../selenium/src/test/resources/exp.properties     |    37 -
 .../pga/airavata-php-gateway/app/views/.local      |     0
 .../app/views/account/create.blade.php             |   118 -
 .../app/views/account/credential-store.blade.php   |   162 -
 .../app/views/account/dashboard.blade.php          |   491 -
 .../app/views/account/forgot-password.blade.php    |    36 -
 .../app/views/account/login-desktop.blade.php      |    39 -
 .../app/views/account/login.blade.php              |    42 -
 .../app/views/account/request-allocation.blade.php |    70 -
 .../app/views/account/reset-password.blade.php     |    57 -
 .../app/views/account/settings.blade.php           |    76 -
 .../app/views/account/update.blade.php             |   120 -
 .../views/account/user-compute-resources.blade.php |   166 -
 .../account/user-profile-update-email.blade.php    |    60 -
 .../app/views/account/user-profile.blade.php       |    73 -
 .../views/account/user-storage-resources.blade.php |   146 -
 .../app/views/account/verify-human.blade.php       |    36 -
 .../app/views/admin/create-gateway.blade.php       |   148 -
 .../views/admin/experiment-statistics.blade.php    |   215 -
 .../app/views/admin/manage-admin.blade.php         |   219 -
 .../app/views/admin/manage-credentials.blade.php   |   371 -
 .../app/views/admin/manage-experiments.blade.php   |   704 -
 .../app/views/admin/manage-gateway.blade.php       |   909 -
 .../app/views/admin/manage-notices.blade.php       |   385 -
 .../app/views/admin/manage-resources.blade.php     |   117 -
 .../app/views/admin/manage-roles.blade.php         |   184 -
 .../app/views/admin/manage-users.blade.php         |   297 -
 .../app/views/application/deployment.blade.php     |   212 -
 .../app/views/application/interface.blade.php      |   243 -
 .../app/views/application/module.blade.php         |   224 -
 .../app/views/datacat/select.blade.php             |    82 -
 .../app/views/datacat/summary.blade.php            |   451 -
 .../app/views/emails/auth/reminder.blade.php       |    14 -
 .../airavata-php-gateway/app/views/error.blade.php |    11 -
 .../app/views/experiment/browse.blade.php          |   214 -
 .../app/views/experiment/create-complete.blade.php |   187 -
 .../app/views/experiment/create.blade.php          |    72 -
 .../app/views/experiment/edit.blade.php            |   127 -
 .../no-sharing-create-complete.blade.php           |   174 -
 .../app/views/experiment/no-sharing-edit.blade.php |   112 -
 .../app/views/experiment/summary.blade.php         |   110 -
 .../app/views/files/browse.blade.php               |    47 -
 .../app/views/gateway/browse.blade.php             |   250 -
 .../app/views/gateway/create.blade.php             |    37 -
 .../app/views/group/browse.blade.php               |     0
 .../app/views/group/create.blade.php               |    75 -
 .../app/views/group/edit.blade.php                 |     0
 .../app/views/group/summary.blade.php              |     0
 .../airavata-php-gateway/app/views/home.blade.php  |   135 -
 .../app/views/layout/basic.blade.php               |   155 -
 .../app/views/layout/desktop-login.blade.php       |   103 -
 .../app/views/layout/fixed-footer.blade.php        |     0
 .../app/views/layout/fixed-header.blade.php        |    15 -
 .../app/views/layout/fixed-scripts.blade.php       |    85 -
 .../airavata-php-gateway/app/views/pages.blade.php |     8 -
 .../app/views/partials/add-gateway-block.blade.php |    40 -
 .../partials/auto-provisioned-accounts.blade.php   |    58 -
 .../compute-resource-preferences.blade.php         |   185 -
 .../app/views/partials/dashboard-block.blade.php   |   118 -
 .../app/views/partials/deployment-block.blade.php  |   180 -
 .../views/partials/experiment-container.blade.php  |    70 -
 .../app/views/partials/experiment-info.blade.php   |   453 -
 .../app/views/partials/experiment-inputs.blade.php |   141 -
 .../partials/experiment-queue-block.blade.php      |   346 -
 .../partials/gateway-preferences-block.blade.php   |   300 -
 .../app/views/partials/interface-block.blade.php   |    76 -
 .../views/partials/interface-input-block.blade.php |   140 -
 .../partials/interface-output-block.blade.php      |   116 -
 .../app/views/partials/login-external.blade.php    |     7 -
 .../app/views/partials/login-form.blade.php        |    47 -
 .../app/views/partials/module-block.blade.php      |    16 -
 .../app/views/partials/queue-block.blade.php       |    77 -
 .../views/partials/resource-job-manager.blade.php  |    46 -
 .../views/partials/sharing-display-body.blade.php  |    23 -
 .../app/views/partials/sharing-form-body.blade.php |    17 -
 .../views/partials/sharing-form-modal.blade.php    |    20 -
 .../storage-resource-preferences.blade.php         |    73 -
 .../app/views/partials/streaming-data.blade.php    |     4 -
 .../user-compute-resource-preferences.blade.php    |   151 -
 .../user-storage-resource-preferences.blade.php    |    61 -
 .../app/views/project/browse.blade.php             |   148 -
 .../app/views/project/create.blade.php             |    57 -
 .../app/views/project/edit.blade.php               |    77 -
 .../app/views/project/no-sharing-create.blade.php  |    33 -
 .../app/views/project/no-sharing-edit.blade.php    |    49 -
 .../app/views/project/no-sharing-summary.blade.php |   101 -
 .../app/views/project/summary.blade.php            |   119 -
 .../app/views/resource/browse.blade.php            |   203 -
 .../app/views/resource/create.blade.php            |    53 -
 .../app/views/resource/edit.blade.php              |   838 -
 .../app/views/resource/view.blade.php              |   399 -
 .../views/scigap-admin/manage-gateway.blade.php    |   191 -
 .../app/views/server-down.blade.php                |    17 -
 .../app/views/storage-resource/browse.blade.php    |   194 -
 .../app/views/storage-resource/create.blade.php    |    43 -
 .../app/views/storage-resource/edit.blade.php      |   394 -
 .../app/views/storage-resource/view.blade.php      |   379 -
 .../containers/pga/airavata-php-gateway/artisan    |    74 -
 .../airavata-php-gateway/bootstrap/autoload.php    |    75 -
 .../pga/airavata-php-gateway/bootstrap/paths.php   |    57 -
 .../pga/airavata-php-gateway/bootstrap/start.php   |    73 -
 .../pga/airavata-php-gateway/composer.json         |    38 -
 .../pga/airavata-php-gateway/composer.lock         |  2250 -
 .../pga/airavata-php-gateway/phpunit.xml           |    19 -
 .../pga/airavata-php-gateway/public/.htaccess      |    21 -
 .../public/assets/PoweredbyAiravata_Small.png      |   Bin 44775 -> 0 bytes
 .../assets/Profile_avatar_placeholder_large.png    |   Bin 2011 -> 0 bytes
 .../public/assets/ajax-loader.gif                  |   Bin 3208 -> 0 bytes
 .../public/assets/cilogon-logo-24x24-b.png         |   Bin 936 -> 0 bytes
 .../airavata-php-gateway/public/assets/favicon.ico |   Bin 58580 -> 0 bytes
 .../assets/powered-by-airavata-transparent.png     |   Bin 40630 -> 0 bytes
 .../public/assets/scigap-header-logo.png           |   Bin 8152 -> 0 bytes
 .../pga/airavata-php-gateway/public/css/admin.css  |   330 -
 .../public/css/bootstrap-toggle.css                |    28 -
 .../public/css/bootstrap.min.css                   |   222 -
 .../public/css/datetimepicker.css                  |     5 -
 .../public/css/filemanager.css                     |    49 -
 .../pga/airavata-php-gateway/public/css/morris.css |     2 -
 .../airavata-php-gateway/public/css/sharing.css    |   116 -
 .../pga/airavata-php-gateway/public/css/style.css  |     0
 .../public/css/user-settings.css                   |    13 -
 .../pga/airavata-php-gateway/public/favicon.ico    |     0
 .../public/fonts/glyphicons-halflings-regular.eot  |   Bin 20290 -> 0 bytes
 .../public/fonts/glyphicons-halflings-regular.svg  |   229 -
 .../public/fonts/glyphicons-halflings-regular.ttf  |   Bin 41236 -> 0 bytes
 .../public/fonts/glyphicons-halflings-regular.woff |   Bin 23292 -> 0 bytes
 .../pga/airavata-php-gateway/public/index.php      |    55 -
 .../public/js/bootstrap-toggle.js                  |   180 -
 .../public/js/clipboard.min.js                     |     7 -
 .../public/js/datacat/GLmol.js                     |  1708 -
 .../public/js/datacat/Three.js                     |   382 -
 .../public/js/datacat/jquery-1.7.min.js            |     4 -
 .../public/js/datetimepicker-3.1.3.js              |     1 -
 .../airavata-php-gateway/public/js/deployment.js   |   135 -
 .../airavata-php-gateway/public/js/filemanager.js  |   137 -
 .../public/js/flot/flot-data.js                    |  1244 -
 .../public/js/flot/jquery.flot.js                  |  2599 -
 .../public/js/flot/jquery.flot.pie.js              |   750 -
 .../public/js/flot/jquery.flot.resize.js           |    60 -
 .../public/js/flot/jquery.flot.tooltip.min.js      |    12 -
 .../pga/airavata-php-gateway/public/js/gateway.js  |    91 -
 .../airavata-php-gateway/public/js/interface.js    |   145 -
 .../pga/airavata-php-gateway/public/js/moment.js   |  2936 -
 .../public/js/morris/morris-data.js                |   227 -
 .../public/js/morris/morris.min.js                 |     7 -
 .../public/js/morris/raphael.min.js                |    11 -
 .../pga/airavata-php-gateway/public/js/script.js   |   365 -
 .../public/js/sharing/groups.js                    |   162 -
 .../public/js/sharing/share.js                     |   444 -
 .../public/js/sharing/sharing_utils.js             |   197 -
 .../airavata-php-gateway/public/js/simstream.js    |   180 -
 .../public/js/time-conversion.js                   |    53 -
 .../pga/airavata-php-gateway/public/js/util.js     |    35 -
 .../pga/airavata-php-gateway/public/robots.txt     |     2 -
 .../pga/airavata-php-gateway/public/themes/README  |   125 -
 .../public/themes/base/layouts/default.blade.php   |     1 -
 .../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   |    45 -
 .../public/themes/base/partials/template.blade.php |     0
 .../public/themes/base/views/index.blade.php       |     0
 .../public/themes/base/views/test.blade.php        |     1 -
 .../containers/pga/airavata-php-gateway/server.php |    19 -
 416 files changed, 14 insertions(+), 192411 deletions(-)

diff --git a/modules/ide-integration/src/main/containers/database_scripts/init/01-databases.sql b/.devcontainer/database_scripts/init/01-databases.sql
similarity index 100%
rename from modules/ide-integration/src/main/containers/database_scripts/init/01-databases.sql
rename to .devcontainer/database_scripts/init/01-databases.sql
diff --git a/modules/ide-integration/src/main/containers/database_scripts/init/02-sharing-registry-migrations.sql b/.devcontainer/database_scripts/init/02-sharing-registry-migrations.sql
similarity index 100%
rename from modules/ide-integration/src/main/containers/database_scripts/init/02-sharing-registry-migrations.sql
rename to .devcontainer/database_scripts/init/02-sharing-registry-migrations.sql
diff --git a/modules/ide-integration/src/main/containers/database_scripts/init/03-appcatalog-migrations.sql b/.devcontainer/database_scripts/init/03-appcatalog-migrations.sql
similarity index 100%
rename from modules/ide-integration/src/main/containers/database_scripts/init/03-appcatalog-migrations.sql
rename to .devcontainer/database_scripts/init/03-appcatalog-migrations.sql
diff --git a/modules/ide-integration/src/main/containers/database_scripts/init/04-expcatalog-migrations.sql b/.devcontainer/database_scripts/init/04-expcatalog-migrations.sql
similarity index 100%
rename from modules/ide-integration/src/main/containers/database_scripts/init/04-expcatalog-migrations.sql
rename to .devcontainer/database_scripts/init/04-expcatalog-migrations.sql
diff --git a/modules/ide-integration/src/main/containers/database_scripts/init/05-replica-catalog-migrations.sql b/.devcontainer/database_scripts/init/05-replica-catalog-migrations.sql
similarity index 100%
rename from modules/ide-integration/src/main/containers/database_scripts/init/05-replica-catalog-migrations.sql
rename to .devcontainer/database_scripts/init/05-replica-catalog-migrations.sql
diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml
index 0e8e5346a0..1920fb4d20 100644
--- a/.devcontainer/docker-compose.yml
+++ b/.devcontainer/docker-compose.yml
@@ -33,8 +33,8 @@ services:
       - "18080:8080"
       - "8443:8443"
     volumes:
-      - ../modules/ide-integration/src/main/containers/keycloak/realm-default.json:/opt/keycloak/data/import/realm-default.json
-      - ../modules/ide-integration/src/main/containers/keycloak/keycloak.conf:/opt/keycloak/conf/keycloak.conf
+      - ./keycloak/realm-default.json:/opt/keycloak/data/import/realm-default.json
+      - ./keycloak/keycloak.conf:/opt/keycloak/conf/keycloak.conf
       - ../keystores/airavata.jks:/opt/keycloak/conf/keystores/airavata.jks
     command: ["start-dev", "--import-realm"]
     depends_on:
@@ -53,7 +53,7 @@ services:
       MYSQL_USER: airavata
       MYSQL_PASSWORD: 123456
     volumes:
-      - ../modules/ide-integration/src/main/containers/database_scripts/init:/docker-entrypoint-initdb.d
+      - ./database_scripts/init:/docker-entrypoint-initdb.d
       - db_data:/var/lib/mysql
     ports:
       - "13306:3306"
diff --git a/modules/ide-integration/src/main/containers/gateway-storage/Dockerfile b/.devcontainer/gateway-storage/Dockerfile
similarity index 100%
rename from modules/ide-integration/src/main/containers/gateway-storage/Dockerfile
rename to .devcontainer/gateway-storage/Dockerfile
diff --git a/modules/ide-integration/src/main/containers/gateway-storage/authorized_keys b/.devcontainer/gateway-storage/authorized_keys
similarity index 100%
rename from modules/ide-integration/src/main/containers/gateway-storage/authorized_keys
rename to .devcontainer/gateway-storage/authorized_keys
diff --git a/modules/ide-integration/src/main/containers/keycloak/keycloak.conf b/.devcontainer/keycloak/keycloak.conf
similarity index 100%
rename from modules/ide-integration/src/main/containers/keycloak/keycloak.conf
rename to .devcontainer/keycloak/keycloak.conf
diff --git a/modules/ide-integration/src/main/containers/keycloak/realm-default.json b/.devcontainer/keycloak/realm-default.json
similarity index 100%
rename from modules/ide-integration/src/main/containers/keycloak/realm-default.json
rename to .devcontainer/keycloak/realm-default.json
diff --git a/modules/ide-integration/src/main/containers/pga/000-default.conf b/.devcontainer/pga/000-default.conf
similarity index 100%
rename from modules/ide-integration/src/main/containers/pga/000-default.conf
rename to .devcontainer/pga/000-default.conf
diff --git a/modules/ide-integration/src/main/containers/pga/Dockerfile b/.devcontainer/pga/Dockerfile
similarity index 67%
rename from modules/ide-integration/src/main/containers/pga/Dockerfile
rename to .devcontainer/pga/Dockerfile
index ce724e9de0..beb9af0f68 100644
--- a/modules/ide-integration/src/main/containers/pga/Dockerfile
+++ b/.devcontainer/pga/Dockerfile
@@ -1,5 +1,8 @@
 FROM nimmis/apache-php5
 
+# Download source from GitHub and extract to /var/www/portals/default
+RUN curl -L https://github.com/apache/airavata-portals/archive/refs/heads/main.tar.gz | tar -xz --strip-components=2 -C /var/www/portals/default airavata-portals-main/airavata-php-gateway
+
 # COPY default.conf /etc/apache2/sites-available/default.conf
 COPY 000-default.conf /etc/apache2/sites-available/000-default.conf
 # COPY pga-default.conf /etc/apache2/sites-available/pga-default.conf
@@ -7,4 +10,4 @@ RUN mkdir /var/www/portals
 RUN a2enmod rewrite
 EXPOSE 80
 EXPOSE 443
-CMD [ "/bin/sh", "-c", "mkdir -p /var/www/portals/default/app/storage/views/ && mkdir -p /var/www/portals/default/app/storage/sessions/ && composer --working-dir=/var/www/portals/default install && echo 'Starting sever..' && /usr/sbin/apache2ctl -D FOREGROUND"]
\ No newline at end of file
+CMD [ "/bin/sh", "-c", "mkdir -p /var/www/portals/default/app/storage/views/ && mkdir -p /var/www/portals/default/app/storage/sessions/ && composer --working-dir=/var/www/portals/default install && echo 'Starting sever..' && /usr/sbin/apache2ctl -D FOREGROUND"]
diff --git a/modules/ide-integration/src/main/containers/pga/default.conf b/.devcontainer/pga/default.conf
similarity index 100%
rename from modules/ide-integration/src/main/containers/pga/default.conf
rename to .devcontainer/pga/default.conf
diff --git a/modules/ide-integration/src/main/containers/pga/docker-compose.yml b/.devcontainer/pga/docker-compose.yml
similarity index 100%
rename from modules/ide-integration/src/main/containers/pga/docker-compose.yml
rename to .devcontainer/pga/docker-compose.yml
diff --git a/modules/ide-integration/src/main/containers/pga/pga-default.conf b/.devcontainer/pga/pga-default.conf
similarity index 100%
rename from modules/ide-integration/src/main/containers/pga/pga-default.conf
rename to .devcontainer/pga/pga-default.conf
diff --git a/modules/ide-integration/src/main/containers/pga/vhost.conf b/.devcontainer/pga/vhost.conf
similarity index 100%
rename from modules/ide-integration/src/main/containers/pga/vhost.conf
rename to .devcontainer/pga/vhost.conf
diff --git a/dev-tools/airavata-python-sdk/airavata_jupyter_magic/__init__.py b/dev-tools/airavata-python-sdk/airavata_jupyter_magic/__init__.py
index 3913bc06f7..42aa241bd4 100644
--- a/dev-tools/airavata-python-sdk/airavata_jupyter_magic/__init__.py
+++ b/dev-tools/airavata-python-sdk/airavata_jupyter_magic/__init__.py
@@ -1533,7 +1533,7 @@ ipython = get_ipython()
 if ipython is None:
     raise RuntimeError("airavata_jupyter_magic requires an ipython session")
 assert ipython is not None
-api_host = "api.gateway.cybershuttle.org"
+api_host = "api.dev.cybershuttle.org"
 api_base_url = f"https://{api_host}"
 file_server_url = f"http://{api_host}:8050"
 MSG_NOT_INITIALIZED = r"Runtime not found. Please run %request_runtime name=<name> cluster=<cluster> cpu=<cpu> memory=<memory mb> queue=<queue> walltime=<walltime minutes> group=<group> to request one."
diff --git a/dev-tools/airavata-python-sdk/airavata_jupyter_magic/device_auth.py b/dev-tools/airavata-python-sdk/airavata_jupyter_magic/device_auth.py
index c073f93c0b..b81e1815f8 100644
--- a/dev-tools/airavata-python-sdk/airavata_jupyter_magic/device_auth.py
+++ b/dev-tools/airavata-python-sdk/airavata_jupyter_magic/device_auth.py
@@ -10,7 +10,7 @@ class DeviceFlowAuthenticator:
     def __init__(self):
         self.client_id = "cybershuttle-agent"
         self.realm = "default"
-        self.auth_server_url = "https://auth.cybershuttle.org"
+        self.auth_server_url = "https://auth.dev.cybershuttle.org"
 
         if not self.client_id or not self.realm or not self.auth_server_url:
             raise ValueError("Missing required environment variables for client ID, realm, or auth server URL")
diff --git a/modules/ide-integration/README.md b/modules/ide-integration/README.md
index d6459454f7..7c990b290d 100644
--- a/modules/ide-integration/README.md
+++ b/modules/ide-integration/README.md
@@ -58,7 +58,7 @@ Add the following entry to your system's hosts file:
 Navigate to the containers directory and start all required services:
 
 ```bash
-cd modules/ide-integration/src/main/containers
+cd .devcontainer
 docker-compose up -d
 ```
 
@@ -74,7 +74,7 @@ docker-compose up -d
 Apply database migrations:
 
 ```bash
-cd modules/ide-integration/src/main/containers
+cd .devcontainer
 cat ./database_scripts/init/*-migrations.sql | docker exec -i containers-db-1 mysql -p123456
 ```
 
@@ -141,8 +141,8 @@ cat ./database_scripts/init/*-migrations.sql | docker exec -i containers-db-1 my
 cd ..
 
 # Clone the Django portal repository
-git clone https://github.com/apache/airavata-django-portal.git
-cd airavata-django-portal
+git clone https://github.com/apache/airavata-portals.git
+cd airavata-portals/airavata-django-portal
 
 # Create a virtual environment
 python3 -m venv venv
@@ -187,7 +187,7 @@ For registering compute resources and storage resources:
 **This portal is required when registering new compute or storage resources into the gateway.**
 
 ```bash
-cd modules/ide-integration/src/main/containers/pga
+cd .devcontainer/pga
 docker-compose up -d
 ```
 
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/.gitignore b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/.gitignore
deleted file mode 100755
index af33e1dcdb..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/.gitignore
+++ /dev/null
@@ -1,19 +0,0 @@
-/bootstrap/compiled.php
-/vendor
-composer.phar
-.env.*.php
-.env.php
-.DS_Store
-Thumbs.db
-
-/app/storage/cache
-/app/storage/logs
-/app/storage/sessions
-/app/storage/views
-/app/storage/meta
-/themes
-
-.idea
-.iws
-workspace.xml
-tasks.xml
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/app.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/app.php
deleted file mode 100755
index 14d95dea02..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/app.php
+++ /dev/null
@@ -1,204 +0,0 @@
-<?php
-
-return array(
-
-    /*
-    |--------------------------------------------------------------------------
-    | Application Debug Mode
-    |--------------------------------------------------------------------------
-    |
-    | When your application is in debug mode, detailed error messages with
-    | stack traces will be shown on every error that occurs within your
-    | application. If disabled, a simple generic error page is shown.
-    |
-    */
-
-    'debug' => true,
-
-    /*
-    |--------------------------------------------------------------------------
-    | Application URL
-    |--------------------------------------------------------------------------
-    |
-    | This URL is used by the console to properly generate URLs when using
-    | the Artisan command line tool. You should set this to the root of
-    | your application so that it is used when running Artisan tasks.
-    |
-    */
-
-    'url' => 'http://localhost',
-
-    /*
-    |--------------------------------------------------------------------------
-    | Application Timezone
-    |--------------------------------------------------------------------------
-    |
-    | Here you may specify the default timezone for your application, which
-    | will be used by the PHP date and date-time functions. We have gone
-    | ahead and set this to a sensible default for you out of the box.
-    |
-    */
-
-    'timezone' => 'UTC',
-
-    /*
-    |--------------------------------------------------------------------------
-    | Application Locale Configuration
-    |--------------------------------------------------------------------------
-    |
-    | The application locale determines the default locale that will be used
-    | by the translation service provider. You are free to set this value
-    | to any of the locales which will be supported by the application.
-    |
-    */
-
-    'locale' => 'en',
-
-    /*
-    |--------------------------------------------------------------------------
-    | Application Fallback Locale
-    |--------------------------------------------------------------------------
-    |
-    | The fallback locale determines the locale to use when the current one
-    | is not available. You may change the value to correspond to any of
-    | the language folders that are provided through your application.
-    |
-    */
-
-    'fallback_locale' => 'en',
-
-    /*
-    |--------------------------------------------------------------------------
-    | Encryption Key
-    |--------------------------------------------------------------------------
-    |
-    | This key is used by the Illuminate encrypter service and should be set
-    | to a random, 32 character string, otherwise these encrypted strings
-    | will not be safe. Please do this before deploying an application!
-    |
-    */
-
-    'key' => 'tez6xP65a0BGj1ZtX7PPfYhC9OIW9AjS',
-
-    'cipher' => MCRYPT_RIJNDAEL_128,
-
-    /*
-    |--------------------------------------------------------------------------
-    | Autoloaded Service Providers
-    |--------------------------------------------------------------------------
-    |
-    | The service providers listed here will be automatically loaded on the
-    | request to your application. Feel free to add your own services to
-    | this array to grant expanded functionality to your applications.
-    |
-    */
-
-    'providers' => array(
-
-        'Illuminate\Foundation\Providers\ArtisanServiceProvider',
-        'Illuminate\Auth\AuthServiceProvider',
-        'Illuminate\Cache\CacheServiceProvider',
-        'Illuminate\Session\CommandsServiceProvider',
-        'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
-        'Illuminate\Routing\ControllerServiceProvider',
-        'Illuminate\Cookie\CookieServiceProvider',
-        'Illuminate\Database\DatabaseServiceProvider',
-        'Illuminate\Encryption\EncryptionServiceProvider',
-        'Illuminate\Filesystem\FilesystemServiceProvider',
-        'Illuminate\Hashing\HashServiceProvider',
-        'Illuminate\Html\HtmlServiceProvider',
-        'Illuminate\Log\LogServiceProvider',
-        'Illuminate\Mail\MailServiceProvider',
-        'Illuminate\Database\MigrationServiceProvider',
-        'Illuminate\Pagination\PaginationServiceProvider',
-        'Illuminate\Queue\QueueServiceProvider',
-        'Illuminate\Redis\RedisServiceProvider',
-        'Illuminate\Remote\RemoteServiceProvider',
-        'Illuminate\Auth\Reminders\ReminderServiceProvider',
-        'Illuminate\Database\SeedServiceProvider',
-        'Illuminate\Session\SessionServiceProvider',
-        'Illuminate\Translation\TranslationServiceProvider',
-        'Illuminate\Validation\ValidationServiceProvider',
-        'Illuminate\View\ViewServiceProvider',
-        'Illuminate\Workbench\WorkbenchServiceProvider',
-        // 'Wsis\WsisServiceProvider',
-        'Keycloak\KeycloakServiceProvider',
-        'Airavata\AiravataServiceProvider',
-        'Airavata\IamAdminServiceProvider',
-        'Airavata\UserProfileServiceProvider',
-        'Airavata\TenantProfileServiceProvider',
-        'Teepluss\Theme\ThemeServiceProvider',
-        'GrahamCampbell\Markdown\MarkdownServiceProvider',
-    ),
-
-    /*
-    |--------------------------------------------------------------------------
-    | Service Provider Manifest
-    |--------------------------------------------------------------------------
-    |
-    | The service provider manifest is used by Laravel to lazy load service
-    | providers which are not needed for each request, as well to keep a
-    | list of all of the services. Here, you may set its storage spot.
-    |
-    */
-
-    'manifest' => storage_path() . '/meta',
-
-    /*
-    |--------------------------------------------------------------------------
-    | Class Aliases
-    |--------------------------------------------------------------------------
-    |
-    | This array of class aliases will be registered when this application
-    | is started. However, feel free to register as many as you wish as
-    | the aliases are "lazy" loaded so they don't hinder performance.
-    |
-    */
-
-    'aliases' => array(
-
-        'App' => 'Illuminate\Support\Facades\App',
-        'Artisan' => 'Illuminate\Support\Facades\Artisan',
-        'Auth' => 'Illuminate\Support\Facades\Auth',
-        'Blade' => 'Illuminate\Support\Facades\Blade',
-        'Cache' => 'Illuminate\Support\Facades\Cache',
-        'ClassLoader' => 'Illuminate\Support\ClassLoader',
-        'Config' => 'Illuminate\Support\Facades\Config',
-        'Controller' => 'Illuminate\Routing\Controller',
-        'Cookie' => 'Illuminate\Support\Facades\Cookie',
-        'Crypt' => 'Illuminate\Support\Facades\Crypt',
-        'DB' => 'Illuminate\Support\Facades\DB',
-        'Eloquent' => 'Illuminate\Database\Eloquent\Model',
-        'Event' => 'Illuminate\Support\Facades\Event',
-        'File' => 'Illuminate\Support\Facades\File',
-        'Form' => 'Illuminate\Support\Facades\Form',
-        'Hash' => 'Illuminate\Support\Facades\Hash',
-        'HTML' => 'Illuminate\Support\Facades\HTML',
-        'Input' => 'Illuminate\Support\Facades\Input',
-        'Lang' => 'Illuminate\Support\Facades\Lang',
-        'Log' => 'Illuminate\Support\Facades\Log',
-        'Mail' => 'Illuminate\Support\Facades\Mail',
-        'Paginator' => 'Illuminate\Support\Facades\Paginator',
-        'Password' => 'Illuminate\Support\Facades\Password',
-        'Queue' => 'Illuminate\Support\Facades\Queue',
-        'Redirect' => 'Illuminate\Support\Facades\Redirect',
-        'Redis' => 'Illuminate\Support\Facades\Redis',
-        'Request' => 'Illuminate\Support\Facades\Request',
-        'Response' => 'Illuminate\Support\Facades\Response',
-        'Route' => 'Illuminate\Support\Facades\Route',
-        'Schema' => 'Illuminate\Support\Facades\Schema',
-        'Seeder' => 'Illuminate\Database\Seeder',
-        'Session' => 'Illuminate\Support\Facades\Session',
-        'SoftDeletingTrait' => 'Illuminate\Database\Eloquent\SoftDeletingTrait',
-        'SSH' => 'Illuminate\Support\Facades\SSH',
-        'Str' => 'Illuminate\Support\Str',
-        'URL' => 'Illuminate\Support\Facades\URL',
-        'Validator' => 'Illuminate\Support\Facades\Validator',
-        'View' => 'Illuminate\Support\Facades\View',
-        'Airavata' => 'Airavata\Facades\Airavata',
-        'Airavata.IAM' => 'Airavata\Facades\IamAdminServices',
-        'Theme' => 'Teepluss\Theme\Facades\Theme',
-        'Markdown' => 'GrahamCampbell\Markdown\Facades\Markdown',
-    ),
-
-);
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/auth.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/auth.php
deleted file mode 100755
index eacbbfaedd..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/auth.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Default Authentication Driver
-	|--------------------------------------------------------------------------
-	|
-	| This option controls the authentication driver that will be utilized.
-	| This driver manages the retrieval and authentication of the users
-	| attempting to get access to protected areas of your application.
-	|
-	| Supported: "database", "eloquent"
-	|
-	*/
-
-	'driver' => 'eloquent',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Authentication Model
-	|--------------------------------------------------------------------------
-	|
-	| When using the "Eloquent" authentication driver, we need to know which
-	| Eloquent model should be used to retrieve your users. Of course, it
-	| is often just the "User" model but you may use whatever you like.
-	|
-	*/
-
-	'model' => 'User',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Authentication Table
-	|--------------------------------------------------------------------------
-	|
-	| When using the "Database" authentication driver, we need to know which
-	| table should be used to retrieve your users. We have chosen a basic
-	| default value but you may easily change it to any table you like.
-	|
-	*/
-
-	'table' => 'users',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Password Reminder Settings
-	|--------------------------------------------------------------------------
-	|
-	| Here you may set the settings for password reminders, including a view
-	| that should be used as your password reminder e-mail. You will also
-	| be able to set the name of the table that holds the reset tokens.
-	|
-	| The "expire" time is the number of minutes that the reminder should be
-	| considered valid. This security feature keeps tokens short-lived so
-	| they have less time to be guessed. You may change this as needed.
-	|
-	*/
-
-	'reminder' => array(
-
-		'email' => 'emails.auth.reminder',
-
-		'table' => 'password_reminders',
-
-		'expire' => 60,
-
-	),
-
-);
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/cache.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/cache.php
deleted file mode 100755
index 2733233933..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/cache.php
+++ /dev/null
@@ -1,89 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Default Cache Driver
-	|--------------------------------------------------------------------------
-	|
-	| This option controls the default cache "driver" that will be used when
-	| using the Caching library. Of course, you may use other drivers any
-	| time you wish. This is the default when another is not specified.
-	|
-	| Supported: "file", "database", "apc", "memcached", "redis", "array"
-	|
-	*/
-
-    'driver' => 'file',
-
-    /*
-    |--------------------------------------------------------------------------
-    | File Cache Location
-    |--------------------------------------------------------------------------
-    |
-    | When using the "file" cache driver, we need a location where the cache
-    | files may be stored. A sensible default has been specified, but you
-    | are free to change it to any other place on disk that you desire.
-    |
-    */
-
-	'path' => storage_path().'/cache',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Database Cache Connection
-	|--------------------------------------------------------------------------
-	|
-	| When using the "database" cache driver you may specify the connection
-	| that should be used to store the cached items. When this option is
-	| null the default database connection will be utilized for cache.
-	|
-	*/
-
-	'connection' => null,
-
-	/*
-	|--------------------------------------------------------------------------
-	| Database Cache Table
-	|--------------------------------------------------------------------------
-	|
-	| When using the "database" cache driver we need to know the table that
-	| should be used to store the cached items. A default table name has
-	| been provided but you're free to change it however you deem fit.
-	|
-	*/
-
-	'table' => 'cache',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Memcached Servers
-	|--------------------------------------------------------------------------
-	|
-	| Now you may specify an array of your Memcached servers that should be
-	| used when utilizing the Memcached cache driver. All of the servers
-	| should contain a value for "host", "port", and "weight" options.
-	|
-	*/
-
-	'memcached' => array(
-
-		array('host' => '127.0.0.1', 'port' => 11211, 'weight' => 100),
-
-	),
-
-	/*
-	|--------------------------------------------------------------------------
-	| Cache Key Prefix
-	|--------------------------------------------------------------------------
-	|
-	| When utilizing a RAM based store such as APC or Memcached, there might
-	| be other applications utilizing the same cache. So, we'll specify a
-	| value to get prefixed to all our keys so we can avoid collisions.
-	|
-	*/
-
-	'prefix' => 'laravel',
-
-);
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/compile.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/compile.php
deleted file mode 100755
index d5e55181b3..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/compile.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Additional Compiled Classes
-	|--------------------------------------------------------------------------
-	|
-	| Here you may specify additional classes to include in the compiled file
-	| generated by the `artisan optimize` command. These should be classes
-	| that are included on basically every request into the application.
-	|
-	*/
-
-
-
-);
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/database.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/database.php
deleted file mode 100755
index 3498fa8194..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/database.php
+++ /dev/null
@@ -1,124 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| PDO Fetch Style
-	|--------------------------------------------------------------------------
-	|
-	| By default, database results will be returned as instances of the PHP
-	| stdClass object; however, you may desire to retrieve records in an
-	| array format for simplicity. Here you can tweak the fetch style.
-	|
-	*/
-
-	'fetch' => PDO::FETCH_CLASS,
-
-	/*
-	|--------------------------------------------------------------------------
-	| Default Database Connection Name
-	|--------------------------------------------------------------------------
-	|
-	| Here you may specify which of the database connections below you wish
-	| to use as your default connection for all database work. Of course
-	| you may use many connections at once using the Database library.
-	|
-	*/
-
-	'default' => 'mysql',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Database Connections
-	|--------------------------------------------------------------------------
-	|
-	| Here are each of the database connections setup for your application.
-	| Of course, examples of configuring each database platform that is
-	| supported by Laravel is shown below to make development simple.
-	|
-	|
-	| All database work in Laravel is done through the PHP PDO facilities
-	| so make sure you have the driver for your particular database of
-	| choice installed on your machine before you begin development.
-	|
-	*/
-
-	'connections' => array(
-
-		'sqlite' => array(
-			'driver'   => 'sqlite',
-			'database' => __DIR__.'/../database/production.sqlite',
-			'prefix'   => '',
-		),
-
-		'mysql' => array(
-			'driver'    => 'mysql',
-			'host'      => 'localhost',
-			'database'  => 'forge',
-			'username'  => 'forge',
-			'password'  => '',
-			'charset'   => 'utf8',
-			'collation' => 'utf8_unicode_ci',
-			'prefix'    => '',
-		),
-
-		'pgsql' => array(
-			'driver'   => 'pgsql',
-			'host'     => 'localhost',
-			'database' => 'forge',
-			'username' => 'forge',
-			'password' => '',
-			'charset'  => 'utf8',
-			'prefix'   => '',
-			'schema'   => 'public',
-		),
-
-		'sqlsrv' => array(
-			'driver'   => 'sqlsrv',
-			'host'     => 'localhost',
-			'database' => 'database',
-			'username' => 'root',
-			'password' => '',
-			'prefix'   => '',
-		),
-
-	),
-
-	/*
-	|--------------------------------------------------------------------------
-	| Migration Repository Table
-	|--------------------------------------------------------------------------
-	|
-	| This table keeps track of all the migrations that have already run for
-	| your application. Using this information, we can determine which of
-	| the migrations on disk haven't actually been run in the database.
-	|
-	*/
-
-	'migrations' => 'migrations',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Redis Databases
-	|--------------------------------------------------------------------------
-	|
-	| Redis is an open source, fast, and advanced key-value store that also
-	| provides a richer set of commands than a typical key-value systems
-	| such as APC or Memcached. Laravel makes it easy to dig right in.
-	|
-	*/
-
-	'redis' => array(
-
-		'cluster' => false,
-
-		'default' => array(
-			'host'     => '127.0.0.1',
-			'port'     => 6379,
-			'database' => 0,
-		),
-
-	),
-
-);
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/email_templates.json b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/email_templates.json
deleted file mode 100755
index 16dccac44f..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/email_templates.json
+++ /dev/null
@@ -1,103 +0,0 @@
-{
-  "account_verification" : {
-    "subject" : "$firstName $lastName ($username), Please Verify Your Email Account in $portalTitle",
-    "body" : [
-          "<p>",
-              "Dear $firstName $lastName,<br/>",
-
-              "Someone has created an account with this email address. If this was you,",
-              " click the link below to verify your email address<br/>",
-
-              "<a href=\"$url\">$url</a><br/>",
-
-              "This link will expire within $validTime minutes.<br/>",
-
-              "If you didn't create this account, just ignore this message.",
-          "</p>"
-    ]
-  },
-
-  "email_update_verification" : {
-    "subject" : "$firstName $lastName ($username), Please Verify Your Email Account in $portalTitle",
-    "body" : [
-          "<p>",
-              "Dear $firstName $lastName,<br/>",
-
-              "Please click on the following link to confirm your email address",
-              " and complete updating your email address<br/>",
-
-              "<a href=\"$url\">$url</a><br/>",
-
-              "This link will expire within $validTime minutes.<br/>",
-          "</p>"
-    ]
-  },
-
-  "password_reset" : {
-    "subject" : "Password Reset Request for $firstName $lastName ($username)",
-    "body" : [
-          "<p>",
-              "Dear $firstName $lastName,<br/>",
-
-              "Someone has initiated a password reset request for the account associated with this email address.",
-              " If this was you, click the link below to verify it was you.<br/>",
-
-              "<a href=\"$url\">$url</a><br/>",
-
-              "This link will expire within $validTime minutes.<br/>",
-
-              "If you didn't request a password reset, just ignore this message.",
-          "</p>"
-    ]
-  },
-
-  "gateway_request" : {
-    "subject" : "New Gateway Request",
-    "body" : [
-      "<div>",
-          "<p>",
-              "Dear Admin,<br/>",
-
-              "$firstName $lastName has initiated a new Gateway request.",
-              " The requested Gateway is $gatewayName.",
-              " Please click the link below to verify the request.<br/>",
-
-              "<a href=\"$url\">$url</a><br/>",
-          "</p>",
-      "</div>"
-    ]
-  },
-
-  "update_to_admin" : {
-    "subject" : "Gateway Details Updated",
-    "body" : [
-        "<div>",
-            "<p>",
-                "Dear Admin,<br/>",
-
-                "There has been an update in the Gateway info for Gateway with ID - $gatewayId.",
-                " Please click the link below to view the changes.<br/>",
-
-                "<a href=\"$url\">$url</a><br/>",
-            "</p>",
-        "</div>"
-    ]
-  },
-
-  "update_to_user" : {
-    "subject" : "Gateway Details Updated",
-    "body" : [
-      "<div>",
-      "<p>",
-      "Hello,<br/>",
-
-      "There has been an update in the Gateway info for your Gateway with ID - $gatewayId.",
-      " Please click the link below to view the changes.<br/>",
-
-      "<a href=\"$url\">$url</a><br/>",
-      "</p>",
-      "</div>"
-    ]
-  }
-
-}
\ No newline at end of file
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/email_templates.json.template b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/email_templates.json.template
deleted file mode 100755
index b4e7f1f366..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/email_templates.json.template
+++ /dev/null
@@ -1,41 +0,0 @@
-{
-  "account_verification" : {
-    "subject" : "Verify Your Email Account",
-    "body" : [
-      "<div>",
-          "<p>",
-              "Dear $firstName $lastName,<br/>",
-
-              "Someone has created a account with this email address. If this was you,",
-              " click the link below to verify your email address<br/>",
-
-              "<a href=\"$url\">$url</a><br/>",
-
-              "This link will expire within $validTime minutes.<br/>",
-
-              "If you didn't create this account, just ignore this message.",
-          "</p>",
-      "</div>"
-    ]
-  },
-
-  "password_reset" : {
-    "subject" : "Password Reset Request",
-    "body" : [
-      "<div>",
-          "<p>",
-              "Dear $firstName $lastName,<br/>",
-
-              "Someone has initiated a password reset request for the account associated with this email address.",
-              " If this was you, click the link below to verify it was you.<br/>",
-
-              "<a href=\"$url\">$url</a><br/>",
-
-              "This link will expire within $validTime minutes.<br/>",
-
-              "If you didn't request a password reset, just ignore this message.",
-          "</p>",
-      "</div>"
-    ]
-  }
-}
\ No newline at end of file
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/local/app.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/local/app.php
deleted file mode 100755
index c56fcb9cef..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/local/app.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Application Debug Mode
-	|--------------------------------------------------------------------------
-	|
-	| When your application is in debug mode, detailed error messages with
-	| stack traces will be shown on every error that occurs within your
-	| application. If disabled, a simple generic error page is shown.
-	|
-	*/
-
-	'debug' => true,
-
-);
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/local/database.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/local/database.php
deleted file mode 100755
index fbcb95aeba..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/local/database.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Database Connections
-	|--------------------------------------------------------------------------
-	|
-	| Here are each of the database connections setup for your application.
-	| Of course, examples of configuring each database platform that is
-	| supported by Laravel is shown below to make development simple.
-	|
-	|
-	| All database work in Laravel is done through the PHP PDO facilities
-	| so make sure you have the driver for your particular database of
-	| choice installed on your machine before you begin development.
-	|
-	*/
-
-	'connections' => array(
-
-		'mysql' => array(
-			'driver'    => 'mysql',
-			'host'      => 'localhost',
-			'database'  => 'homestead',
-			'username'  => 'homestead',
-			'password'  => 'secret',
-			'charset'   => 'utf8',
-			'collation' => 'utf8_unicode_ci',
-			'prefix'    => '',
-		),
-
-		'pgsql' => array(
-			'driver'   => 'pgsql',
-			'host'     => 'localhost',
-			'database' => 'homestead',
-			'username' => 'homestead',
-			'password' => 'secret',
-			'charset'  => 'utf8',
-			'prefix'   => '',
-			'schema'   => 'public',
-		),
-
-	),
-
-);
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/mail.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/mail.php
deleted file mode 100755
index 76fd9e4f80..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/mail.php
+++ /dev/null
@@ -1,124 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Mail Driver
-	|--------------------------------------------------------------------------
-	|
-	| Laravel supports both SMTP and PHP's "mail" function as drivers for the
-	| sending of e-mail. You may specify which one you're using throughout
-	| your application here. By default, Laravel is setup for SMTP mail.
-	|
-	| Supported: "smtp", "mail", "sendmail", "mailgun", "mandrill", "log"
-	|
-	*/
-
-	'driver' => 'smtp',
-
-	/*
-	|--------------------------------------------------------------------------
-	| SMTP Host Address
-	|--------------------------------------------------------------------------
-	|
-	| Here you may provide the host address of the SMTP server used by your
-	| applications. A default option is provided that is compatible with
-	| the Mailgun mail service which will provide reliable deliveries.
-	|
-	*/
-
-	'host' => 'smtp.mailgun.org',
-
-	/*
-	|--------------------------------------------------------------------------
-	| SMTP Host Port
-	|--------------------------------------------------------------------------
-	|
-	| This is the SMTP port used by your application to deliver e-mails to
-	| users of the application. Like the host we have set this value to
-	| stay compatible with the Mailgun e-mail application by default.
-	|
-	*/
-
-	'port' => 587,
-
-	/*
-	|--------------------------------------------------------------------------
-	| Global "From" Address
-	|--------------------------------------------------------------------------
-	|
-	| You may wish for all e-mails sent by your application to be sent from
-	| the same address. Here, you may specify a name and address that is
-	| used globally for all e-mails that are sent by your application.
-	|
-	*/
-
-	'from' => array('address' => null, 'name' => null),
-
-	/*
-	|--------------------------------------------------------------------------
-	| E-Mail Encryption Protocol
-	|--------------------------------------------------------------------------
-	|
-	| Here you may specify the encryption protocol that should be used when
-	| the application send e-mail messages. A sensible default using the
-	| transport layer security protocol should provide great security.
-	|
-	*/
-
-	'encryption' => 'tls',
-
-	/*
-	|--------------------------------------------------------------------------
-	| SMTP Server Username
-	|--------------------------------------------------------------------------
-	|
-	| If your SMTP server requires a username for authentication, you should
-	| set it here. This will get used to authenticate with your server on
-	| connection. You may also set the "password" value below this one.
-	|
-	*/
-
-	'username' => null,
-
-	/*
-	|--------------------------------------------------------------------------
-	| SMTP Server Password
-	|--------------------------------------------------------------------------
-	|
-	| Here you may set the password required by your SMTP server to send out
-	| messages from your application. This will be given to the server on
-	| connection so that the application will be able to send messages.
-	|
-	*/
-
-	'password' => null,
-
-	/*
-	|--------------------------------------------------------------------------
-	| Sendmail System Path
-	|--------------------------------------------------------------------------
-	|
-	| When using the "sendmail" driver to send e-mails, we will need to know
-	| the path to where Sendmail lives on this server. A default path has
-	| been provided here, which will work well on most of your systems.
-	|
-	*/
-
-	'sendmail' => '/usr/sbin/sendmail -bs',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Mail "Pretend"
-	|--------------------------------------------------------------------------
-	|
-	| When this option is enabled, e-mail will not actually be sent over the
-	| web and will instead be written to your application's logs files so
-	| you may inspect the message. This is great for local development.
-	|
-	*/
-
-	'pretend' => false,
-
-);
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/packages/markdown/config.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/packages/markdown/config.php
deleted file mode 100755
index a53ddb5bfd..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/packages/markdown/config.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-/*
- * This file is part of Laravel Markdown.
- *
- * (c) Graham Campbell <gr...@mineuk.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-return [
-
-    /*
-    |--------------------------------------------------------------------------
-    | Enable The Engines
-    |--------------------------------------------------------------------------
-    |
-    | This option specifies if the view engines are enabled so you can write
-    | markdown views and have them compiled into html. The following extensions
-    | are currently supported: ".md", ".md.php", and ".md.blade.php". You may
-    | disable the engines if they are conflicting with another package.
-    |
-    | Default: true
-    |
-    */
-
-    'engines' => true,
-
-];
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/packages/teepluss/theme/config.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/packages/teepluss/theme/config.php
deleted file mode 100755
index 49689a1310..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/packages/teepluss/theme/config.php
+++ /dev/null
@@ -1,143 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Asset url path
-	|--------------------------------------------------------------------------
-	|
-	| The path to asset, this config can be cdn host.
-	| eg. http://cdn.domain.com
-	|
-	*/
-
-	'assetUrl' => URL::to('/'),
-
-	/*
-	|--------------------------------------------------------------------------
-	| Asset compression path
-	|--------------------------------------------------------------------------
-	|
-	| The path to compress assets after at public directory.
-	|
-	*/
-
-	'compressDir' => 'cache',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Force compress assets
-	|--------------------------------------------------------------------------
-	|
-	| This forces Theme to (re)compile compression assets on every invocation.
-	| By default this is FALSE. This is handy for development and debugging,
-	| It should never be used in a production environment.
-	|
-	*/
-
-	'forceCompress' => false,
-
-	/*
-	|--------------------------------------------------------------------------
-	| Capture asset compression
-	|--------------------------------------------------------------------------
-	|
-	| When you queue asset to be compression, normally It read your file(s)
-	| everytime, but on production you can stop the process by set capture
-	| true, this will be increase performance.
-	|
-	| eg. (App::environment() == 'production') ? true : false
-	|
-	*/
-
-	'assetCapture' => false,
-
-	/*
-	|--------------------------------------------------------------------------
-	| Theme Default
-	|--------------------------------------------------------------------------
-	|
-	| If you don't set a theme when using a "Theme" class the default theme
-	| will replace automatically.
-	|
-	*/
-
-	'themeDefault' => 'base',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Layout Default
-	|--------------------------------------------------------------------------
-	|
-	| If you don't set a layout when using a "Theme" class the default layout
-	| will replace automatically.
-	|
-	*/
-
-	'layoutDefault' => 'default',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Path to lookup theme
-	|--------------------------------------------------------------------------
-	|
-	| The root path contains themes collections.
-	|
-	*/
-
-	'themeDir' => 'themes',
-
-	/*
-	|--------------------------------------------------------------------------
-	| A pieces of theme collections
-	|--------------------------------------------------------------------------
-	|
-	| Inside a theme path we need to set up directories to
-	| keep "layouts", "assets" and "partials".
-	|
-	*/
-
-	'containerDir' => array(
-		'layout'  => 'layouts',
-		'asset'   => 'assets',
-		'partial' => 'partials',
-		'widget'  => 'widgets',
-		'view'    => 'views'
-	),
-
-	/*
-	|--------------------------------------------------------------------------
-	| Listener from events
-	|--------------------------------------------------------------------------
-	|
-	| You can hook a theme when event fired on activities
-	| this is cool feature to set up a title, meta, default styles and scripts.
-	|
-	*/
-
-	'events' => array(
-
-		// Before all event, this event will effect for global.
-		'before' => function($theme)
-		{
-			//$theme->setTitle('Something in global.');
-		},
-
-		// This event will fire as a global you can add any assets you want here.
-		'asset' => function($asset)
-		{
-			// Preparing asset you need to serve after.
-            $asset->cook('backbone', function($asset)
-            {
-                $asset->add('backbone', '//cdnjs.cloudflare.com/ajax/libs/backbone.js/1.0.0/backbone-min.js');
-                $asset->add('underscorejs', '//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.4/underscore-min.js');
-            });
-
-            // To use cook 'backbone' you can fire with 'serve' method.
-            // Theme::asset()->serve('backbone');
-		}
-
-	)
-
-);
\ No newline at end of file
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/packages/teepluss/theme/twig.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/packages/teepluss/theme/twig.php
deleted file mode 100755
index 76a6034eda..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/packages/teepluss/theme/twig.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-
-return array(
-
-    /*
-    |--------------------------------------------------------------------------
-    | PHP alow in twig
-    |--------------------------------------------------------------------------
-    |
-    | This is laravel alias to allow in twig compiler
-    | The list all of methods is at /app/config/app.php
-    |
-    */
-
-    'allows' => array(
-        'Auth',
-        'Cache',
-        'Config',
-        'Cookie',
-        'Form',
-        'HTML',
-        'Input',
-        'Lang',
-        'Paginator',
-        'Str',
-        'Theme',
-        'URL',
-        'Validator'
-    ),
-
-    /*
-    |--------------------------------------------------------------------------
-    | PHP alow in twig
-    |--------------------------------------------------------------------------
-    |
-    | This is laravel alias to allow in twig compiler
-    | The list all of methods is at /app/config/app.php
-    |
-    */
-
-    'hooks' => function($twig)
-    {
-        // Example add funciton name "demo".
-        /*$function = new Twig_SimpleFunction('example', function()
-        {
-            $args = func_get_args();
-
-            return "Example" . print_r($args, true);
-        });
-
-        $twig->addFunction($function);*/
-
-        return $twig;
-    }
-
-);
\ No newline at end of file
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/pga_config.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/pga_config.php
deleted file mode 100755
index 745dd5563f..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/pga_config.php
+++ /dev/null
@@ -1,309 +0,0 @@
-<?php
-return array(
-    /**
-     * *****************************************************************
-     *  WSO2 Identity Server Related Configurations
-     * *****************************************************************
-     */
-
-    'wsis' => [
-
-        /**
-         * Admin Role Name
-         */
-        'admin-role-name' => 'admin',
-
-        /**
-         * Read only Admin Role Name
-         */
-        'read-only-admin-role-name' => 'admin-read-only',
-
-        /**
-         * Gateway user role
-         */
-        'user-role-name' => 'gateway-user',
-
-        /**
-         * Initial user role. This is the initial user role assigned to a new
-         * user. Set this to one of the three roles above to automatically
-         * grant new users that role, or set to some other role ('user-pending')
-         * to require admin approval before users have access.
-         */
-        'initial-role-name' => 'user-pending',
-
-        /**
-         * Tenant Domain
-         */
-        'tenant-domain' => 'default',
-
-        /**
-         * Tenant admin's username
-         */
-        'admin-username' => 'default-admin',
-
-        /**
-         * Tenant admin's password
-         */
-        'admin-password' => '123456',
-
-        /**
-         * OAuth client key
-         */
-        'oauth-client-key' => 'pga',
-
-        /**
-         * OAuth client secret
-         */
-        'oauth-client-secret' => '9790c8c4-7d9b-4ccc-a820-ca5aac38d2ad',
-
-        /**
-         * Authentication options
-         */
-        'auth-options' => [
-            // Example of password based login
-            [
-                'oauth-grant-type' => 'password',
-                'name' => 'Airavata PHP Gateway',
-            ],
-            // Example of external identity provider login
-            [
-                'oauth-grant-type' => 'authorization_code',
-                'name' => 'CILogon',
-                // Optional
-                // Note: kc_idp_hint is used to skip Keycloak login screen and redirect immediately to this identity provider
-                // http://www.keycloak.org/docs/2.5/server_admin/topics/identity-broker/suggested.html
-                'oauth-authorize-url-extra-params' => 'kc_idp_hint=oidc',
-                // Optional
-                'logo' => '/assets/path_to_image.png'
-            ],
-        ],
-
-        /**
-         * OAuth Grant Type (password or authorization_code)
-         */
-        'oauth-grant-type' => 'password',
-
-        /**
-         * OAuth call back url (only if the grant type is authorization_code)
-         */
-        'oauth-callback-url' => 'http://localhost/callback-url',
-
-        /**
-         * For OIDC servers that support the discovery protocol.
-         */
-        'openid-connect-discovery-url' => 'https://airavata.host:8443/realms/default/.well-known/openid-configuration',
-
-        /**
-         * Identity server url
-         */
-        'service-url' => 'https://airavata.host:8443',
-
-        /**
-         * Enable HTTPS server verification
-         */
-        'verify-peer' => false,
-
-        /**
-         * Path to the server certificate file
-         */
-        'cafile-path' => app_path() . '/resources/security/incommon_rsa_server_ca.pem',
-    ],
-
-
-    /**
-     * *****************************************************************
-     *  Airavata Client Configurations
-     * *****************************************************************
-     */
-    'airavata' => [
-
-        /**
-         * Airavata API server location. Use tls:// as the protocol to
-         * connect TLS enabled Airavata
-         */
-        'airavata-server' => 'tls://airavata.host',
-
-        /**
-         * Airavata API server port
-         */
-        'airavata-port' => '9930',
-
-        /**
-         * Airavata Profile Service server location. Use tls:// as the protocol to
-         * connect over TLS
-         */
-        'airavata-profile-service-server' => 'airavata.host',
-
-        /**
-         * Airavata Profile Service port
-         */
-        'airavata-profile-service-port' => '8962',
-
-        /**
-         * Airavata API server thrift communication timeout
-         */
-        'airavata-timeout' => '1000000',
-
-        /**
-         * PGA Gateway ID
-         */
-        'gateway-id' => 'default',
-
-        /**
-         * absolute path of the data dir
-         */
-        'experiment-data-absolute-path' => '/tmp',
-
-        /**
-         * Advanced experiments options
-         */
-        'advanced-experiment-options' => '',
-
-        /**
-         * Default queue name
-         */
-        'queue-name' => 'long',
-
-        /**
-         * Default node count
-         */
-        'node-count' => '1',
-
-        /**
-         * Default total core count
-         */
-        'total-cpu-count' => '16',
-
-        /**
-         * Default wall time limit
-         */
-        'wall-time-limit' => '30',
-
-        /**
-         * Max node count
-         */
-        'max-node-count' => '4',
-
-        /**
-         * Max total core count
-         */
-        'max-total-cpu-count' => '96',
-
-        /**
-         * Max wall time limit
-         */
-        'max-wall-time-limit' => '120',
-
-        /**
-         * Enable app-catalog cache
-         */
-        'enable-app-catalog-cache' => true,
-
-        /**
-         * Life time of app catalog data cache in minutes
-         */
-        'app-catalog-cache-duration' => 5,
-
-         /**
-         * Gateway data store resource id
-         */
-         'gateway-data-store-resource-id' => 'airavata.host_77116e91-f042-4d3a-ab9c-3e7b4ebcd5bd',
-
-         /**
-          * Data Sharing enabled
-          */
-          'data-sharing-enabled' => true
-    ],
-
-    /**
-     * *****************************************************************
-     *  Portal Related Configurations
-     * *****************************************************************
-     */
-    'portal' => [
-        /**
-         * Whether this portal is the SciGaP admin portal
-         */
-        'super-admin-portal' => true,
-
-        /**
-         * Set the name of theme in use here
-         */
-        'theme' => 'base',
-
-        /**
-         * Portal title
-         */
-        'portal-title' => 'Airavata',
-
-        /**
-         * Email address of the portal admin. Portal admin well get email notifications for events
-         * such as new user creation
-         */
-        'admin-emails' => ['CHANGEME'],
-
-        /**
-         * Email account that the portal should login to send emails
-         */
-        'portal-email-username' => 'CHANGEME',
-
-        /**
-         * Password for the portal's email account
-         */
-        'portal-email-password' => 'CHANGEME',
-
-        /**
-         * SMTP server on which the portal should connect
-         */
-        'portal-smtp-server-host' => 'smtp.gmail.com',
-
-        /**
-         * SMTP server port on which the portal should connect
-         */
-        'portal-smtp-server-port' => '587',
-
-        /**
-         * Email verification code valid time interval in minutes
-         */
-         'email-verify-code-valid-time' => 360,
-
-        /**
-         * Set this to true if theme has set links to login
-         */
-        'theme-based-login-links-configured' => false,
-        
-        /**
-         * Set JIRA Issue Collector scripts here.
-         */
-        'jira-help' =>
-        [
-            /**
-             * Report Issue Script issued for your app by Atlassian JIRA
-             */
-            'report-issue-script' => '',
-            /**
-             * Collector id at the end of the above script
-             */
-            'report-issue-collector-id' => '',
-            /**
-             * Create Report Script issued for your app by Atlassian JIRA
-             */
-            'request-feature-script' => '',
-            /**
-             * Collector id at the end of the above script
-             */
-            'request-feature-collector-id' => ''
-        ],
-
-        /**
-         * Set Google Analytics Id here. ID format that generates from  
-         * creating tracker object should be 
-         *
-         * UA-XXXXX-Y 
-         *
-         * for it to be working correctly. Currently it is only set for 
-         * sending pageviews.
-         */
-        'google-analytics-id' => ''
-    ]
-);
\ No newline at end of file
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/pga_config.php.template b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/pga_config.php.template
deleted file mode 100755
index 920d938cff..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/pga_config.php.template
+++ /dev/null
@@ -1,309 +0,0 @@
-<?php
-return array(
-    /**
-     * *****************************************************************
-     *  WSO2 Identity Server Related Configurations
-     * *****************************************************************
-     */
-
-    'wsis' => [
-
-        /**
-         * Admin Role Name
-         */
-        'admin-role-name' => 'Internal/everyone',
-
-        /**
-         * Read only Admin Role Name
-         */
-        'read-only-admin-role-name' => 'Internal/everyone',
-
-        /**
-         * Gateway user role
-         */
-        'user-role-name' => 'Internal/everyone',
-
-        /**
-         * Initial user role. This is the initial user role assigned to a new
-         * user. Set this to one of the three roles above to automatically
-         * grant new users that role, or set to some other role ('user-pending')
-         * to require admin approval before users have access.
-         */
-        'initial-role-name' => 'user-pending',
-
-        /**
-         * Tenant Domain
-         */
-        'tenant-domain' => 'master.airavata',
-
-        /**
-         * Tenant admin's username
-         */
-        'admin-username' => 'master',
-
-        /**
-         * Tenant admin's password
-         */
-        'admin-password' => 'master',
-
-        /**
-         * OAuth client key
-         */
-        'oauth-client-key' => '5_GFR88Nzd4XvGthSMF1fnOJPuMa',
-
-        /**
-         * OAuth client secret
-         */
-        'oauth-client-secret' => 'KNTf_LPLuGBDbRVZwkrP_fF5z2Ea',
-
-        /**
-         * Authentication options
-         */
-        'auth-options' => [
-            // Example of password based login
-            [
-                'oauth-grant-type' => 'password',
-                'name' => 'Airavata PHP Gateway',
-            ],
-            // Example of external identity provider login
-            [
-                'oauth-grant-type' => 'authorization_code',
-                'name' => 'CILogon',
-                // Optional
-                // Note: kc_idp_hint is used to skip Keycloak login screen and redirect immediately to this identity provider
-                // http://www.keycloak.org/docs/2.5/server_admin/topics/identity-broker/suggested.html
-                'oauth-authorize-url-extra-params' => 'kc_idp_hint=oidc',
-                // Optional
-                'logo' => '/assets/path_to_image.png'
-            ],
-        ],
-
-        /**
-         * OAuth Grant Type (password or authorization_code)
-         */
-        'oauth-grant-type' => 'password',
-
-        /**
-         * OAuth call back url (only if the grant type is authorization_code)
-         */
-        'oauth-callback-url' => 'https://dev.seagrid.org/callback-url',
-
-        /**
-         * For OIDC servers that support the discovery protocol.
-         */
-        'openid-connect-discovery-url' => 'https://iam.scigap.org/auth/realms/_MY_REALM_/.well-known/openid-configuration',
-
-        /**
-         * Identity server url
-         */
-        'service-url' => 'https://iam.scigap.org/auth',
-
-        /**
-         * Enable HTTPS server verification
-         */
-        'verify-peer' => true,
-
-        /**
-         * Path to the server certificate file
-         */
-        'cafile-path' => app_path() . '/resources/security/incommon_rsa_server_ca.pem',
-    ],
-
-
-    /**
-     * *****************************************************************
-     *  Airavata Client Configurations
-     * *****************************************************************
-     */
-    'airavata' => [
-
-        /**
-         * Airavata API server location. Use tls:// as the protocol to
-         * connect TLS enabled Airavata
-         */
-        'airavata-server' => 'gw56.iu.xsede.org',
-
-        /**
-         * Airavata API server port
-         */
-        'airavata-port' => '8930',
-
-        /**
-         * Airavata Profile Service server location. Use tls:// as the protocol to
-         * connect over TLS
-         */
-        'airavata-profile-service-server' => 'gw56.iu.xsede.org',
-
-        /**
-         * Airavata Profile Service port
-         */
-        'airavata-profile-service-port' => '8962',
-
-        /**
-         * Airavata API server thrift communication timeout
-         */
-        'airavata-timeout' => '1000000',
-
-        /**
-         * PGA Gateway ID
-         */
-        'gateway-id' => 'default',
-
-        /**
-         * absolute path of the data dir
-         */
-        'experiment-data-absolute-path' => '/var/www/experimentData',
-
-        /**
-         * Advanced experiments options
-         */
-        'advanced-experiment-options' => '',
-
-        /**
-         * Default queue name
-         */
-        'queue-name' => 'long',
-
-        /**
-         * Default node count
-         */
-        'node-count' => '1',
-
-        /**
-         * Default total core count
-         */
-        'total-cpu-count' => '16',
-
-        /**
-         * Default wall time limit
-         */
-        'wall-time-limit' => '30',
-
-        /**
-         * Max node count
-         */
-        'max-node-count' => '4',
-
-        /**
-         * Max total core count
-         */
-        'max-total-cpu-count' => '96',
-
-        /**
-         * Max wall time limit
-         */
-        'max-wall-time-limit' => '120',
-
-        /**
-         * Enable app-catalog cache
-         */
-        'enable-app-catalog-cache' => true,
-
-        /**
-         * Life time of app catalog data cache in minutes
-         */
-        'app-catalog-cache-duration' => 5,
- 
-         /**
-         * Gateway data store resource id
-         */
-         'gateway-data-store-resource-id' => '',
-
-         /**
-          * Data Sharing enabled
-          */
-          'data-sharing-enabled' => false
-    ],
-
-    /**
-     * *****************************************************************
-     *  Portal Related Configurations
-     * *****************************************************************
-     */
-    'portal' => [
-        /**
-         * Whether this portal is the SciGaP admin portal
-         */
-        'super-admin-portal' => false,
-
-        /**
-         * Set the name of theme in use here
-         */
-        'theme' => 'base',
-
-        /**
-         * Portal title
-         */
-        'portal-title' => 'Airavata PHP Gateway',
-
-        /**
-         * Email address of the portal admin. Portal admin well get email notifications for events
-         * such as new user creation
-         */
-        'admin-emails' => ['xxx@xxx.com','yyy@yyy.com'],
-
-        /**
-         * Email account that the portal should login to send emails
-         */
-        'portal-email-username' => 'xyz@abc.com',
-
-        /**
-         * Password for the portal's email account
-         */
-        'portal-email-password' => 'xxxxxxxxxxx',
-
-        /**
-         * SMTP server on which the portal should connect
-         */
-        'portal-smtp-server-host' => 'smtp.gmail.com',
-
-        /**
-         * SMTP server port on which the portal should connect
-         */
-        'portal-smtp-server-port' => '587',
-
-        /**
-         * Email verification code valid time interval in minutes
-         */
-         'email-verify-code-valid-time' => 360,
-
-        /**
-         * Set this to true if theme has set links to login
-         */
-        'theme-based-login-links-configured' => false,
-        
-        /**
-         * Set JIRA Issue Collector scripts here.
-         */
-        'jira-help' => 
-        [
-            /**
-             * Report Issue Script issued for your app by Atlassian JIRA
-             */
-            'report-issue-script' => '',
-            /**
-             * Collector id at the end of the above script
-             */
-            'report-issue-collector-id' => '',
-            /**
-             * Create Report Script issued for your app by Atlassian JIRA
-             */
-            'request-feature-script' => '',
-            /**
-             * Collector id at the end of the above script
-             */
-            'request-feature-collector-id' => ''
-        ],
-
-        /**
-         * Set Google Analytics Id here. ID format that generates from  
-         * creating tracker object should be 
-         *
-         * UA-XXXXX-Y 
-         *
-         * for it to be working correctly. Currently it is only set for 
-         * sending pageviews.
-         */
-        'google-analytics-id' => ''
-    ]
-);
\ No newline at end of file
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/queue.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/queue.php
deleted file mode 100755
index 940a4cdfec..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/queue.php
+++ /dev/null
@@ -1,85 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Default Queue Driver
-	|--------------------------------------------------------------------------
-	|
-	| The Laravel queue API supports a variety of back-ends via an unified
-	| API, giving you convenient access to each back-end using the same
-	| syntax for each one. Here you may set the default queue driver.
-	|
-	| Supported: "sync", "beanstalkd", "sqs", "iron", "redis"
-	|
-	*/
-
-	'default' => 'sync',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Queue Connections
-	|--------------------------------------------------------------------------
-	|
-	| Here you may configure the connection information for each server that
-	| is used by your application. A default configuration has been added
-	| for each back-end shipped with Laravel. You are free to add more.
-	|
-	*/
-
-	'connections' => array(
-
-		'sync' => array(
-			'driver' => 'sync',
-		),
-
-		'beanstalkd' => array(
-			'driver' => 'beanstalkd',
-			'host'   => 'localhost',
-			'queue'  => 'default',
-			'ttr'    => 60,
-		),
-
-		'sqs' => array(
-			'driver' => 'sqs',
-			'key'    => 'your-public-key',
-			'secret' => 'your-secret-key',
-			'queue'  => 'your-queue-url',
-			'region' => 'us-east-1',
-		),
-
-		'iron' => array(
-			'driver'  => 'iron',
-			'host'    => 'mq-aws-us-east-1.iron.io',
-			'token'   => 'your-token',
-			'project' => 'your-project-id',
-			'queue'   => 'your-queue-name',
-			'encrypt' => true,
-		),
-
-		'redis' => array(
-			'driver' => 'redis',
-			'queue'  => 'default',
-		),
-
-	),
-
-	/*
-	|--------------------------------------------------------------------------
-	| Failed Queue Jobs
-	|--------------------------------------------------------------------------
-	|
-	| These options configure the behavior of failed queue job logging so you
-	| can control which database and table are used to store the jobs that
-	| have failed. You may change them to any database / table you wish.
-	|
-	*/
-
-	'failed' => array(
-
-		'database' => 'mysql', 'table' => 'failed_jobs',
-
-	),
-
-);
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/remote.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/remote.php
deleted file mode 100755
index 2169c434b4..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/remote.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Default Remote Connection Name
-	|--------------------------------------------------------------------------
-	|
-	| Here you may specify the default connection that will be used for SSH
-	| operations. This name should correspond to a connection name below
-	| in the server list. Each connection will be manually accessible.
-	|
-	*/
-
-	'default' => 'production',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Remote Server Connections
-	|--------------------------------------------------------------------------
-	|
-	| These are the servers that will be accessible via the SSH task runner
-	| facilities of Laravel. This feature radically simplifies executing
-	| tasks on your servers, such as deploying out these applications.
-	|
-	*/
-
-	'connections' => array(
-
-		'production' => array(
-			'host'      => '',
-			'username'  => '',
-			'password'  => '',
-			'key'       => '',
-			'keyphrase' => '',
-			'root'      => '/var/www',
-		),
-
-	),
-
-	/*
-	|--------------------------------------------------------------------------
-	| Remote Server Groups
-	|--------------------------------------------------------------------------
-	|
-	| Here you may list connections under a single group name, which allows
-	| you to easily access all of the servers at once using a short name
-	| that is extremely easy to remember, such as "web" or "database".
-	|
-	*/
-
-	'groups' => array(
-
-		'web' => array('production')
-
-	),
-
-);
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/services.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/services.php
deleted file mode 100755
index c8aba2a6da..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/services.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Third Party Services
-	|--------------------------------------------------------------------------
-	|
-	| This file is for storing the credentials for third party services such
-	| as Stripe, Mailgun, Mandrill, and others. This file provides a sane
-	| default location for this type of information, allowing packages
-	| to have a conventional place to find your various credentials.
-	|
-	*/
-
-	'mailgun' => array(
-		'domain' => '',
-		'secret' => '',
-	),
-
-	'mandrill' => array(
-		'secret' => '',
-	),
-
-	'stripe' => array(
-		'model'  => 'User',
-		'secret' => '',
-	),
-
-);
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/session.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/session.php
deleted file mode 100755
index ae343029ee..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/session.php
+++ /dev/null
@@ -1,140 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Default Session Driver
-	|--------------------------------------------------------------------------
-	|
-	| This option controls the default session "driver" that will be used on
-	| requests. By default, we will use the lightweight native driver but
-	| you may specify any of the other wonderful drivers provided here.
-	|
-	| Supported: "file", "cookie", "database", "apc",
-	|            "memcached", "redis", "array"
-	|
-	*/
-
-	'driver' => 'file',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Session Lifetime
-	|--------------------------------------------------------------------------
-	|
-	| Here you may specify the number of minutes that you wish the session
-	| to be allowed to remain idle before it expires. If you want them
-	| to immediately expire on the browser closing, set that option.
-	|
-	*/
-
-	'lifetime' => 120,
-
-	'expire_on_close' => false,
-
-	/*
-	|--------------------------------------------------------------------------
-	| Session File Location
-	|--------------------------------------------------------------------------
-	|
-	| When using the native session driver, we need a location where session
-	| files may be stored. A default has been set for you but a different
-	| location may be specified. This is only needed for file sessions.
-	|
-	*/
-
-	'files' => storage_path().'/sessions',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Session Database Connection
-	|--------------------------------------------------------------------------
-	|
-	| When using the "database" or "redis" session drivers, you may specify a
-	| connection that should be used to manage these sessions. This should
-	| correspond to a connection in your database configuration options.
-	|
-	*/
-
-	'connection' => null,
-
-	/*
-	|--------------------------------------------------------------------------
-	| Session Database Table
-	|--------------------------------------------------------------------------
-	|
-	| When using the "database" session driver, you may specify the table we
-	| should use to manage the sessions. Of course, a sensible default is
-	| provided for you; however, you are free to change this as needed.
-	|
-	*/
-
-	'table' => 'sessions',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Session Sweeping Lottery
-	|--------------------------------------------------------------------------
-	|
-	| Some session drivers must manually sweep their storage location to get
-	| rid of old sessions from storage. Here are the chances that it will
-	| happen on a given request. By default, the odds are 2 out of 100.
-	|
-	*/
-
-	'lottery' => array(2, 100),
-
-	/*
-	|--------------------------------------------------------------------------
-	| Session Cookie Name
-	|--------------------------------------------------------------------------
-	|
-	| Here you may change the name of the cookie used to identify a session
-	| instance by ID. The name specified here will get used every time a
-	| new session cookie is created by the framework for every driver.
-	|
-	*/
-
-	'cookie' => 'laravel_session',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Session Cookie Path
-	|--------------------------------------------------------------------------
-	|
-	| The session cookie path determines the path for which the cookie will
-	| be regarded as available. Typically, this will be the root path of
-	| your application but you are free to change this when necessary.
-	|
-	*/
-
-	'path' => '/',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Session Cookie Domain
-	|--------------------------------------------------------------------------
-	|
-	| Here you may change the domain of the cookie used to identify a session
-	| in your application. This will determine which domains the cookie is
-	| available to in your application. A sensible default has been set.
-	|
-	*/
-
-	'domain' => null,
-
-	/*
-	|--------------------------------------------------------------------------
-	| HTTPS Only Cookies
-	|--------------------------------------------------------------------------
-	|
-	| By setting this option to true, session cookies will only be sent back
-	| to the server if the browser has a HTTPS connection. This will keep
-	| the cookie from being sent to you if it can not be done securely.
-	|
-	*/
-
-	'secure' => false,
-
-);
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/testing/cache.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/testing/cache.php
deleted file mode 100755
index 66a8a39a86..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/testing/cache.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Default Cache Driver
-	|--------------------------------------------------------------------------
-	|
-	| This option controls the default cache "driver" that will be used when
-	| using the Caching library. Of course, you may use other drivers any
-	| time you wish. This is the default when another is not specified.
-	|
-	| Supported: "file", "database", "apc", "memcached", "redis", "array"
-	|
-	*/
-
-	'driver' => 'array',
-
-);
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/testing/session.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/testing/session.php
deleted file mode 100755
index 0364b63dcc..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/testing/session.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Default Session Driver
-	|--------------------------------------------------------------------------
-	|
-	| This option controls the default session "driver" that will be used on
-	| requests. By default, we will use the lightweight native driver but
-	| you may specify any of the other wonderful drivers provided here.
-	|
-	| Supported: "native", "cookie", "database", "apc",
-	|            "memcached", "redis", "array"
-	|
-	*/
-
-	'driver' => 'array',
-
-);
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/view.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/view.php
deleted file mode 100755
index 34b8f38735..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/view.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| View Storage Paths
-	|--------------------------------------------------------------------------
-	|
-	| Most templating systems load templates from disk. Here you may specify
-	| an array of paths that should be checked for your views. Of course
-	| the usual Laravel view path has already been registered for you.
-	|
-	*/
-
-	'paths' => array(__DIR__.'/../views'),
-
-	/*
-	|--------------------------------------------------------------------------
-	| Pagination View
-	|--------------------------------------------------------------------------
-	|
-	| This view will be used to render the pagination link output, and can
-	| be easily customized here to show any view you like. A clean view
-	| compatible with Twitter's Bootstrap is given to you by default.
-	|
-	*/
-
-	'pagination' => 'pagination::slider-3',
-
-);
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/workbench.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/workbench.php
deleted file mode 100755
index f4a663b2ae..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/workbench.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Workbench Author Name
-	|--------------------------------------------------------------------------
-	|
-	| When you create new packages via the Artisan "workbench" command your
-	| name is needed to generate the composer.json file for your package.
-	| You may specify it now so it is used for all of your workbenches.
-	|
-	*/
-
-	'name' => 'Apache Airavata',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Workbench Author E-Mail Address
-	|--------------------------------------------------------------------------
-	|
-	| Like the option above, your e-mail address is used when generating new
-	| workbench packages. The e-mail is placed in your composer.json file
-	| automatically after the package is created by the workbench tool.
-	|
-	*/
-
-	'email' => 'dev@airavata.apache.org',
-
-);
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/AccountController.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/AccountController.php
deleted file mode 100755
index 9216c5b6d9..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/AccountController.php
+++ /dev/null
@@ -1,544 +0,0 @@
-<?php
-
-class AccountController extends BaseController
-{
-    const PASSWORD_VALIDATION = "required|min:6|max:48|regex:/^.*(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[@!$#*&]).*$/";
-    const PASSWORD_VALIDATION_MESSAGE = "Password needs to contain at least (a) One lower case letter (b) One Upper case letter and (c) One number (d) One of the following special characters - !@#$&*";
-
-    public function __construct()
-    {
-        Session::put("nav-active", "user-dashboard");
-    }
-
-    public function createAccountView()
-    {
-        $auth_options = Config::get('pga_config.wsis')['auth-options'];
-        $auth_password_option = CommonUtilities::getAuthPasswordOption();
-        if ($auth_password_option == null) {
-            return Redirect::to("login");
-        }
-        $auth_code_options = CommonUtilities::getAuthCodeOptions();
-        return View::make('account/create', array(
-            "auth_password_option" => $auth_password_option,
-            "auth_code_options" => $auth_code_options));
-    }
-
-    public function createAccountSubmit()
-    {
-        $rules = array(
-            "username" => "required|min:6|regex:/^[a-z0-9_-]+$/",
-            "password" => self::PASSWORD_VALIDATION,
-            "confirm_password" => "required|same:password",
-            "email" => "required|email",
-            "confirm_email" => "required|same:email",
-        );
-
-        $messages = array(
-            'username.regex' => "Username can only contain lowercase letters, numbers, underscores and hyphens.",
-            'password.regex' => self::PASSWORD_VALIDATION_MESSAGE,
-        );
-
-        $validator = Validator::make(Input::all(), $rules, $messages);
-        if ($validator->fails()) {
-            return Redirect::to("create")
-                ->withInput(Input::except('password', 'confirm_password', 'email', 'confirm_email'))
-                ->withErrors($validator);
-        }
-
-        $first_name = $_POST['first_name'];
-        $last_name = $_POST['last_name'];
-        $username = $_POST['username'];
-        $password = $_POST['password'];
-        $email = $_POST['email'];
-
-        if (Keycloak::usernameExists($username)) {
-            return Redirect::to("create")
-                ->withInput(Input::except('password', 'confirm_password'))
-                ->with("username_exists", true);
-        } else {
-
-            IamAdminServicesUtilities::registerUser($username, $email, $first_name, $last_name, $password);
-
-            // add user to initial role
-            IamAdminServicesUtilities::addInitialRoleToUser($username);
-            // Send account confirmation email
-            EmailUtilities::sendVerifyEmailAccount($username, $first_name, $last_name, $email);
-
-            CommonUtilities::print_success_message('Account confirmation request was sent to your email account');
-            return View::make('home');
-        }
-    }
-
-    public function loginView()
-    {
-        // If user already logged in, redirect to home
-        if(CommonUtilities::id_in_session()){
-            return Redirect::to("home");
-        }
-
-        // Only support for one password option
-        $auth_password_option = CommonUtilities::getAuthPasswordOption();
-        // Support for many external identity providers (authorization code auth flow)
-        $auth_code_options = CommonUtilities::getAuthCodeOptions();
-        $has_auth_code_and_password_options = $auth_password_option != null && count($auth_code_options) > 0;
-
-        // If no username/password option and only one external identity
-        // provider, just redirect immediately
-        if ($auth_password_option == null && count($auth_code_options) == 1) {
-            return Redirect::away($auth_code_options[0]["auth_url"]);
-        } else {
-            return View::make('account/login', array(
-                "auth_password_option" => $auth_password_option,
-                "auth_code_options" => $auth_code_options,
-                "has_auth_code_and_password_options" => $has_auth_code_and_password_options,
-            ));
-        }
-    }
-
-    public function loginDesktopView()
-    {
-        // Only support for one password option
-        $auth_password_option = CommonUtilities::getAuthPasswordOption();
-        // Support for many external identity providers (authorization code auth flow)
-        $auth_code_options = CommonUtilities::getAuthCodeOptions();
-        $has_auth_code_and_password_options = $auth_password_option != null && count($auth_code_options) > 0;
-
-        // If no username/password option and only one external identity
-        // provider, just redirect immediately
-        if ($auth_password_option == null && count($auth_code_options) == 1) {
-            return Redirect::away($auth_code_options[0]["auth_url"]);
-        } else {
-            return View::make('account/login-desktop', array(
-                "auth_password_option" => $auth_password_option,
-                "auth_code_options" => $auth_code_options,
-                "has_auth_code_and_password_options" => $has_auth_code_and_password_options,
-            ));
-        }
-    }
-
-    public function loginSubmit()
-    {
-        if (CommonUtilities::form_submitted()) {
-            $username = strtolower(Input::get("username"));
-
-            $password = $_POST['password'];
-            $response = Keycloak::authenticate($username, $password);
-            if(!isset($response->access_token)){
-                if (Keycloak::isUpdatePasswordRequired($username)) {
-                    return Redirect::to("login" . '?status=failed')->with("update-password-required", true);
-                } else {
-                    return Redirect::to("login". '?status=failed')->with("invalid-credentials", true);
-                }
-            }
-
-            $accessToken = $response->access_token;
-            $refreshToken = $response->refresh_token;
-            $expirationTime = time() + $response->expires_in - 300; // 5 minutes safe margin
-
-            $userProfile = Keycloak::getUserProfileFromOAuthToken($accessToken);
-            Session::put("iam-user-profile", $userProfile);
-            $username = $userProfile['username'];
-            $userRoles = $userProfile['roles'];
-            $userEmail = $userProfile["email"];
-            $firstName = $userProfile["firstname"];
-            $lastName = $userProfile["lastname"];
-
-            $authzToken = new Airavata\Model\Security\AuthzToken();
-            $authzToken->accessToken = $accessToken;
-            $authzToken->claimsMap['gatewayID'] = Config::get('pga_config.airavata')['gateway-id'];
-            $authzToken->claimsMap['userName'] = $username;
-
-            Session::put('authz-token',$authzToken);
-            Session::put('oauth-refresh-code',$refreshToken);
-            Session::put('oauth-expiration-time',$expirationTime);
-
-            Session::put("roles", $userRoles);
-            if (in_array(Config::get('pga_config.wsis')['admin-role-name'], $userRoles)) {
-                Session::put("admin", true);
-            }
-            if (in_array(Config::get('pga_config.wsis')['read-only-admin-role-name'], $userRoles)) {
-                Session::put("authorized-user", true);
-                Session::put("admin-read-only", true);
-            }
-            if (in_array(Config::get('pga_config.wsis')['user-role-name'], $userRoles)) {
-                Session::put("authorized-user", true);
-            }
-            //gateway-provider-code
-            if (in_array("gateway-provider", $userRoles)) {
-                Session::put("gateway-provider", true);
-            }
-            //only for super admin
-            if(  Config::get('pga_config.portal')['super-admin-portal'] == true && Session::has("admin")){
-                Session::put("super-admin", true);
-            }
-            CommonUtilities::store_id_in_session($username);
-            Session::put("gateway_id", Config::get('pga_config.airavata')['gateway-id']);
-
-            if(Session::has("admin") || Session::has("admin-read-only") || Session::has("authorized-user") || Session::has("gateway-provider")){
-                return $this->initializeWithAiravata($username, $userEmail, $firstName, $lastName, $accessToken,
-                    $refreshToken, $expirationTime);
-            }
-
-            return Redirect::to("account/dashboard" . "?status=less_privileged&code=".$accessToken . "&username=".$username
-                . "&refresh_code=" . $refreshToken . "&valid_time=" . $expirationTime);
-        }
-
-    }
-
-    public function apiLoginSubmit() {
-        $username = strtolower(Input::get("username"));
-        $password = Input::get("password");
-        $response = Keycloak::authenticate($username, $password);
-        return Response::json($response);
-    }
-
-    public function oauthCallback()
-    {
-        if (!isset($_GET["code"])) {
-            return Redirect::to('home');
-        }
-
-        $code = $_GET["code"];
-        $response = Keycloak::getOAuthToken($code);
-        if(!isset($response->access_token)){
-            return Redirect::to('home');
-        }
-
-        $accessToken = $response->access_token;
-        $refreshToken = $response->refresh_token;
-        $expirationTime = time() + $response->expires_in - 300; //5 minutes safe margin
-
-        $userProfile = Keycloak::getUserProfileFromOAuthToken($accessToken);
-        Log::debug("userProfile", array($userProfile));
-        Session::put("iam-user-profile", $userProfile);
-        $username = $userProfile['username'];
-        $userRoles = $userProfile['roles'];
-        $userEmail = $userProfile['email'];
-        $firstName = $userProfile['firstname'];
-        $lastName = $userProfile['lastname'];
-
-        # As a workaround to figuring out if the user is logging in for the first
-        # time, if the user has no roles, assume they are logging in for the first
-        # time and add them to the initial role
-        if (!$this->hasAnyRoles($userRoles)){
-            IamAdminServicesUtilities::addInitialRoleToUser($username);
-            # Reload the roles
-            $userProfile = Keycloak::getUserProfileFromOAuthToken($accessToken);
-            $userRoles = $userProfile['roles'];
-            # Notify admin
-            $this->sendAccountCreationNotification2Admin($username);
-        }
-
-        $authzToken = new Airavata\Model\Security\AuthzToken();
-        $authzToken->accessToken = $accessToken;
-        $authzToken->claimsMap = array('userName'=>$username, 'gatewayID'=> Config::get('pga_config.airavata')['gateway-id']);
-        Session::put('authz-token',$authzToken);
-        Session::put('oauth-refresh-code',$refreshToken);
-        Session::put('oauth-expiration-time',$expirationTime);
-
-        Session::put("roles", $userRoles);
-        if (in_array(Config::get('pga_config.wsis')['admin-role-name'], $userRoles)) {
-            Session::put("admin", true);
-        }
-        if (in_array(Config::get('pga_config.wsis')['read-only-admin-role-name'], $userRoles)) {
-            Session::put("admin-read-only", true);
-        }
-        if (in_array(Config::get('pga_config.wsis')['user-role-name'], $userRoles)) {
-            Session::put("authorized-user", true);
-        }
-        //gateway-provider-code
-        if (in_array("gateway-provider", $userRoles)) {
-            Session::put("gateway-provider", true);
-        }
-        //only for super admin
-        if(  Config::get('pga_config.portal')['super-admin-portal'] == true && Session::has("admin")){
-            Session::put("super-admin", true);
-        }
-
-        CommonUtilities::store_id_in_session($username);
-        Session::put("gateway_id", Config::get('pga_config.airavata')['gateway-id']);
-
-        if(Session::has("admin") || Session::has("admin-read-only") || Session::has("authorized-user") || Session::has("gateway-provider")){
-            return $this->initializeWithAiravata($username, $userEmail, $firstName, $lastName, $accessToken, $refreshToken, $expirationTime);
-        }
-
-        return Redirect::to("account/dashboard" . "?status=less_privileged&code=".$accessToken . "&username=".$username
-            . "&refresh_code=" . $refreshToken . "&valid_time=" . $expirationTime);
-
-    }
-
-    private function hasAnyRoles($roles) {
-        return in_array("gateway-provider", $roles)
-            or in_array("user-pending", $roles)
-            or in_array(Config::get('pga_config.wsis')['admin-role-name'], $roles)
-            or in_array(Config::get('pga_config.wsis')['read-only-admin-role-name'], $roles)
-            or in_array(Config::get('pga_config.wsis')['user-role-name'], $roles)
-            or in_array(Config::get('pga_config.wsis')['initial-role-name'], $roles);
-    }
-    private function initializeWithAiravata($username, $userEmail, $firstName, $lastName, $accessToken, $refreshToken, $validTime){
-
-        // Log the user out if Airavata is down. If a new user we want to make
-        // sure we create the default project and setup experiment storage
-        // before they do anything else.
-        if (!CommonUtilities::isAiravataUp()) {
-            Session::flush();
-            return Redirect::to("home")->with("airavata-down", true);
-        }
-
-        // Create basic user profile if it doesn't exist
-        if (!UserProfileUtilities::does_user_profile_exist($username)) {
-            UserProfileUtilities::create_basic_user_profile($username, $userEmail, $firstName, $lastName);
-        }
-        $userProfile = UserProfileUtilities::get_user_profile($username);
-        Session::put('user-profile', $userProfile);
-
-        //creating a default project for user
-        $projects = ProjectUtilities::get_all_user_projects(Config::get('pga_config.airavata')['gateway-id'], $username);
-        if($projects == null || count($projects) == 0){
-            //creating a default project for user
-            ProjectUtilities::create_default_project($username);
-        }
-
-        $dirPath = Config::get('pga_config.airavata')['experiment-data-absolute-path'] . "/" . Session::get('username');
-        if(!file_exists($dirPath)){
-            $old_umask = umask(0);
-            mkdir($dirPath, 0777, true);
-            umask($old_umask);
-        }
-
-        // Must create the UserResourceProfile before we can add auto provisioned accounts to it
-        $user_resource_profile = URPUtilities::get_or_create_user_resource_profile();
-        $auto_provisioned_accounts = URPUtilities::setup_auto_provisioned_accounts();
-        // Log::debug("auto_provisioned_accounts", array($auto_provisioned_accounts));
-
-        if(Session::has("admin") || Session::has("admin-read-only") || Session::has("gateway-provider")){
-            $response = Redirect::to("admin/dashboard". "?status=ok&code=".$accessToken . "&username=".$username
-                . "&refresh_code=" . $refreshToken . "&valid_time=" . $validTime);
-            if (!empty($auto_provisioned_accounts)) {
-                $response = $response->with("auto_provisioned_accounts", $auto_provisioned_accounts);
-            }
-            return $response;
-        }else{
-            $response = Redirect::to("account/dashboard". "?status=ok&code=".$accessToken ."&username=".$username
-                . "&refresh_code=" . $refreshToken . "&valid_time=" . $validTime);
-            if (!empty($auto_provisioned_accounts)) {
-                $response = $response->with("auto_provisioned_accounts", $auto_provisioned_accounts);
-            }
-            return $response;
-        }
-    }
-
-    public function forgotPassword()
-    {
-//        $capatcha = WSIS::getCapatcha()->return;
-        return View::make("account/forgot-password");
-    }
-
-    public function forgotPasswordSubmit()
-    {
-        $username = strtolower(Input::get("username"));
-        if(empty($username)){
-            CommonUtilities::print_error_message("Please provide a valid username");
-            return View::make("account/forgot-password");
-        }else{
-            try{
-                $user_profile = Keycloak::getUserProfile($username);
-                EmailUtilities::sendPasswordResetEmail($username, $user_profile["firstname"], $user_profile["lastname"], $user_profile["email"]);
-                return Redirect::to("forgot-password")->with("forgot-password-success", "Password reset notification was sent to your email account");
-            }catch (Exception $ex){
-                Log::error($ex);
-                return Redirect::to("forgot-password")->with("forgot-password-error", "Password reset operation failed");
-            }
-        }
-    }
-
-    public function dashboard(){
-
-        // dashboard requires that the user is logged in, if not redirect to login
-        if (!CommonUtilities::id_in_session()) {
-            return Redirect::to("login");
-        }
-
-        $userRoles = Session::get("roles");
-        if (Session::has("user-profile")) {
-            $userEmail = Session::get("user-profile")->emails[0];
-        } else {
-            $userEmail = Session::get("iam-user-profile")["email"];
-        }
-
-        return View::make("account/dashboard");
-    }
-
-    public function resetPassword()
-    {
-        $code = Input::get("code", Input::old("code"));
-        $username = Input::get("username", Input::old("username"));
-        if(empty($username) || empty($code)){
-            return Redirect::to("forgot-password")->with("password-reset-error", "Reset password link failed. Please request to reset user password again.");
-        }else{
-            return View::make("account/reset-password", array("code" => $code, "username"=>$username, "password_regex_tooltip"=>self::PASSWORD_VALIDATION_MESSAGE));
-        }
-    }
-
-    public function confirmAccountCreation()
-    {
-        $code = Input::get("code");
-        $username = Input::get("username");
-        if(empty($username) || empty($code)){
-            return View::make("home");
-        }else{
-            try{
-                $enabled = IamAdminServicesUtilities::isUserEnabled($username);
-                if ($enabled) {
-                    return Redirect::to("login")->with("account-created-success", "Your account has already been successfully created. Please log in now.");
-                } else {
-                    $verified = EmailUtilities::verifyEmailVerification($username, $code);
-                    if (!$verified){
-                        $user_profile = Keycloak::getUserProfile($username);
-                        EmailUtilities::sendVerifyEmailAccount($username,
-                            $user_profile["firstname"], $user_profile["lastname"], $user_profile["email"]);
-                        CommonUtilities::print_error_message("Account confirmation "
-                            . "failed! We're sending another confirmation email. "
-                            . "Please click the link in the confirmation email that "
-                            . "you should be receiving soon.");
-                        return View::make("home");
-                    }
-                    $result = IamAdminServicesUtilities::enableUser($username);
-                    if($result){
-                        $this->sendAccountCreationNotification2Admin($username);
-                        return Redirect::to("login")->with("account-created-success", "Your account has been successfully created. Please log in now.");
-                    }else{
-                        CommonUtilities::print_error_message("Account confirmation failed! Please contact the Gateway Admin");
-                        return View::make("home");
-                    }
-                }
-            }catch (Exception $e){
-                CommonUtilities::print_error_message("Account confirmation failed! Please contact the Gateway Admin");
-                return View::make("home");
-            }
-        }
-    }
-
-    private function sendAccountCreationNotification2Admin($username){
-
-        $mail = new PHPMailer;
-
-        $mail->isSMTP();
-        // Note: setting SMTPDebug will cause output to be dumped into the
-        // response, so only enable for testing purposes
-        // $mail->SMTPDebug = 3;
-        $mail->Host = Config::get('pga_config.portal')['portal-smtp-server-host'];
-
-        $mail->SMTPAuth = true;
-
-        $mail->Username = Config::get('pga_config.portal')['portal-email-username'];
-        $mail->Password = Config::get('pga_config.portal')['portal-email-password'];
-
-        $mail->SMTPSecure = "tls";
-        $mail->Port = intval(Config::get('pga_config.portal')['portal-smtp-server-port']);
-
-        $mail->From = Config::get('pga_config.portal')['portal-email-username'];
-        $gatewayURL = $_SERVER['SERVER_NAME'];
-        $portalTitle = Config::get('pga_config.portal')['portal-title'];
-        $mail->FromName = "$portalTitle ($gatewayURL)";
-
-        $recipients = Config::get('pga_config.portal')['admin-emails'];
-        foreach($recipients as $recipient){
-            $mail->addAddress($recipient);
-        }
-
-        $mail->isHTML(true);
-
-        $mail->Subject = "New User Account Was Created Successfully";
-        $userProfile = Keycloak::getUserProfile($username);
-        $wsisConfig = Config::get('pga_config.wsis');
-        $tenant = $wsisConfig['tenant-domain'];
-
-        $str = "Gateway Portal: " . $_SERVER['SERVER_NAME'] ."<br/>";
-        $str = $str . "Tenant: " . $tenant . "<br/>";
-        $str = $str . "Username: " . $username ."<br/>";
-        $str = $str . "Name: " . $userProfile["firstname"] . " " . $userProfile["lastname"] . "<br/>";
-        $str = $str . "Email: " . $userProfile["email"];
-
-        $mail->Body = $str;
-        $mail->send();
-    }
-
-    public function resetPasswordSubmit()
-    {
-        $rules = array(
-            "new_password" => self::PASSWORD_VALIDATION,
-            "confirm_new_password" => "required|same:new_password",
-        );
-        $messages = array(
-            'new_password.regex' => self::PASSWORD_VALIDATION_MESSAGE,
-        );
-
-        $validator = Validator::make(Input::all(), $rules, $messages);
-        if ($validator->fails()) {
-            Log::debug("validation failed", array($validator->messages()));
-            return Redirect::to("reset-password")
-                ->withInput(Input::except('new_password', 'confirm_new_password'))
-                ->withErrors($validator);
-        }
-
-        $code =  $_POST['code'];
-        $username =  $_POST['username'];
-        $new_password =  $_POST['new_password'];
-
-        try{
-            $verified = EmailUtilities::verifyPasswordResetCode($username, $code);
-            if (!$verified){
-                return Redirect::to("forgot-password")->with("password-reset-error", "Resetting user password operation failed. Please request to reset user password again.");
-            }
-
-            $result = IamAdminServicesUtilities::resetUserPassword($username, $new_password);
-            if($result){
-                return Redirect::to("login")->with("password-reset-success", "User password was reset successfully");
-            }else{
-                Log::error("Failed to reset password for user $username");
-                return Redirect::to("reset-password")
-                    ->withInput(Input::except('new_password', 'confirm_new_password'))
-                    ->with("password-reset-error", "Resetting user password operation failed");
-            }
-        }catch (Exception $e){
-            Log::error("Failed to reset password for user $username");
-            Log::error($e);
-            return Redirect::to("reset-password")
-                ->withInput(Input::except('new_password', 'confirm_new_password'))
-                ->with("password-reset-error", "Resetting user password operation failed");
-        }
-    }
-
-    public function getRefreshedTokenForDesktop(){
-        $refreshToken = Input::get('refresh_code');
-        $response = Keycloak::getRefreshedOAuthToken($refreshToken);
-        if(isset($response->access_token)){
-            $accessToken = $response->access_token;
-            $refreshToken = $response->refresh_token;
-            $expirationTime = $response->expires_in; // 5 minutes safe margin
-            echo json_encode(array('status'=>'ok', 'code'=>$accessToken, 'refresh_code'=>$refreshToken, 'valid_time'=>$expirationTime));
-        }else{
-            echo json_encode(array('status'=>'failed'));
-        }
-    }
-
-    public function logout()
-    {
-       Session::flush();
-       return Redirect::away(Keycloak::getOAuthLogoutUrl(URL::to("/")));
-    }
-
-    public function allocationRequestView(){
-        return View::make("account/request-allocation");
-    }
-
-    public function allocationRequestSubmit(){
-        return 'result';
-    }
-
-    public function noticeSeenAck(){
-        Session::put( "notice-count", Input::get("notice-count"));
-        Session::put("notice-seen", true);
-    }
-}
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/AdminController.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/AdminController.php
deleted file mode 100755
index e05d2cee60..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/AdminController.php
+++ /dev/null
@@ -1,644 +0,0 @@
-<?php
-
-class AdminController extends BaseController {
-
-	public function __construct()
-	{
-		$this->beforeFilter('verifyadmin');
-		Session::put("nav-active", "user-console");
-	}
-
-	public function dashboard(){
-        $userInfo = array();
-        $data = array();
-        $userRoles = Session::get("roles");
-        $username = Session::get("username");
-        if (Session::has("user-profile")) {
-            $userEmail = Session::get("user-profile")->emails[0];
-        } else {
-            $userEmail = Session::get("iam-user-profile")["email"];
-        }
-        Session::forget("new-gateway-provider");
-
-        //check for gateway provider users
-        if( in_array( "gateway-provider", $userRoles) ) {
-            $gatewayOfUser = "";
-            Session::put("super-admin", true);
-            $gatewaysInfo = AdminUtilities::get_gateways_for_requester( $username );
-            Log::info("Gateways: ", $gatewaysInfo);
-            Log::info("Username: ", [Session::get("username")]);
-            //var_dump( $gatewaysInfo); exit;
-            $requestedGateways = array();
-            $gatewayApprovalStatuses = AdminUtilities::get_gateway_approval_statuses();
-
-            foreach ($gatewaysInfo as $index => $gateway) {
-                $gatewayOfUser = $gateway->gatewayId;
-                Session::forget("super-admin");
-                Session::put("new-gateway-provider", true);
-                Session::put("existing-gateway-provider", true);
-
-                $requestedGateways[ $gateway->airavataInternalGatewayId]["gatewayInfo"] = $gateway;
-                $requestedGateways[ $gateway->airavataInternalGatewayId]["approvalStatus"] = $gatewayApprovalStatuses[ $gateway->gatewayApprovalStatus];
-                //seeing if admin wants to start managing one of the gateways
-                if( Input::has("gatewayId")){
-                    if( Input::get("gatewayId") == $gateway->gatewayId)
-                    {
-                        Session::put("gateway_id", $gateway->gatewayId);
-                    }
-                }
-            }
-            $data["requestedGateways"] = $requestedGateways;
-            $data["gatewayApprovalStatuses"] = $gatewayApprovalStatuses;
-            //to make it accessible to navbar
-            Session::put("requestedGateways", $requestedGateways);
-
-            if ($gatewayOfUser == "") {
-                $userInfo["username"] = $username;
-                $userInfo["email"] = $userEmail;
-    			$data["userInfo"] = $userInfo;
-    			$data["gatewaysInfo"] = $gatewaysInfo;
-                Session::put("new-gateway-provider", true);
-            }
-        }
-
-		return View::make("account/dashboard", $data);
-	}
-
-	public function addAdminSubmit(){
-		WSIS::update_user_roles( Input::get("username"), array( "new"=>array("admin"), "deleted"=>array() ) );
-
-   		return View::make("account/admin-dashboard")->with("message", "User has been added to Admin.");
-	}
-
-	public function usersView(){
-		if( Input::has("role"))
-		{
-			Session::flash("warning-message", "Please note: the following list "
-			. "may not be complete. Only the most recent 100 users have been "
-			. "searched for role " . htmlspecialchars(Input::get("role")) . ".");
-			$users = IamAdminServicesUtilities::getUsersWithRole(Input::get("role"));
-		}
-		else
-			$users =  Keycloak::listUsers();
-
-		$roles = Keycloak::getAllRoles();
-		sort($roles);
-		Session::put("admin-nav", "manage-users");
-		return View::make("admin/manage-users", array("users" => $users, "roles" => $roles));
-	}
-
-	public function getUserCountInRole(){
-			$users = IamAdminServicesUtilities::getUsersWithRole(Input::get("role"));
-			return count( $users);
-	}
-
-	public function searchUsersView(){
-		if(Input::has("search_val"))
-		{
-			$users =  Keycloak::searchUsers(Input::get("search_val"));
-		}
-		else
-			$users = Keycloak::listUsers();
-
-		if(!isset($users) || empty($users)){
-			$users = array();
-		}
-		$roles = Keycloak::getAllRoles();
-		sort($roles);
-		Session::put("admin-nav", "manage-users");
-		return View::make("admin/manage-users", array("users" => $users, "roles" => $roles));
-	}
-
-	private function cmp($a, $b)
-	{
-		return strcmp($b->requestCreationTime, $a->requestCreationTime);
-	}
-
-    public function gatewayView(){
-    	//only for super admin
-		//Session::put("super-admin", true);
-		
-		$gatewaysInfo = CRUtilities::getAllGatewayProfilesData();
-		$gateways = $gatewaysInfo["gateways"];
-		usort($gateways, array($this, "cmp"));
-		$tokens = AdminUtilities::get_all_ssh_tokens_with_description();
-		$pwdTokens = AdminUtilities::get_all_pwd_tokens();
-		$srData = SRUtilities::getEditSRData();
-		$crData = CRUtilities::getEditCRData();
-
-		$unselectedCRs = array();
-		$unselectedSRs = array();
-
-		foreach( (array)$gatewaysInfo["allCRs"] as $crId => $cr){
-			if( ! in_array($cr->computeResourceId, $gatewaysInfo["selectedCRs"]) )
-			$unselectedCRs[] = $cr;
-		}
-
-		foreach( (array)$gatewaysInfo["allSRs"] as $index => $sr){
-			if( ! in_array($sr->storageResourceId, $gatewaysInfo["selectedSRs"]) )
-			$unselectedSRs[] = $sr;
-		}
-
-		//$dsData = CRUtilities::getAllDataStoragePreferences( $gateways);
-		$gatewayData = array( 
-								"gateways" => $gateways, 
-								"computeResources" => $gatewaysInfo["allCRs"],
-								"crData" => $crData,
-								"storageResources" => $gatewaysInfo["allSRs"],
-								"srData" => $srData,
-								"tokens" => $tokens,
-								"pwdTokens" => $pwdTokens,
-								"unselectedCRs" => $unselectedCRs,
-								"unselectedSRs" => $unselectedSRs,
-								"gatewayApprovalStatuses" => AdminUtilities::get_gateway_approval_statuses()
-							);
-		$view = "admin/manage-gateway";
-
-        Session::put("admin-nav", "gateway-prefs");
-		return View::make( $view, $gatewayData);
-    }
-
-	public function addGatewayAdminSubmit(){
-		//check if username exists
-		if(Keycloak::usernameExists( Input::get("username")) )
-		{
-            Keycloak::updateUserRoles(Input::get("username"), array( "new"=>array( Config::get('wsis::admin-role-name')), "deleted"=>array() ) );
-			return Redirect::to("admin/dashboard/users?role=" . Config::get('wsis::admin-role-name'))->with("Gateway Admin has been added.");
-		}
-		else
-		{
-			echo ("username doesn't exist."); exit;
-		}
-	}
-
-	public function updateGateway(){
-
-        $rules = array(
-            "password" => "min:6|max:48|regex:/^.*(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[@!$#*&]).*$/",
-            "confirm_password" => "same:password",
-            "email" => "email",
-        );
-        $messages = array(
-            'password.regex' => 'Password needs to contain at least (a) One lower case letter (b) One Upper case letter and (c) One number (d) One of the following special characters - !@#$&*',
-        );
-        $checkValidation = array();
-        $checkValidation["password"] = Input::get("gatewayAdminPassword");
-        $checkValidation["confirm_password"] = Input::get("gatewayAdminPasswordConfirm");
-        $checkValidation["email"] = Input::get("gatewayAdminEmail");
-
-        $validator = Validator::make( $checkValidation, $rules, $messages);
-        if ($validator->fails()) {
-            if(Request::ajax()){
-                return json_encode(array("errors" => true, "validationMessages" => $validator->messages()));
-            } else {
-                Session::put("message", "An error has occurred while updating the Gateway: " + $validator->messages());
-                return Redirect::back();
-            }
-        }
-
-	    $gateway = TenantProfileService::getGateway( Session::get('authz-token'), Input::get("internal_gateway_id"));
-		$returnVal = AdminUtilities::update_gateway( Input::get("internal_gateway_id"), Input::except("oauthClientId","oauthClientSecret"));
-		if( Request::ajax()){
-			if( $returnVal == 1) {
-                $email = Config::get('pga_config.portal')['admin-emails'];
-                EmailUtilities::gatewayUpdateMailToProvider($gateway->emailAddress, Input::get("gateway_id"));
-                EmailUtilities::gatewayUpdateMailToAdmin($email, Input::get("gateway_id"));
-                if (isset($gatewayData["createTenant"]))
-                    Session::put("successMessages", "Tenant has been created successfully!");
-                else
-                    Session::put("successMessages", "Gateway has been updated successfully!");
-                return json_encode(array("errors" => false, "gateway" => AdminUtilities::get_gateway(Input::get("internal_gateway_id"))));
-            }
-			else {
-                return json_encode(array("errors" => true)); // anything other than positive update result
-            }
-		}
-		else{
-			if( $returnVal) {
-                $email = Config::get('pga_config.portal')['admin-emails'];
-                EmailUtilities::gatewayUpdateMailToProvider($gateway->emailAddress, Input::get("gateway_id"));
-                EmailUtilities::gatewayUpdateMailToAdmin($email, Input::get("gateway_id"));
-                Session::put("message", "Gateway has been updated successfully!");
-            }
-			else {
-                Session::put("message", "An error has occurred while updating your Gateway. Please make sure you've entered all the details correctly. Try again or contact the Admin to report the issue.");
-            }
-
-			return Redirect::back();
-
-		}
-		//return 1;
-	}
-
-	public function rolesView(){
-		$roles = Keycloak::getAllRoles();
-		sort($roles);
-		Session::put("admin-nav", "manage-roles");
-		return View::make("admin/manage-roles", array("roles" => $roles));
-	}
-
-	public function experimentsView(){
-        Session::put("admin-nav", "exp-statistics");
-
-        $applications = AppUtilities::get_all_applications();
-        uksort($applications, 'strcasecmp');
-        $hostnames = CRUtilities::getAllCRObjects(true);
-        uksort($hostnames, 'strcasecmp');
-        return View::make("admin/manage-experiments", array("applications" => $applications, "hostnames" => $hostnames));
-	}
-
-	public function resourcesView(){
-		$data = CRUtilities::getBrowseCRData(false);
-		$allCRs = $data["crObjects"];
-		return View::make("admin/manage-resources", array("resources" => $allCRs) );
-	}
-
-	public function addRole(){
-		WSIS::addRole( Input::get("role") );
-		return Redirect::to("admin/dashboard/roles")->with( "message", "Role has been added.");
-	}
-
-    public function addRolesToUser(){
-        $currentRoles = Keycloak::getUserRoles(Input::get("username"));
-		if(!is_array($currentRoles))
-			$currentRoles = array($currentRoles);
-        $roles["new"] = array_diff(Input::all()["roles"], $currentRoles);
-        $roles["deleted"] = array_diff($currentRoles, Input::all()["roles"]);
-
-        $index = array_search('Internal/everyone',$roles["new"]);
-        if($index !== FALSE){
-            unset($roles["new"][$index]);
-        }
-
-        $index = array_search('Internal/everyone',$roles["deleted"]);
-        if($index !== FALSE){
-            unset($roles["deleted"][$index]);
-        }
-
-        $username = Input::all()["username"];
-        Keycloak::updateUserRoles($username, $roles);
-        $newCurrentRoles = Keycloak::getUserRoles($username);
-        if(in_array(Config::get("pga_config.wsis")["admin-role-name"], $newCurrentRoles) || in_array(Config::get("pga_config.wsis")["read-only-admin-role-name"], $newCurrentRoles)
-                || in_array(Config::get("pga_config.wsis")["user-role-name"], $newCurrentRoles)){
-            $userProfile = Keycloak::getUserProfile($username);
-            $recipients = array($userProfile["email"]);
-            $this->sendAccessGrantedEmailToTheUser(Input::get("username"), $recipients);
-
-            // remove the initial role when the initial role isn't a privileged
-            // role and the admin has now assigned the user to a privileged
-            // role, unless the admin is trying to add the user back to the
-            // initial role
-            if (!$this->isInitialRoleOneOfPrivilegedRoles()) {
-
-                $initialRoleName = CommonUtilities::getInitialRoleName();
-                if(in_array($initialRoleName, $newCurrentRoles) && !in_array($initialRoleName, $roles["new"])) {
-                    $userRoles["new"] = array();
-                    $userRoles["deleted"] = $initialRoleName;
-                    Keycloak::updateUserRoles( $username, $userRoles);
-                } else if(in_array($initialRoleName, $newCurrentRoles) && in_array($initialRoleName, $roles["new"])) {
-                    // When initial role added remove all roles except for initial role and Internal/everyone
-                    $userRoles["new"] = array();
-                    $userRoles["deleted"] = array_diff($newCurrentRoles, array($initialRoleName, "Internal/everyone"));
-                    Keycloak::updateUserRoles( $username, $userRoles);
-                }
-            }
-        }
-        return Redirect::to("admin/dashboard/roles")->with( "message", "Roles has been added.");
-    }
-
-    /*
-     * Return true if the initial-role-name is one of the four privileged
-     * roles. This is used to figure out whether the initial-role-name is a
-     * 'user-pending' kind of role (returns false), or whether the initial role
-     * is a privileged role (returns true) and no admin intervention is
-     * necessary.
-     */
-    private function isInitialRoleOneOfPrivilegedRoles() {
-
-        $initialRoleName = CommonUtilities::getInitialRoleName();
-        $adminRoleName = Config::get("pga_config.wsis")["admin-role-name"];
-        $adminReadOnlyRoleName = Config::get("pga_config.wsis")["read-only-admin-role-name"];
-        $userRoleName = Config::get("pga_config.wsis")["user-role-name"];
-        $gatewayProviderRoleName = "gateway-provider";
-        return in_array($initialRoleName, array($adminRoleName, $adminReadOnlyRoleName, $userRoleName, $gatewayProviderRoleName));
-    }
-
-    public function removeRoleFromUser(){
-        $roles["deleted"] = array(Input::all()["roleName"]);
-        $roles["new"] = array();
-        $username = Input::all()["username"];
-        Keycloak::updateUserRoles($username, $roles);
-        return Redirect::to("admin/dashboard/roles")->with( "message", "Role has been deleted.");
-    }
-
-	public function getRoles(){
-		$roles = Keycloak::getUserRoles(Input::get("username"));
-		sort($roles);
-		return json_encode((array)$roles);
-	}
-
-	public function deleteRole(){
-		WSIS::deleteRole( Input::get("role") );
-		return Redirect::to("admin/dashboard/roles")->with( "message", "Role has been deleted.");
-
-	}
-
-	public function credentialStoreView(){
-        Session::put("admin-nav", "credential-store");
-        $tokens = AdminUtilities::get_all_ssh_tokens_with_description();
-		$pwdTokens = AdminUtilities::get_all_pwd_tokens();
-        //var_dump( $tokens); exit;
-		return View::make("admin/manage-credentials", array("tokens" => $tokens , "pwdTokens" => $pwdTokens) );
-	}
-
-	private function sendAccessGrantedEmailToTheUser($username, $recipients){
-
-		$mail = new PHPMailer;
-
-		$mail->isSMTP();
-		$mail->SMTPDebug = 3;
-		$mail->Host = Config::get('pga_config.portal')['portal-smtp-server-host'];
-
-		$mail->SMTPAuth = true;
-
-		$mail->Username = Config::get('pga_config.portal')['portal-email-username'];
-		$mail->Password = Config::get('pga_config.portal')['portal-email-password'];
-
-		$mail->SMTPSecure = "tls";
-		$mail->Port = intval(Config::get('pga_config.portal')['portal-smtp-server-port']);
-
-		$mail->From = Config::get('pga_config.portal')['portal-email-username'];
-        $gatewayURL = $_SERVER['SERVER_NAME'];
-        $portalTitle = Config::get('pga_config.portal')['portal-title'];
-        $mail->FromName = "$portalTitle ($gatewayURL)";
-
-		foreach($recipients as $recipient){
-			$mail->addAddress($recipient);
-		}
-
-		$mail->isHTML(true);
-
-		$mail->Subject = "Your user account (".$username.") privileges changed!";
-		$userProfile = Keycloak::getUserProfile($username);
-		$wsisConfig = Config::get('pga_config.wsis');
-		$tenant = $wsisConfig['tenant-domain'];
-
-		$str = "Please re-login into the portal to use new privileges" ."<br/><br/>";
-		$str = $str . "Gateway Portal: " . $_SERVER['SERVER_NAME'] ."<br/>";
-		$str = $str . "Tenant: " . $tenant . "<br/>";
-		$str = $str . "Username: " . $username ."<br/>";
-		$str = $str . "Name: " . $userProfile["firstname"] . " " . $userProfile["lastname"] . "<br/>";
-		$str = $str . "Email: " . $userProfile["email"] ;
-
-		$mail->Body = $str;
-		$mail->send();
-	}
-
-    public function experimentStatistics()
-    {
-        if (Request::ajax()) {
-            $inputs = Input::all();
-            $username = Input::get('username');
-            $appname = Input::get('appname');
-            $hostname = Input::get('hostname');
-            $expStatistics = AdminUtilities::get_experiment_execution_statistics(strtotime($inputs['fromTime']) * 1000
-                , strtotime($inputs['toTime']) * 1000, $username, $appname, $hostname);
-            return View::make("admin/experiment-statistics", array("expStatistics" => $expStatistics,
-                      "username" => $username, "appname" => $appname, "hostname" => $hostname));
-        }
-    }
-
-    public function getExperimentsOfTimeRange()
-    {
-        if (Request::ajax()) {
-            $inputs = Input::all();
-            $expContainer = AdminUtilities::get_experiments_of_time_range($inputs);
-            $expStates = ExperimentUtilities::getExpStates();
-            return View::make("partials/experiment-container", 
-            	array(	"expContainer" => $expContainer,
-                		"expStates" => $expStates,
-                		"dashboard" => true
-                	));
-        }
-    }
-
-	public function createSSH(){
-        $description = Input::get("description");
-        $newToken = AdminUtilities::create_ssh_token_for_gateway($description);
-        return Redirect::to("admin/dashboard/credential-store")->with("message", "SSH Key was successfully created");
-	}
-
-	public function createPWD(){
-		AdminUtilities::create_pwd_token(Input::all());
-		return Redirect::to("admin/dashboard/credential-store")->with("message", "Password Credential was successfully created");
-
-	}
-
-	public function removeSSH(){
-		$removeToken = Input::get("token");
-		if( AdminUtilities::remove_ssh_token( $removeToken) )
-            return Redirect::to("admin/dashboard/credential-store")->with("message", "SSH Key was successfully deleted");
-		else
-            return Redirect::to("admin/dashboard/credential-store")->with("error-message", "Unable to delete SSH Key");
-
-	}
-
-	public function removePWD(){
-		$removeToken = Input::get("token");
-		if( AdminUtilities::remove_pwd_token( $removeToken) )
-			return Redirect::to("admin/dashboard/credential-store")->with("message", "Password Credential was successfully deleted");
-		else
-			return Redirect::to("admin/dashboard/credential-store")->with("error-message", "Unable to delete Password Credential"); 
-
-	}
-
-
-	/* ---- Super Admin Functions ------- */
-
-    public function createGateway(){
-
-        return View::make("admin/create-gateway");
-
-    }
-
-	public function addGateway(){
-		$inputs = Input::all();
-
-		$rules = array(
-            "password" => "required|min:6|max:48|regex:/^.*(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[@!$#*&]).*$/",
-            "confirm_password" => "required|same:password",
-            "email" => "required|email",
-        );
-
-        $messages = array(
-            'password.regex' => 'Password needs to contain at least (a) One lower case letter (b) One Upper case letter and (c) One number (d) One of the following special characters - !@#$&*',
-        );
-
-        $checkValidation = array();
-        $checkValidation["password"] = $inputs["admin-password"];
-        $checkValidation["confirm_password"] = $inputs["admin-password-confirm"];
-        $checkValidation["email"] = $inputs["admin-email"];
-
-        $validator = Validator::make( $checkValidation, $rules, $messages);
-        if ($validator->fails()) {
-            Session::put("validationMessages", [$validator->messages()] );
-            return Redirect::back()
-                ->withErrors($validator);
-        }
-        else{
-            $username = Session::get("username");
-            $returnVal = AdminUtilities::add_gateway(Input::all());
-
-            if ($returnVal == 1){
-                $email = Config::get('pga_config.portal')['admin-emails'];
-                $user_profile = Keycloak::getUserProfile($username);
-                EmailUtilities::gatewayRequestMail($user_profile["firstname"], $user_profile["lastname"], $email, Input::get("gateway-name"));
-                Session::put("message", "Gateway " . $inputs["gateway-name"] . " has been added.");
-            }
-            else{
-                Session::put("errorMessages", "Error: A Gateway already exists with the same GatewayId, Name or URL! Please make a new request.");
-            }
-
-			return Redirect::back();
-		}
-	}
-
-	public function checkRequest(){
-	    $inputs = Input::all();
-
-        $rules = array(
-            "email" => "required|email",
-        );
-
-        $messages = array(
-            'email.format' => 'Please enter a valid Email ID',
-        );
-
-        $checkValidation = array();
-        $checkValidation["email"] = $inputs["email-address"];
-
-        $validator = Validator::make( $checkValidation, $rules, $messages);
-        if ($validator->fails()) {
-            Session::put("validationMessages", [$validator->messages()] );
-            return Redirect::to("admin/dashboard")
-                ->withInput()
-                ->withErrors($validator);
-        }
-        else{
-            $username = Session::get("username");
-            $returnVal = AdminUtilities::check_request(Input::all());
-
-            if ($returnVal == 1) {
-                $email = Config::get('pga_config.portal')['admin-emails'];
-                $user_profile = Keycloak::getUserProfile($username);
-                EmailUtilities::gatewayRequestMail($user_profile["firstname"], $user_profile["lastname"], $email, $inputs["gateway-name"]);
-                Session::put("message", "Your Gateway request for " . $inputs["gateway-name"] . " has been created. Your new Gateway request is yet to be approved. You will be notified of the approval status via email notification.");
-            }
-            else{
-                $error = "A Gateway already exists with the same GatewayId, Name or URL! Please make a new request.";
-                return Redirect::to("admin/dashboard")
-                    ->withInput()
-                    ->withErrors($error);
-            }
-            return Redirect::to("admin/dashboard");
-        }
-    }
-
-	public function requestGateway(){
-		$inputs = Input::all();
-		
-		$rules = array(
-            "username" => "required",
-            "password" => "required|min:6|max:48|regex:/^.*(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[@!$#*&]).*$/",
-            "confirm_password" => "required|same:password",
-            "email" => "required|email",
-        );
-
-        $messages = array(
-            'password.regex' => 'Password needs to contain at least (a) One lower case letter (b) One Upper case letter and (c) One number (d) One of the following special characters - !@#$&*',
-        );
-
-        $checkValidation = array();
-        $checkValidation["username"] = $inputs["admin-username"];
-        $checkValidation["password"] = $inputs["admin-password"];
-        $checkValidation["confirm_password"] = $inputs["admin-password-confirm"];
-        $checkValidation["email"] = $inputs["email-address"];
-
-        $validator = Validator::make( $checkValidation, $rules, $messages);
-        if ($validator->fails()) {
-            Session::put("validationMessages", $validator->messages() );
-            return Redirect::to("admin/dashboard")
-            	->withInput(Input::except('password', 'password_confirm'))
-            	->withErrors($validator);
-        }
-        else{
-	        $gateway = AdminUtilities::request_gateway(Input::all());
-			Session::put("message", "Your request for Gateway " . $inputs["gateway-name"] . " has been created.");
-			
-            return Redirect::to("admin/dashboard");
-		}
-	}
-
-    public function enableComputeResource(){
-        $resourceId = Input::get("resourceId");
-        $computeResource = CRUtilities::get_compute_resource($resourceId);
-        $computeResource->enabled = true;
-        CRUtilities::register_or_update_compute_resource($computeResource, true);
-    }
-
-    public function disableComputeResource(){
-        $resourceId = Input::get("resourceId");
-        $computeResource = CRUtilities::get_compute_resource($resourceId);
-        $computeResource->enabled = false;
-        CRUtilities::register_or_update_compute_resource($computeResource, true);
-    }
-
-    public function enableStorageResource(){
-        $resourceId = Input::get("resourceId");
-        $storageResource = SRUtilities::get_storage_resource($resourceId);
-        $storageResource->enabled = true;
-        SRUtilities::register_or_update_storage_resource($storageResource, true);
-    }
-
-    public function disableStorageResource(){
-        $resourceId = Input::get("resourceId");
-        $storageResource = SRUtilities::get_storage_resource($resourceId);
-        $storageResource->enabled = false;
-        SRUtilities::register_or_update_storage_resource($storageResource, true);
-    }
-
-    public function viewAllocationRequests(){
-    	return 'result';
-    }
-
-	public function noticesView(){
-        Session::put("admin-nav", "notices");
-        $notices = array();
-        $noticePriorities = CommonUtilities::get_notice_priorities();
-        $notices = CommonUtilities::get_all_notices();
-		return View::make("admin/manage-notices", array("notices" => $notices, "priorities" => $noticePriorities));
-	}
-
-	public function addNotice(){
-		$inputs = Input::all();
-		$newNotice = AdminUtilities::add_or_update_notice( $inputs);
-			return json_encode( $newNotice);
-	}
-
-	public function updateNotice(){
-		$inputs = Input::all();
-		return AdminUtilities::add_or_update_notice( $inputs, true);
-	}
-
-	public function deleteNotice(){
-		$inputs = Input::all();
-		if( AdminUtilities::delete_notice( $inputs["notificationId"]))
-		{
-			//ajax
-			return 1;
-		}
-		else
-			return 0;
-	}
-
-}
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/ApplicationController.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/ApplicationController.php
deleted file mode 100755
index 7b33de037d..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/ApplicationController.php
+++ /dev/null
@@ -1,175 +0,0 @@
-<?php
-
-class ApplicationController extends BaseController {
-
-	public function __construct()
-	{
-		$this->beforeFilter('verifyadmin');
-		Session::put("nav-active", "app-catalog");
-	}
-
-	public function showAppModuleView()
-	{
-		$data = array();
-		$data["modules"] = AppUtilities::getAllModules();
-        Session::put("admin-nav", "app-module");
-		return View::make('application/module', $data);
-	}
-
-	public function modifyAppModuleSubmit()
-	{
-        $this->beforeFilter('verifyeditadmin');
-		$update = false;
-		if( Input::has("appModuleId") )
-			$update = true;
-			
-		if( AppUtilities::create_or_update_appModule( Input::all(), $update ) )
-		{
-			if( $update)
-				$message = "Module has been updated successfully!";
-			else
-				$message = "Module has been created successfully!";
-		}
-		else
-			$message = "An error has occurred. Please report the issue.";
-
-
-		return Redirect::to("app/module")->with("message", $message);
-	}
-
-	public function deleteAppModule()
-	{
-        
-        $this->beforeFilter('verifyeditadmin');
-        $data = AppUtilities::getAppInterfaceData();
-        $connections = AppUtilities::checkAppModuleConnections( Input::get("appModuleId"));
-        if( count( $connections["appInterfaces"]) > 0 || count( $connections["appDeployments"]) > 0)
-        {	
-        	$message = "App Module you are trying to delete is connected to - <br/>";
-        	foreach( $connections["appInterfaces"] as $index => $interface)
-        	{
-        		$message .= "Interface " . ($index + 1) . " : " . $interface . "<br/>";
-        	}
-        	foreach( $connections["appDeployments"] as $index => $deployment)
-        	{
-        		$message .= "Deployment " . ($index + 1) . " : " . $deployment . "<br/>";
-        	}
-        	$message .= "<br/>Please disconnect it from all the above interfaces and deployments to be able to delete it.";
-        	return Redirect::to("app/module")->with("errorMessage", $message);
-        }
-        else{
-			if( AppUtilities::deleteAppModule( Input::get("appModuleId") ) )
-				$message = "Module has been deleted successfully!";
-			else
-				$message = "An error has occurred. Please report the issue.";
-		}
-
-		return Redirect::to("app/module")->with("message", $message);
-	}
-
-	public function showAppInterfaceView()
-	{
-		$data = AppUtilities::getAppInterfaceData();
-        Session::put("admin-nav", "app-interface");
-		return View::make("application/interface", $data);
-	}
-
-	public function createAppInterfaceSubmit()
-	{
-        $this->beforeFilter('verifyeditadmin');
-		$appInterfaceValues = Input::all();
-		//var_dump( $appInterfaceValues); exit;
-		AppUtilities::create_or_update_appInterface( $appInterfaceValues);
-
-		return Redirect::to( "app/interface")->with("message","Application Interface <strong>" . $appInterfaceValues["applicationName"] . "</strong> has been created.");
-	}
-
-	public function cloneAppInterfaceSubmit()
-	{
-        $this->beforeFilter('verifyeditadmin');
-		$appInterfaceValues = Input::all();
-
-		AppUtilities::clone_appInterface( $appInterfaceValues);
-
-		return Redirect::to( "app/interface")->with("message","Clone Application Interface <strong>" . $appInterfaceValues["applicationName"] . "</strong> has been created.");
-	}
-
-	public function editAppInterfaceSubmit()
-	{
-        $this->beforeFilter('verifyeditadmin');
-		if( Input::has("app-interface-id"))
-		{
-			$update = true;
-			$appInterfaceValues = Input::all();
-			//var_dump( $appInterfaceValues); exit;
-			AppUtilities::create_or_update_appInterface( $appInterfaceValues, $update);
-			$message = "Application Interface has been updated!";
-		}
-		else
-		{
-			$message = "An error has occurred. Please report the issue.";
-		}
-		return Redirect::to( "app/interface")->with("message", $message);
-
-	}
-
-	public function deleteAppInterface()
-	{
-        $this->beforeFilter('verifyeditadmin');
-		if( AppUtilities::deleteAppInterface( Input::get("appInterfaceId") ) )
-			$message = "Interface has been deleted successfully!";
-		else
-			$message = "An error has occurred. Please report the issue.";
-
-		return Redirect::to("app/interface")->with("message", $message);
-
-	}
-
-	public function showAppDeploymentView()
-	{
-		$data = AppUtilities::getAppDeploymentData();
-		//var_dump( $data); exit;
-        Session::put("admin-nav", "app-deployment");
-		return View::make("application/deployment", $data);
-	}
-
-	public function createAppDeploymentSubmit()
-	{
-        $this->beforeFilter('verifyeditadmin');
-		$appDeploymentValues = Input::all();
-		AppUtilities::create_or_update_appDeployment( $appDeploymentValues );
-		return Redirect::to("app/deployment")->with("message", "App Deployment was created successfully!");
-	}
-
-	public function editAppDeploymentSubmit()
-	{
-        $this->beforeFilter('verifyeditadmin');
-		if( Input::has("app-deployment-id"))
-		{
-			$update = true;
-			$appDeploymentValues = Input::all();
-			AppUtilities::create_or_update_appDeployment( $appDeploymentValues, $update);
-			$message = "Application Deployment has been updated!";
-		}
-		else
-		{
-			$message = "An error has occurred. Please report the issue.";
-		}
-		return Redirect::to( "app/deployment")->with("message", $message);
-	}
-
-	public function deleteAppDeployment()
-	{
-        $this->beforeFilter('verifyeditadmin');
-		if( AppUtilities::deleteAppDeployment( Input::get("appDeploymentId") ) )
-			$message = "Deployment has been deleted successfully!";
-		else
-			$message = "An error has occurred. Please report the issue.";
-
-		return Redirect::to("app/deployment")->with("message", $message);
-
-	}
-
-}
-
-?>
\ No newline at end of file
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/BaseController.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/BaseController.php
deleted file mode 100755
index 66c365826e..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/BaseController.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-class BaseController extends Controller {
-
-	/**
-	 * Setup the layout used by the controller.
-	 *
-	 * @return void
-	 */
-	protected function setupLayout()
-	{
-		//Theme gets set baesd on the one chosen in pga_config. default is basic.
-		$themeName = Config::get('pga_config.portal')['theme'];
-		$portalTitle = Config::get('pga_config.portal')['portal-title'];
-		//$theme = Theme::uses( $themeName);
-		Session::put( "theme", $themeName);
-		Session::put( "portal-title", $portalTitle);
-
-		
-		if ( ! is_null($this->layout))
-		{
-			$this->layout = View::make($this->layout);
-		}
-	}
-
-}
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/ComputeResourceController.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/ComputeResourceController.php
deleted file mode 100755
index 6ecf79c55b..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/ComputeResourceController.php
+++ /dev/null
@@ -1,303 +0,0 @@
-<?php
-
-class ComputeResourceController extends BaseController
-{
-
-    /**
-     *    Instantiate a new Compute Resource Controller Instance
-     **/
-
-    public function __construct()
-    {
-        $this->beforeFilter('verifyadmin');
-        Session::put("nav-active", "compute-resource");
-
-    }
-
-    public function createView()
-    {
-        $this->beforeFilter('verifyeditadmin');
-        Session::put("admin-nav", "cr-create");
-        return View::make("resource/create");
-    }
-
-    public function createSubmit()
-    {
-        $this->beforeFilter('verifyeditadmin');
-        $hostAliases = Input::get("hostaliases");
-        $ips = Input::get("ips");
-        //Compute resource is by default enabled
-        $computeDescription = array(
-            "hostName" => trim(Input::get("hostname")),
-            "hostAliases" => array_unique(array_filter($hostAliases)),
-            "ipAddresses" => array_unique(array_filter($ips)),
-            "resourceDescription" => Input::get("description"),
-            "enabled" => true
-        );
-        $computeResource = CRUtilities::register_or_update_compute_resource($computeDescription);
-
-        return Redirect::to("cr/edit?crId=" . $computeResource->computeResourceId);
-    }
-
-    public function editView()
-    {
-        $this->beforeFilter('verifyeditadmin');
-        $data = CRUtilities::getEditCRData();
-        $computeResourceId = "";
-        if (Input::has("crId"))
-            $computeResourceId = Input::get("crId");
-        else if (Session::has("computeResource")) {
-            $computeResource = Session::get("computeResource");
-            $computeResourceId = $computeResource->computeResourceId;
-        }
-
-        if ($computeResourceId != "") {
-            $computeResource = CRUtilities::get_compute_resource($computeResourceId);
-            $jobSubmissionInterfaces = array();
-            $dataMovementInterfaces = array();
-            $addedJSP = array();
-            $addedDMI = array();
-            //var_dump( $computeResource->jobSubmissionInterfaces); exit;
-            if (count($computeResource->jobSubmissionInterfaces)) {
-                foreach ($computeResource->jobSubmissionInterfaces as $JSI) {
-                    $jobSubmissionInterfaces[] = CRUtilities::getJobSubmissionDetails($JSI->jobSubmissionInterfaceId, $JSI->jobSubmissionProtocol);
-                    $addedJSP[] = $JSI->jobSubmissionProtocol;
-                }
-            }
-            //var_dump( CRUtilities::getJobSubmissionDetails( $data["computeResource"]->jobSubmissionInterfaces[0]->jobSubmissionInterfaceId, 1) ); exit;
-            if (count($computeResource->dataMovementInterfaces)) {
-                foreach ($computeResource->dataMovementInterfaces as $DMI) {
-                    $dataMovementInterfaces[] = CRUtilities::getDataMovementDetails($DMI->dataMovementInterfaceId, $DMI->dataMovementProtocol);
-                    $addedDMI[] = $DMI->dataMovementProtocol;
-                }
-            }
-            
-            $data["computeResource"] = $computeResource;
-            $data["jobSubmissionInterfaces"] = $jobSubmissionInterfaces;
-            $data["dataMovementInterfaces"] = $dataMovementInterfaces;
-            $data["addedJSP"] = $addedJSP;
-            $data["addedDMI"] = $addedDMI;
-            //var_dump($data["jobSubmissionInterfaces"]); exit;
-            return View::make("resource/edit", $data);
-        } else
-            return View::make("resource/browse")->with("login-alert", "Unable to retrieve this Compute Resource. Please report this error to devs.");
-
-    }
-
-    public function editSubmit()
-    {
-        $this->beforeFilter('verifyeditadmin');
-        $tabName = "";
-        if (Input::get("cr-edit") == "resDesc") /* Modify compute Resource description */ {
-            $computeDescription = CRUtilities::get_compute_resource(Input::get("crId"));
-            $computeDescription->hostName = trim(Input::get("hostname"));
-            $computeDescription->hostAliases = array_unique(array_filter(Input::get("hostaliases")));
-            $computeDescription->ipAddresses = array_unique(array_filter(Input::get("ips")));
-            $computeDescription->resourceDescription = Input::get("description");
-            $computeDescription->maxMemoryPerNode = Input::get("maxMemoryPerNode");
-//            $computeDescription->cpusPerNode = Input::get("cpusPerNode");
-//            $computeDescription->defaultNodeCount = Input::get("defaultNodeCount");
-//            $computeDescription->defaultCPUCount = Input::get("defaultCPUCount");
-//            $computeDescription->defaultWalltime = Input::get("defaultWalltime");
-            //var_dump( $computeDescription); exit;
-
-            $computeResource = CRUtilities::register_or_update_compute_resource($computeDescription, true);
-
-            $tabName = "#tab-desc";
-        }
-        if (Input::get("cr-edit") == "queue") /* Add / Modify a Queue */ {
-            $queue = array("queueName" => Input::get("qname"),
-                "queueDescription" => Input::get("qdesc"),
-                "maxRunTime" => Input::get("qmaxruntime"),
-                "maxNodes" => Input::get("qmaxnodes"),
-                "maxProcessors" => Input::get("qmaxprocessors"),
-                "maxJobsInQueue" => Input::get("qmaxjobsinqueue"),
-                "maxMemory" => Input::get("qmaxmemoryinqueue"),
-                "cpuPerNode" => Input::get("cpuPerNode"),
-                "defaultNodeCount" => Input::get("defaultNodeCount"),
-                "defaultCPUCount" => Input::get("defaultCPUCount"),
-                "defaultWalltime" => Input::get("defaultWalltime"),
-                "queueSpecificMacros" => Input::get("queueSpecificMacros"),
-                "isDefaultQueue" => Input::get('isDefaultQueue') == 'on'
-            );
-
-            $computeDescription = CRUtilities::get_compute_resource(Input::get("crId"));
-            $updatedQueues = [];
-            if($queue["isDefaultQueue"]){
-                foreach($computeDescription->batchQueues as $aQueue){
-                    $aQueue->isDefaultQueue = false;
-                    $updatedQueues[] = $aQueue;
-                }
-            }else{
-                $updatedQueues = $computeDescription->batchQueues;
-            }
-            $updatedQueues[] = CRUtilities::createQueueObject($queue);
-            $computeDescription->batchQueues = $updatedQueues;
-            $computeResource = CRUtilities::register_or_update_compute_resource($computeDescription, true);
-            //var_dump( $computeResource); exit;
-            $tabName = "#tab-queues";
-        } else if (Input::get("cr-edit") == "delete-queue") {
-            CRUtilities::deleteQueue(Input::get("crId"), Input::get("queueName"));
-            $tabName = "#tab-queues";
-        } else if (Input::get("cr-edit") == "fileSystems") {
-            $computeDescription = CRUtilities::get_compute_resource(Input::get("crId"));
-            $computeDescription->fileSystems = array_filter(Input::get("fileSystems"), "trim");
-            $computeResource = CRUtilities::register_or_update_compute_resource($computeDescription, true);
-
-            $tabName = "#tab-filesystem";
-        } else if (Input::get("cr-edit") == "jsp" || Input::get("cr-edit") == "edit-jsp") /* Add / Modify a Job Submission Interface */ {
-            $update = false;
-            if (Input::get("cr-edit") == "edit-jsp")
-                $update = true;
-
-            $jobSubmissionInterface = CRUtilities::create_or_update_JSIObject(Input::all(), $update);
-
-            $tabName = "#tab-jobSubmission";
-        } else if (Input::get("cr-edit") == "jsi-priority") {
-            $inputs = Input::all();
-            $computeDescription = CRUtilities::get_compute_resource(Input::get("crId"));
-            foreach ($computeDescription->jobSubmissionInterfaces as $index => $jsi) {
-                foreach ($inputs["jsi-id"] as $idIndex => $jsiId) {
-                    if ($jsiId == $jsi->jobSubmissionInterfaceId) {
-                        $computeDescription->jobSubmissionInterfaces[$index]->priorityOrder = $inputs["jsi-priority"][$idIndex];
-                        break;
-                    }
-                }
-            }
-            $computeResource = CRUtilities::register_or_update_compute_resource($computeDescription, true);
-
-            return 1; //currently done by ajax.
-        } else if (Input::get("cr-edit") == "dmp" || Input::get("cr-edit") == "edit-dmi") /* Add / Modify a Data Movement Interface */ {
-            $update = false;
-            if (Input::get("cr-edit") == "edit-dmi")
-                $update = true;
-            $dataMovementInterface = CRUtilities::create_or_update_DMIObject(Input::all(), $update);
-
-            $tabName = "#tab-dataMovement";
-        } else if (Input::get("cr-edit") == "dmi-priority") {
-            $inputs = Input::all();
-            $computeDescription = CRUtilities::get_compute_resource(Input::get("crId"));
-            foreach ($computeDescription->dataMovementInterfaces as $index => $dmi) {
-                foreach ($inputs["dmi-id"] as $idIndex => $dmiId) {
-                    if ($dmiId == $dmi->dataMovementInterfaceId) {
-                        $computeDescription->dataMovementInterfaces[$index]->priorityOrder = $inputs["dmi-priority"][$idIndex];
-                        break;
-                    }
-                }
-            }
-            $computeResource = CRUtilities::register_or_update_compute_resource($computeDescription, true);
-
-            return 1; //currently done by ajax.
-        } else if (Input::get("cr-edit") == "enableReporting") {
-            $inputs = Input::all();
-            $computeDescription = CRUtilities::get_compute_resource(Input::get("crId"));
-            //var_dump( $computeDescription); exit;
-            if( isset( $inputs["gatewayUsageReporting"]) && $inputs["gatewayUsageReporting"] == 1){
-                $computeDescription->gatewayUsageReporting = true;
-                $computeDescription->gatewayUsageModuleLoadCommand = $inputs["gatewayUsageModuleLoadCommand"];
-                $computeDescription->gatewayUsageExecutable = $inputs["gatewayUsageExecutable"];
-
-            }
-            else{
-                $computeDescription->gatewayUsageReporting = false;
-                $computeDescription->gatewayUsageModuleLoadCommand = null;
-                $computeDescription->gatewayUsageExecutable = null;
-            }
-            //var_dump( $computeDescription); exit;
-            $computeResource = CRUtilities::register_or_update_compute_resource($computeDescription, true);
-            $tabName = "#tab-reporting";
-        }
-
-        return Redirect::to("cr/edit?crId=" . Input::get("crId") . $tabName);
-    }
-
-    public function viewView()
-    {
-        $data = CRUtilities::getEditCRData();
-        $computeResourceId = "";
-        if (Input::has("crId"))
-            $computeResourceId = Input::get("crId");
-        else if (Session::has("computeResource")) {
-            $computeResource = Session::get("computeResource");
-            $computeResourceId = $computeResource->computeResourceId;
-        }
-
-        if ($computeResourceId != "") {
-            $computeResource = CRUtilities::get_compute_resource($computeResourceId);
-            $jobSubmissionInterfaces = array();
-            $dataMovementInterfaces = array();
-            $addedJSP = array();
-            $addedDMI = array();
-            //var_dump( $computeResource->jobSubmissionInterfaces); exit;
-            if (count($computeResource->jobSubmissionInterfaces)) {
-                foreach ($computeResource->jobSubmissionInterfaces as $JSI) {
-                    $jobSubmissionInterfaces[] = CRUtilities::getJobSubmissionDetails($JSI->jobSubmissionInterfaceId, $JSI->jobSubmissionProtocol);
-                    $addedJSP[] = $JSI->jobSubmissionProtocol;
-                }
-            }
-            //var_dump( CRUtilities::getJobSubmissionDetails( $data["computeResource"]->jobSubmissionInterfaces[0]->jobSubmissionInterfaceId, 1) ); exit;
-            if (count($computeResource->dataMovementInterfaces)) {
-                foreach ($computeResource->dataMovementInterfaces as $DMI) {
-                    $dataMovementInterfaces[] = CRUtilities::getDataMovementDetails($DMI->dataMovementInterfaceId, $DMI->dataMovementProtocol);
-                    $addedDMI[] = $DMI->dataMovementProtocol;
-                }
-            }
-
-            $data["computeResource"] = $computeResource;
-            $data["jobSubmissionInterfaces"] = $jobSubmissionInterfaces;
-            $data["dataMovementInterfaces"] = $dataMovementInterfaces;
-            $data["addedJSP"] = $addedJSP;
-            $data["addedDMI"] = $addedDMI;
-            //var_dump($data["jobSubmissionInterfaces"]); exit;
-            return View::make("resource/view", $data);
-        } else
-            return View::make("resource/browse")->with("login-alert", "Unable to retrieve this Compute Resource. Please report this error to devs.");
-
-    }
-
-    public function deleteActions()
-    {
-        $this->beforeFilter('verifyeditadmin');
-        $result = CRUtilities::deleteActions(Input::all());
-        if (Input::has("jsiId")) {
-            return Redirect::to("cr/edit?crId=" . Input::get("crId") . "#tab-jobSubmission")
-                ->with("message", "Job Submission Interface was deleted successfully");
-        }
-        if (Input::has("dmiId")) {
-            return Redirect::to("cr/edit?crId=" . Input::get("crId") . "#tab-dataMovement")
-                ->with("message", "Data Movement Protocol was deleted successfully");
-        } elseif (Input::has("del-crId")) {
-            return Redirect::to("cr/browse")->with("message", "The Compute Resource has been successfully deleted.");
-        } else
-            return $result;
-    }
-
-    public function browseView()
-    {
-        $data = CRUtilities::getBrowseCRData(false);
-        $allCRs = $data["crObjects"];
-        $appDeployments = $data["appDeployments"];
-
-        $connectedDeployments = array();
-        foreach ((array)$allCRs as $resource) {
-            $crId = $resource->computeResourceId;
-            $connectedDeployments[$crId] = 0;
-            foreach ((array)$appDeployments as $deploymentObject) {
-                if ($crId == $deploymentObject->computeHostId)
-                    $connectedDeployments[$crId]++;
-            }
-        }
-        Session::put("admin-nav", "cr-browse");
-        return View::make("resource/browse", array(
-            "allCRs" => $allCRs,
-            "connectedDeployments" => $connectedDeployments
-        ));
-
-    }
-
-    public function groupedApplicationsView(){
-        return CRUtilities::getApplicationsByResource();
-    }
-}
-
-?>
\ No newline at end of file
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/DataCatController.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/DataCatController.php
deleted file mode 100755
index 5f7bbd3c9b..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/DataCatController.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-class DataCatController extends BaseController
-{
-
-    public function select()
-    {
-        //FIXME
-        $results = json_decode(file_get_contents('http://localhost:8000/query-api/select?q=sddslfnlsdf'), true);
-        if(!isset($results) || empty($results)){
-            $results = array();
-        }
-        return View::make('datacat/select', array("results" => $results));
-    }
-
-    public function summary()
-    {
-        //FIXME
-        $result = json_decode(file_get_contents('http://localhost:8000/query-api/select?q=sddslfnlsdf'), true);
-        return View::make('datacat/summary', array("result" => $result[1]));
-    }
-
-}
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/ExperimentController.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/ExperimentController.php
deleted file mode 100755
index 80939d8ecb..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/ExperimentController.php
+++ /dev/null
@@ -1,667 +0,0 @@
-<?php
-
-use Airavata\API\Error\AuthorizationException;
-use Airavata\API\Error\ExperimentNotFoundException;
-use Airavata\Model\Status\JobState;
-use Airavata\Model\Group\ResourceType;
-
-class ExperimentController extends BaseController
-{
-
-    /**
-     * Limit used in fetching paginated results
-     * @var int
-     */
-    var $limit = 20;
-
-    /**
-     *    Instantiate a new ExperimentController Instance
-     **/
-
-    public function __construct()
-    {
-        $this->beforeFilter('verifylogin');
-        $this->beforeFilter('verifyauthorizeduser');
-        Session::put("nav-active", "experiment");
-    }
-
-    public function createView()
-    {
-        Session::forget('exp_create_app_id');
-        Session::forget('exp_create_continue');
-        return View::make('experiment/create');
-    }
-
-    public function createSubmit()
-    {
-        if (isset($_POST['continue'])) {
-            Session::put('exp_create_continue', true);
-            $appInterfaces = AppUtilities::get_all_applications();
-            foreach($appInterfaces as $id=>$name){
-                if($id == $_POST['application']){
-                    Session::put('exp_create_app_id', AppUtilities::get_application_interface($id)->applicationModules[0]);
-                }
-            }
-
-            $computeResources = CRUtilities::create_compute_resources_select($_POST['application'], null);
-
-            $nodeCount = Config::get('pga_config.airavata')["node-count"];
-            $cpuCount = Config::get('pga_config.airavata')["total-cpu-count"];
-            $wallTimeLimit = Config::get('pga_config.airavata')["wall-time-limit"];
-
-            $queueDefaults = array("queueName" => Config::get('pga_config.airavata')["queue-name"],
-                "nodeCount" => $nodeCount,
-                "cpuCount" => $cpuCount,
-                "wallTimeLimit" => $wallTimeLimit
-            );
-
-            $experimentInputs = array(
-                "disabled" => ' disabled',
-                "experimentName" => $_POST['experiment-name'],
-                "experimentDescription" => $_POST['experiment-description'] . ' ',
-                "project" => $_POST['project'],
-                "application" => $_POST['application'],
-                "echo" => ($_POST['application'] == 'Echo') ? ' selected' : '',
-                "wrf" => ($_POST['application'] == 'WRF') ? ' selected' : '',
-                "queueDefaults" => $queueDefaults,
-                "advancedOptions" => Config::get('pga_config.airavata')["advanced-experiment-options"],
-                "computeResources" => $computeResources,
-                "resourceHostId" => null,
-                "advancedOptions" => Config::get('pga_config.airavata')["advanced-experiment-options"],
-                "allowedFileSize" => $this->getAllowedFileSize()
-            );
-
-            if(Config::get('pga_config.airavata')["data-sharing-enabled"]){
-                $users = SharingUtilities::getProfilesForSharedUsers($_POST['project'], ResourceType::PROJECT);
-                $owner = array();
-
-                $projectOwner = array();
-                $sharedProjectOwner = SharingUtilities::getSharedResourceOwner($_POST['project'], ResourceType::PROJECT);
-                if (Session::get("username") !== $sharedProjectOwner) {
-                    $projectOwner[$sharedProjectOwner] = $users[$sharedProjectOwner];
-                    $users = array_diff_key($users, $projectOwner);
-                }
-
-                return View::make("experiment/create-complete", array("expInputs" => $experimentInputs,
-                    "users" => json_encode($users), "owner" => json_encode($owner),
-                    "canEditSharing" => true,
-                    "projectOwner" => json_encode($projectOwner),
-                    "updateSharingViaAjax" => false));
-            }else{
-                return View::make("experiment/no-sharing-create-complete", array("expInputs" => $experimentInputs));
-            }
-
-        } else if (isset($_POST['save']) || isset($_POST['launch'])) {
-            try {
-                $computeResourceId = Input::get("compute-resource");
-                //Validate entered queue details
-                $queueValues = array("queueName" => Input::get("queue-name"),
-                    "nodeCount" => Input::get("node-count"),
-                    "cpuCount" => Input::get("cpu-count"),
-                    "wallTimeLimit" => Input::get("walltime-count")
-                );
-                if($this->validateQueueData($computeResourceId, $queueValues))
-                    $expId = ExperimentUtilities::create_experiment();
-                else
-                    return Redirect::to("experiment/create")->with("error-message", "Validate the number of nodes, CPUs and the wall time limit");
-            } catch (Exception $ex) {
-                Log::error("Failed to create experiment!");
-                Log::error($ex);
-                return Redirect::to("experiment/create")->with("error-message", "Failed to create experiment: " . $ex->getMessage());
-            }
-
-            if (isset($_POST['launch']) && $expId) {
-                ExperimentUtilities::launch_experiment($expId);
-            }
-            /* Not required.
-            else
-            {
-                CommonUtilities::print_success_message("<p>Experiment {$_POST['experiment-name']} created!</p>" .
-                    '<p>You will be redirected to the summary page shortly, or you can
-                    <a href=' . URL::to('/') . '"/experiment/summary?expId=' . $expId . '">go directly</a> to experiment summary page.</p>');
-
-            }*/
-            return Redirect::to('experiment/summary?expId=' . urlencode($expId));
-        } else
-            return Redirect::to("home")->with("message", "Something went wrong here. Please file a bug report using the link in the Help menu.");
-    }
-
-    public function summary()
-    {
-        $experiment = null;
-        $experiment_id = null;
-        // set the experiment Id using the jobId
-        if(isset($_GET['jobId'])){
-            Log::debug("Searching experiment summary using jobId");
-            $limit = 1;
-            $pageNo = 0;
-            $inputs["search-key"] = "jobId";
-            $inputs["search-value"] = $_GET['jobId'];
-            try {
-                $expContainer = ExperimentUtilities::get_expsearch_results_with_pagination($inputs, $limit,
-                    $pageNo);
-            } catch (AuthorizationException $ae) {
-
-                Log::error("User isn't authorized to see experiment", array("message" => $ae->getMessage(), "username" => Session::get("username"), "gateway_id" => Session::get("gateway_id")));
-                return $this->makeInvalidExperimentView();
-            } catch (ExperimentNotFoundException $enf) {
-
-                Log::error("Experiment wasn't found", array("message" => $enf->getMessage(), "username" => Session::get("username"), "gateway_id" => Session::get("gateway_id")));
-                return $this->makeInvalidExperimentView();
-            }
-            Log::debug(print_r($inputs, true));
-            try{
-              $experiment_id=$expContainer[0]['experiment']->experimentId;
-            } catch (Exception $e) {
-              Log::error("No experiment found for the given jobId");
-              return $this->makeInvalidExperimentView();
-            }
-        }
-        // set the experiment Id directly using the input from the screen
-        else {
-            $experiment_id = $_GET['expId'];
-        }
-
-        try {
-            $experiment = ExperimentUtilities::get_experiment($experiment_id);
-
-        } catch (ExperimentNotFoundException $enf) {
-
-            Log::error("Experiment wasn't found", array("message" => $enf->getMessage(), "username" => Session::get("username"), "gateway_id" => Session::get("gateway_id")));
-            return $this->makeInvalidExperimentView();
-        } catch (AuthorizationException $ae) {
-
-            Log::error("User isn't authorized to see experiment", array("message" => $ae->getMessage(), "username" => Session::get("username"), "gateway_id" => Session::get("gateway_id")));
-            return $this->makeInvalidExperimentView();
-        }
-        // Assume that experiment is not null now
-
-        if(isset($_GET['isAutoRefresh']) && $_GET['isAutoRefresh'] == 'true'){
-            $autoRefresh = true;
-        }else{
-            $autoRefresh = false;
-        }
-        //viewing experiments of other gateways is not allowed if user is not super admin
-        if( $experiment->gatewayId != Session::get("gateway_id") && !Session::has("super-admin")){
-            Session::put("permissionDenied", true);
-            CommonUtilities::print_error_message('It seems that you do not have permissions to view this experiment or it belongs to another gateway.');
-            if (Input::has("dashboard"))
-                return View::make("partials/experiment-info", array("invalidExperimentId" => 1, "users" => json_encode(array())));
-            else
-                return View::make("experiment/summary", array("invalidExperimentId" => 1, "users" => json_encode(array())));
-        }
-        else
-            Session::forget("permissionDenied");
-
-
-        $project = null;
-        if(Config::get('pga_config.airavata')["data-sharing-enabled"]){
-            if (SharingUtilities::userCanRead(Session::get("username"), $experiment->projectId, ResourceType::PROJECT)) {
-                $project = ProjectUtilities::get_project($experiment->projectId);
-            }
-        } elseif ($experiment->userName == Session::get("username")){
-            // When sharing is disabled the backend checks the auth token claims map
-            // to make sure the authenticating user is the same as the project
-            // owner. So the project can only be loaded when the user is the
-            // project owner, which can be inferred from the experiment's owner.
-            $project = ProjectUtilities::get_project($experiment->projectId);
-        }
-        $expVal = ExperimentUtilities::get_experiment_values($experiment);
-        $jobDetails = ExperimentUtilities::get_job_details($experiment->experimentId);
-//            var_dump( $jobDetails); exit;
-        foreach( $jobDetails as $index => $jobDetail){
-            if(isset($jobDetail->jobStatuses)){
-                  $jobDetails[ $index]->jobStatuses[0]->jobStateName = JobState::$__names[$jobDetail->jobStatuses[0]->jobState];
-            }
-            else{
-                $jobDetails[ $index]->jobStatuses = [new stdClass()];
-                $jobDetails[ $index]->jobStatuses[0]->jobStateName = null;
-            }
-        }
-        $expVal["jobDetails"] = $jobDetails;
-
-        $writeableProjects = ProjectUtilities::get_all_user_writeable_projects(Session::get("gateway_id"), Session::get("username"));
-
-        $data = array(
-            "expId" => $experiment_id,
-            "experiment" => $experiment,
-            "project" => $project,
-            "jobDetails" => $jobDetails,
-            "expVal" => $expVal,
-            "autoRefresh"=> $autoRefresh,
-            "writeableProjects" => $writeableProjects
-        );
-        if(Config::get('pga_config.airavata')["data-sharing-enabled"]){
-            $users = SharingUtilities::getProfilesForSharedUsers($experiment_id, ResourceType::EXPERIMENT);
-            $sharedExperimentOwner = SharingUtilities::getSharedResourceOwner($experiment->experimentId, ResourceType::EXPERIMENT);
-            $sharedProjectOwner = SharingUtilities::getSharedResourceOwner($experiment->projectId, ResourceType::PROJECT);
-
-            $owner = array();
-            $projectOwner = array();
-            if (Session::get("username") !== $sharedExperimentOwner) {
-                $owner[$sharedExperimentOwner] = $users[$sharedExperimentOwner];
-            }
-            if (Session::get("username") !== $sharedProjectOwner) {
-                $projectOwner[$sharedProjectOwner] = $users[$sharedProjectOwner];
-            }
-            // Subtract out the owner and project owner from list of users
-            $users = array_diff_key($users, $owner);
-            $users = array_diff_key($users, $projectOwner);
-            // If project owner is the same as owner, just show the owner, not the project owner
-            $projectOwner = array_diff_key($projectOwner, $owner);
-            // Only allow editing sharing on the summary page if the owner
-            // and the experiment isn't editable. If the experiment is
-            // editable, the sharing can be edited on the edit page.
-            $canEditSharing = (Session::get("username") === $sharedExperimentOwner) && !$expVal["editable"];
-            $data['can_write'] = SharingUtilities::userCanWrite(Session::get("username"), $experiment->experimentId, ResourceType::EXPERIMENT);
-            $data["users"] = json_encode($users);
-            $data["owner"] = json_encode($owner);
-            $data["projectOwner"] = json_encode($projectOwner);
-            $data["canEditSharing"] = $canEditSharing;
-            // The summary page has it's own Update Sharing button
-            $data["updateSharingViaAjax"] = true;
-        }
-
-        if( Input::has("dashboard"))
-        {
-            $detailedExperiment = ExperimentUtilities::get_detailed_experiment( $experiment_id);
-            $data["detailedExperiment"] = $detailedExperiment;
-        }
-
-        if (Request::ajax()) {
-            //admin wants to see an experiment summary
-            if (Input::has("dashboard")) {
-                $data["dashboard"] = true;
-                return View::make("partials/experiment-info", $data);
-            } else
-                return json_encode($data);
-        } else {
-            return View::make("experiment/summary", $data);
-        }
-    }
-
-    private function makeInvalidExperimentView() {
-
-        if (Input::has("dashboard"))
-            return View::make("partials/experiment-info", array("invalidExperimentId" => 1));
-        else
-            return View::make("experiment/summary", array("invalidExperimentId" => 1));
-    }
-
-    public function expChange()
-    {
-        //var_dump( Input::all() ); exit;
-        $experiment = ExperimentUtilities::get_experiment(Input::get('expId'));
-        $expVal = ExperimentUtilities::get_experiment_values($experiment);
-        $expVal["jobState"] = ExperimentUtilities::get_job_status($experiment);
-        /*if (isset($_POST['save']))
-        {
-            $updatedExperiment = CommonUtilities::apply_changes_to_experiment($experiment);
-
-            CommonUtilities::update_experiment($experiment->experimentId, $updatedExperiment);
-        }*/
-        if (isset($_POST['launch'])) {
-            ExperimentUtilities::launch_experiment($experiment->experimentId);
-            return Redirect::to('experiment/summary?expId=' . urlencode($experiment->experimentId));
-        } elseif (isset($_POST['cancel'])) {
-            ExperimentUtilities::cancel_experiment($experiment->experimentId);
-            return Redirect::to('experiment/summary?expId=' . urlencode($experiment->experimentId));
-        } elseif (isset($_POST['update-sharing'])) {
-            if(Config::get('pga_config.airavata')["data-sharing-enabled"]){
-                $share = $_POST['share-settings'];
-                ExperimentUtilities::update_experiment_sharing($experiment->experimentId, json_decode($share));
-            }
-            return Redirect::to('experiment/summary?expId=' . urlencode($experiment->experimentId));
-        }
-    }
-
-    public function editView()
-    {
-        $experiment = ExperimentUtilities::get_experiment($_GET['expId']);
-        $expVal = ExperimentUtilities::get_experiment_values($experiment);
-        $expVal["jobState"] = ExperimentUtilities::get_job_status($experiment);
-
-
-        $appInterfaces = AppUtilities::get_all_applications();
-        foreach($appInterfaces as $id=>$name) {
-            if ($id == $experiment->executionId) {
-                $appId = AppUtilities::get_application_interface($id)->applicationModules[0];
-            }
-        }
-
-        $nodeCount = Config::get('pga_config.airavata')["node-count"];
-        $cpuCount = Config::get('pga_config.airavata')["total-cpu-count"];
-        $wallTimeLimit = Config::get('pga_config.airavata')["wall-time-limit"];
-        $cpusPerNode = 0;
-
-        $queueDefaults = array("queueName" => Config::get('pga_config.airavata')["queue-name"],
-            "nodeCount" => $nodeCount,
-            "cpuCount" => $cpuCount,
-            "wallTimeLimit" => $wallTimeLimit,
-            "cpusPerNode" => $cpusPerNode
-        );
-
-        $computeResourceId = $experiment->userConfigurationData->computationalResourceScheduling->resourceHostId;
-        $appDeployments = Airavata::getAllApplicationDeployments(Session::get('authz-token'), Session::get("gateway_id"));
-        $correctAppDeployment = null;
-        foreach($appDeployments as $appDeployment){
-            if($appDeployment->computeHostId == $computeResourceId && $appDeployment->appModuleId == $appId){
-                $correctAppDeployment = $appDeployment;
-                break;
-            }
-        }
-
-        $appDeploymentDefaults = array();
-        if($correctAppDeployment != null){
-            $appDeploymentDefaults['nodeCount'] = $correctAppDeployment->defaultNodeCount;
-            $appDeploymentDefaults['cpuCount'] = $correctAppDeployment->defaultCPUCount;
-            $appDeploymentDefaults['wallTimeLimit'] = $wallTimeLimit;
-            $appDeploymentDefaults['queueName'] = $correctAppDeployment->defaultQueueName;
-        }
-
-        $computeResources = CRUtilities::create_compute_resources_select($experiment->executionId, $expVal['scheduling']->resourceHostId);
-
-        $userComputeResourcePreferences = URPUtilities::get_all_validated_user_compute_resource_prefs();
-        $userHasComputeResourcePreference = array_key_exists($expVal['scheduling']->resourceHostId, $userComputeResourcePreferences);
-        $batchQueues = ExperimentUtilities::getQueueDatafromResourceId($computeResourceId);
-
-        $experimentInputs = array(
-            "disabled" => ' ',
-            "experimentName" => $experiment->experimentName,
-            "experimentDescription" => $experiment->description,
-            "application" => $experiment->executionId,
-            "autoSchedule" => $experiment->userConfigurationData->airavataAutoSchedule,
-            "userDN" => $experiment->userConfigurationData->userDN,
-            "userHasComputeResourcePreference" => $userHasComputeResourcePreference,
-            "useUserCRPref" => $experiment->userConfigurationData->useUserCRPref,
-            "allowedFileSize" => $this->getAllowedFileSize(),
-            'experiment' => $experiment,
-            "queueDefaults" => $queueDefaults,
-            'computeResources' => $computeResources,
-            "resourceHostId" => $expVal['scheduling']->resourceHostId,
-            'project' => $experiment->projectId,
-            'expVal' => $expVal,
-            'cloning' => true,
-            'advancedOptions' => Config::get('pga_config.airavata')["advanced-experiment-options"],
-            'batchQueues' => $batchQueues
-        );
-
-        if(Config::get('pga_config.airavata')["data-sharing-enabled"]){
-            if (SharingUtilities::userCanWrite(Session::get("username"), $_GET['expId'], ResourceType::EXPERIMENT) === true) {
-                $users = SharingUtilities::getProfilesForSharedUsers($_GET['expId'], ResourceType::EXPERIMENT);
-                $sharedExperimentOwner = SharingUtilities::getSharedResourceOwner($experiment->experimentId, ResourceType::EXPERIMENT);
-                $sharedProjectOwner = SharingUtilities::getSharedResourceOwner($experiment->projectId, ResourceType::PROJECT);
-
-                $owner = array();
-                $projectOwner = array();
-                if (Session::get("username") !==  $sharedExperimentOwner) {
-                    $owner[$sharedExperimentOwner] = $users[$sharedExperimentOwner];
-                }
-                if (Session::get("username") !== $sharedProjectOwner) {
-                    $projectOwner[$sharedProjectOwner] = $users[$sharedProjectOwner];
-                }
-                // Subtract out owner and project owner from list of users
-                $users = array_diff_key($users, $owner);
-                $users = array_diff_key($users, $projectOwner);
-                // If project owner is the same as owner, just show the owner, not the project owner
-                $projectOwner = array_diff_key($projectOwner, $owner);
-
-                $canEditSharing = Session::get("username") === $sharedExperimentOwner;
-
-                return View::make("experiment/edit", array("expInputs" => $experimentInputs,
-                    "users" => json_encode($users), "owner" => json_encode($owner),
-                    "canEditSharing" => $canEditSharing,
-                    "projectOwner" => json_encode($projectOwner),
-                    "updateSharingViaAjax" => false,
-                    "cpusPerNode" => $cpusPerNode,
-                    "appDeploymentDefaults" => $appDeploymentDefaults,
-                    "queueDefaults" => $queueDefaults
-                ));
-            }
-            else {
-                Redirect::to("experiment/summary?expId=" . urlencode($experiment->experimentId))->with("error", "You do not have permission to edit this experiment");
-            }
-        }else {
-            return View::make("experiment/no-sharing-edit", array("expInputs" => $experimentInputs));
-        }
-    }
-
-    public function cloneExperiment()
-    {
-        try{
-            $cloneId = ExperimentUtilities::clone_experiment(Input::get('expId'), Input::get('projectId'));
-            return Redirect::to('experiment/edit?expId=' . urlencode($cloneId));
-        }catch (Exception $ex){
-            return Redirect::to("experiment/summary?expId=" . urlencode(Input::get('expId')))
-                ->with("cloning-error", "Failed to clone experiment: " . $ex->getMessage());
-        }
-    }
-
-    public function editSubmit()
-    {
-        $experiment = ExperimentUtilities::get_experiment(Input::get('expId')); // update local experiment variable
-        try {
-            $computeResourceId = Input::get("compute-resource");
-            //Validate entered queue details
-            $queueValues = array("queueName" => Input::get("queue-name"),
-                "nodeCount" => Input::get("node-count"),
-                "cpuCount" => Input::get("cpu-count"),
-                "wallTimeLimit" => Input::get("walltime-count")
-            );
-            if($this->validateQueueData($computeResourceId, $queueValues)) {
-                $updatedExperiment = ExperimentUtilities::apply_changes_to_experiment($experiment, Input::all());
-            } else {
-                $errMessage = "Validate the number of nodes, CPUs and the wall time limit";
-                return Redirect::to("experiment/edit?expId=" . urlencode(Input::get('expId')))->with("error-message", $errMessage);
-            }
-        } catch (Exception $ex) {
-            $errMessage = "Failed to update experiment: " . $ex->getMessage();
-            Log::error($errMessage);
-            Log::error($ex);
-            return Redirect::to("experiment/edit?expId=" . urlencode(Input::get('expId')))->with("error-message", $errMessage);
-        }
-
-        if(Config::get('pga_config.airavata')["data-sharing-enabled"]){
-            if (SharingUtilities::userCanWrite(Session::get("username"), Input::get('expId'), ResourceType::EXPERIMENT)) {
-                if (isset($_POST['save']) || isset($_POST['launch'])) {
-
-                    ExperimentUtilities::update_experiment($experiment->experimentId, $updatedExperiment);
-
-                    if (isset($_POST['save'])) {
-                        $experiment = ExperimentUtilities::get_experiment(Input::get('expId')); // update local experiment variable
-                    }
-                    if (isset($_POST['launch'])) {
-                        ExperimentUtilities::launch_experiment($experiment->experimentId);
-                    }
-
-                    return Redirect::to('experiment/summary?expId=' . urlencode($experiment->experimentId));
-                } else
-                    return View::make("home");
-            }
-        }else{
-            if (isset($_POST['save']) || isset($_POST['launch'])) {
-
-                ExperimentUtilities::update_experiment($experiment->experimentId, $updatedExperiment);
-
-                if (isset($_POST['save'])) {
-                    $experiment = ExperimentUtilities::get_experiment(Input::get('expId')); // update local experiment variable
-                }
-                if (isset($_POST['launch'])) {
-                    ExperimentUtilities::launch_experiment($experiment->experimentId);
-                }
-
-                return Redirect::to('experiment/summary?expId=' . urlencode($experiment->experimentId));
-            } else
-                return View::make("home");
-        }
-    }
-
-    public function getQueueView()
-    {
-        $appId = Session::get('exp_create_app_id');
-        $computeResourceId = Input::get("crId");
-        $appDeployments = Airavata::getAllApplicationDeployments(Session::get('authz-token'), Session::get("gateway_id"));
-
-        $nodeCount = Config::get('pga_config.airavata')["node-count"];
-        $cpuCount = Config::get('pga_config.airavata')["total-cpu-count"];
-        $wallTimeLimit = Config::get('pga_config.airavata')["wall-time-limit"];
-        $cpusPerNode = 0;
-        $queueName = Config::get('pga_config.airavata')["queue-name"];
-
-        $queueDefaults = array("queueName" => $queueName,
-            "nodeCount" => $nodeCount,
-            "cpuCount" => $cpuCount,
-            "wallTimeLimit" => $wallTimeLimit,
-            "cpusPerNode" => $cpusPerNode
-        );
-
-        $queues = ExperimentUtilities::getQueueDatafromResourceId($computeResourceId);
-        $userComputeResourcePreferences = URPUtilities::get_all_validated_user_compute_resource_prefs();
-        $userHasComputeResourcePreference = array_key_exists($computeResourceId, $userComputeResourcePreferences);
-        if ($userHasComputeResourcePreference)
-        {
-            $queueDefaults['queueName'] = $userComputeResourcePreferences[$computeResourceId]->preferredBatchQueue;
-        }else{
-            foreach($queues as $aQueue){
-                if($aQueue->isDefaultQueue){
-                    $queueDefaults['queueName'] = $aQueue->queueName;
-                    break;
-                }
-            }
-        }
-
-        $correctAppDeployment = null;
-        foreach($appDeployments as $appDeployment){
-            if($appDeployment->computeHostId == $computeResourceId && $appDeployment->appModuleId == $appId){
-                $correctAppDeployment = $appDeployment;
-                break;
-            }
-        }
-
-        $appDeploymentDefaults = array();
-        if($correctAppDeployment != null){
-            $appDeploymentDefaults['nodeCount'] = $correctAppDeployment->defaultNodeCount;
-            $appDeploymentDefaults['cpuCount'] = $correctAppDeployment->defaultCPUCount;
-            $appDeploymentDefaults['queueName'] = $correctAppDeployment->defaultQueueName;
-        }
-
-        return View::make("partials/experiment-queue-block", array("queues" => $queues,
-            "queueDefaults" => $queueDefaults,
-            "appDeploymentDefaults" => $appDeploymentDefaults,
-            "useUserCRPref" => $userHasComputeResourcePreference,
-            "userHasComputeResourcePreference" => $userHasComputeResourcePreference,
-            "cpusPerNode" => $cpusPerNode));
-    }
-
-    public function browseView()
-    {
-        $pageNo = Input::get('pageNo');
-        $prev = Input::get('prev');
-        $isSearch = Input::get('search');
-        if (empty($pageNo) || isset($isSearch) ) {
-            $pageNo = 1;
-        } else {
-            if (isset($prev)) {
-                $pageNo -= 1;
-            } else {
-                $pageNo += 1;
-            }
-        }
-
-        $expContainer = ExperimentUtilities::get_expsearch_results_with_pagination(Input::all(), $this->limit,
-            ($pageNo - 1) * $this->limit);
-        $experimentStates = ExperimentUtilities::getExpStates();
-
-        $can_write = array();
-        foreach ($expContainer as $experiment) {
-            if(Config::get('pga_config.airavata')["data-sharing-enabled"]){
-                $can_write[$experiment['experiment']->experimentId] = SharingUtilities::userCanWrite(Session::get("username"),
-                    $experiment['experiment']->experimentId, ResourceType::EXPERIMENT);
-            } else {
-                $can_write[$experiment['experiment']->experimentId] = true;
-            }
-        }
-
-        return View::make('experiment/browse', array(
-            'input' => Input::all(),
-            'pageNo' => $pageNo,
-            'limit' => $this->limit,
-            'expStates' => $experimentStates,
-            'expContainer' => $expContainer,
-            'can_write' => $can_write
-        ));
-    }
-
-    /**
-     * Generate JSON containing permissions information for this project.
-     *
-     * This function retrieves the user profile and permissions for every user
-     * other than the client that has access to the project. In the event that
-     * the project does not exist, return an error message.
-     */
-    public function sharedUsers()
-    {
-        if (Session::has("authz-token") && array_key_exists('resourceId', $_GET)) {
-            return Response::json(SharingUtilities::getProfilesForSharedUsers($_GET['resourceId'], ResourceType::EXPERIMENT));
-        }
-        else {
-            return Response::json(array("error" => "Error: No project specified"));
-        }
-    }
-
-    public function unsharedUsers()
-    {
-        if (Session::has("authz-token") && array_key_exists('resourceId', $_GET)) {
-            return Response::json(SharingUtilities::getProfilesForUnsharedUsers($_GET['resourceId'], ResourceType::EXPERIMENT));
-        }
-        else {
-            return Response::json(array("error" => "Error: No experiment specified"));
-        }
-    }
-
-    public function updateSharing()
-    {
-        try{
-            // Convert the JSON array to an object
-            $sharing_info = json_decode(json_encode(Input::json()->all()));
-            ExperimentUtilities::update_experiment_sharing(Input::get('expId'), $sharing_info);
-            return Response::json(array("success" => true));
-        }catch (Exception $ex){
-            Log::error("failed to update sharing for experiment", array(Input::all()));
-            Log::error($ex);
-            return Response::json(array("success" => false, "error" => "Error: failed to update sharing: " . $ex->getMessage()));
-        }
-    }
-
-    private function getAllowedFileSize()
-    {
-        // Condition added to deal with php ini default value set for post_max_size issue.
-        // NOTE: the following assumes that upload_max_filesize and
-        // post_max_size are in megabytes (for example, if
-        // upload_max_filesize is 8M then $allowedFileSize is 8, but the 'M'
-        // is assumed and not considered)
-        $allowedFileSize = intval( ini_get( 'upload_max_filesize' ) );
-        $serverLimit = intval( ini_get( 'post_max_size' ) );
-        if( $serverLimit < $allowedFileSize) {
-            $allowedFileSize = $serverLimit;
-        }
-        return $allowedFileSize;
-    }
-
-    private function validateQueueData($computeResourceId, $queue)
-    {
-        $queues = ExperimentUtilities::getQueueDatafromResourceId($computeResourceId);
-        $queueName = $queue['queueName'];
-
-        foreach($queues as $aQueue){
-            if($aQueue->queueName == $queueName) {
-                if($queue['nodeCount'] <= $aQueue->maxNodes && $queue['cpuCount'] <= $aQueue->maxProcessors && $queue['wallTimeLimit'] <= $aQueue->maxRunTime)
-                    return true;
-            }
-        }
-
-        return false;
-    }
-}
-
-?>
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/FilemanagerController.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/FilemanagerController.php
deleted file mode 100755
index 1ab8f8559e..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/FilemanagerController.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-
-class FilemanagerController extends BaseController
-{
-	public function __construct()
-    {
-        $this->beforeFilter('verifylogin');
-        $this->beforeFilter('verifyauthorizeduser');
-        Session::put("nav-active", "storage");
-    }
-
-    public function browse(){
-		//FIXME check for no ../ parts in the path
-		if(Input::has("path") && (0 == strpos(Input::get("path"), Session::get('username'))
-				|| 0 == strpos(Input::get("path"), "/" . Session::get('username')))){
-			$path = Input::get("path");
-			if(0 === strpos($path, '/')){
-				$path = substr($path, 1);
-			}
-		}else{
-			$path = Session::get("username");
-		}
-		return View::make("files/browse",array("path"=>$path));
-    }
-
-	public function get(){
-		if(Session::has('username') ){
-
-			$path = Input::get('path');
-			/*
-			if( $path == null || (0 !== strpos($path, Session::get('username']))){
-			    header('HTTP/1.0 403 Forbidden');
-			}
-			*/
-			$DATA_ROOT = Config::get("pga_config.airavata")["experiment-data-absolute-path"];
-			$data_path = $DATA_ROOT . "/" . $path;
-			if (!file_exists( $data_path))
-				echo FileManager::msg(False, "$path does not exist");
-
-			if (is_dir( $data_path))
-			    echo FileManager::get_content( $DATA_ROOT .  "/", $path);
-			else
-			    echo file_get_contents($data_path);
-		}
-	}
-}
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/GatewayRequestUpdateController.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/GatewayRequestUpdateController.php
deleted file mode 100755
index f75019e697..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/GatewayRequestUpdateController.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-class GatewayRequestUpdateController extends BaseController
-{
-
-    public function updateGateway(){
-
-        $gateway = AdminUtilities::update_form( Input::get("gateway-id"), Input::all() );
-
-        $gatewayData = array ("airavataInternalGatewayId" => $gateway->airavataInternalGatewayId,
-                              "gatewayId" => $gateway->gatewayId,
-                              "gatewayName" => $gateway->gatewayName,
-                              "emailAddress" => $gateway->emailAddress,
-                              "publicProjectDescription" => $gateway->gatewayPublicAbstract,
-                              "gatewayURL" => $gateway->gatewayURL,
-                              "adminFirstName" => $gateway->gatewayAdminFirstName,
-                              "adminLastName" => $gateway->gatewayAdminLastName,
-                              "adminUsername" => $gateway->identityServerUserName,
-                              "adminEmail" => $gateway->gatewayAdminEmail,
-                              "projectDetails" => $gateway->reviewProposalDescription);
-
-        return View::make("account/update")->with(array('gatewayData'=>$gatewayData));
-
-    }
-
-    public function updateDetails(){
-
-        $inputs = Input::all();
-        $rules = array(
-            "email" => "required|email",
-        );
-
-        $messages = array();
-
-        $checkValidation = array();
-        $checkValidation["email"] = $inputs["email-address"];
-
-        $validator = Validator::make( $checkValidation, $rules, $messages);
-        if ($validator->fails()) {
-            Session::put("validationMessages", $validator->messages() );
-            return Redirect::back()->withErrors($validator);
-        }
-        else {
-            $returnVal = AdminUtilities::user_update_gateway(Input::get("internal-gateway-id"), Input::all());
-
-            if ($returnVal == 1) {
-                $email = Config::get('pga_config.portal')['admin-emails'];
-                EmailUtilities::gatewayUpdateMailToProvider(Input::get("email-address"), Input::get("gateway-id"));
-                EmailUtilities::gatewayUpdateMailToAdmin($email, Input::get("gateway-id"));
-                Session::put("message", "Your Gateway has been updated");
-            } else
-                Session::put("errorMessages", "Error: Please try again or contact admin to report the issue.");
-        }
-
-        return Redirect::to("admin/dashboard");
-
-    }
-
-}
\ No newline at end of file
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/GatewayprofileController.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/GatewayprofileController.php
deleted file mode 100755
index c536ef9b08..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/GatewayprofileController.php
+++ /dev/null
@@ -1,121 +0,0 @@
-<?php
-
-class GatewayprofileController extends BaseController {
-
-	public function __construct()
-	{
-		$this->beforeFilter('verifyadmin');
-		Session::put("nav-active", "gateway-profile");
-	}
-
-	public function createView()
-	{
-		return View::make("gateway/create");
-	}
-
-	public function createSubmit()
-	{
-		$gatewayProfileId = CRUtilities::create_or_update_gateway_profile( Input::all() );
-		//TODO:: Maybe this is a better way. Things to ponder upon.
-		//return Redirect::to("gp/browse")->with("gpId", $gatewayProfileId);
-		return Redirect::to("gp/browse")->with("message","Gateway has been created. You can set preferences now.");
-	}
-
-	public function editGP()
-	{
-		$gatewayProfileId = CRUtilities::create_or_update_gateway_profile( Input::all(), true );
-		return Redirect::to("gp/browse")->with("message","Gateway has been created. You can set preferences now.");
-	}
-
-	public function browseView()
-	{
-		//var_dump( $crObjects[0]); exit;
-		return View::make("gateway/browse", array(	"gatewayProfiles" => CRUtilities::getAllGatewayProfilesData(),
-													"computeResources" => CRUtilities::getAllCRObjects(),
-													"crData" => CRUtilities::getEditCRData()
- 												));
-	}
-
-	public function modifyCRP()
-	{
-		if( CRUtilities::add_or_update_CRP( Input::all()) )
-		{            
-			if( Request::ajax()){
-				return 1;
-			}
-			else
-				return Redirect::to("admin/dashboard/gateway")->with("message","Compute Resource Preference has been set.");
-		}
-	}
-
-	public function modifySRP()
-	{
-		if( SRUtilities::add_or_update_SRP( Input::all()) )
-		{
-			if( Request::ajax()){
-				return 1;
-			}
-			else
-				return Redirect::to("admin/dashboard/gateway")->with("message","Storage Resource Preference has been set.");
-		}
-	}
-
-	public function modifyIDP()
-	{
-		if( AdminUtilities::add_or_update_IDP( Input::all()) )
-		{
-			if( Request::ajax()){
-				return 1;
-			}
-			else
-				return Redirect::to("admin/dashboard/gateway")->with("message","Identity Server Preference has been set.");
-		}
-	}
-
-	public function delete()
-	{
-		$error = false;
-		if( Input::has("del-gpId")) // if Gateway has to be deleted
-		{
-			if( CRUtilities::deleteGP( Input::get("del-gpId")) )
-				return Redirect::to("admin/dashboard/gateway")->with("message","Gateway Profile has been deleted.");
-			else
-				$error = true;
-		}
-		else if( Input::has("rem-crId")) // if Compute Resource has to be removed from Gateway
-		{
-			if(CRUtilities::deleteCR( Input::all()) )
-				return Redirect::to("admin/dashboard/gateway")->with("message", "The selected Compute Resource has been successfully removed");
-			else
-				$error = true;
-		}
-		else if( Input::has("rem-srId")) // if Compute Resource has to be removed from Gateway
-		{
-			if(CRUtilities::deleteSR( Input::all()) )
-				return Redirect::to("admin/dashboard/gateway")->with("message", "The selected Compute Resource has been successfully removed");
-			else
-				$error = true;
-		}
-		else
-			$error = true;
-
-
-		if( $error)
-		{
-			return Redirect::to("admin/dashboard/gateway")->with("message","An error has occurred. Please try again later or report a bug using the link in the Help menu");
-		}
-	}
-
-	public function cstChange(){
-		$inputs = Input::all();
-		
-		if( CRUtilities::updateGatewayProfile( $inputs) )
-		{
-            return "Credential Store Token has been updated";     
-        }
-        else
-            return "An error has occurred. Please try again later or report a bug using the link in the Help menu";
-	}
-}
-
-?>
\ No newline at end of file
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/GroupController.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/GroupController.php
deleted file mode 100755
index 6a70b3a4e5..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/GroupController.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-
-class GroupController extends BaseController {
-    public function __construct()
-    {
-        $this->beforeFilter('verifylogin');
-        $this->beforeFilter('verifyauthorizeduser');
-        Session::put("nav-active", "group");
-    }
-
-    public function createView()
-    {
-        return View::make("group/create");
-    }
-
-    public function createSubmit()
-    {
-        // TODO: Get the group name and description
-        // TODO: Create the new group
-        // TODO: Get users to add
-        // TODO: Update membership of users in list
-        if (isset($_POST['save'])) {
-            $groupId = GroupUtilities::create_group();
-            return Redirect::to('group/summary?groupId=' . $groupId);
-        }
-        else {
-            return Redirect::to('group/create');
-        }
-    }
-
-    public function editSubmit()
-    {
-        // TODO: Get users to edit
-        // TODO: Update membership of users in list
-    }
-
-    public function summaryView()
-    {
-        // TODO: Determine if the user is a member of the group
-        // TODO: Determine if the user is owner of the group
-        // TODO: If not a member, load a page that says they cannot see the group
-        // TODO: If a standard member, display group name, description, members, projects(?) and experiments (?)
-        // TODO: If owner, display buttons to allow adding and removing members
-        if (Input::has('groupId')) {
-            Session::put('groupId', Input::get('groupId'));
-            return View::make('group/summary', array('groupId' => $groupId));
-        }
-        else {
-            return Redirect::to('home');
-        }
-    }
-}
-
-?>
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/HomeController.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/HomeController.php
deleted file mode 100755
index c3c48d9f39..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/HomeController.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-class HomeController extends BaseController {
-
-	/*
-	|--------------------------------------------------------------------------
-	| Default Home Controller
-	|--------------------------------------------------------------------------
-	|
-	| You may wish to use controllers instead of, or in addition to, Closure
-	| based routes. That's great! Here is an example controller method to
-	| get you started. To route to this controller, just add the route:
-	|
-	|	Route::get('/', 'HomeController@showWelcome');
-	|
-	*/
-
-	public function getIndex()
-	{
-		Session::put("nav-active", "home");
-		// If not logged in and theme has a landing page, display the landing page
-		if (!CommonUtilities::id_in_session()){
-			try {
-				$theme = Theme::uses( Session::get("theme") );
-				// FIXME: can't figure out how to pass variables to the landingpage template
-				return View::make($theme->scope('landingpage')->location());
-			}catch (Exception $ex){
-				Log::debug("Theme has no landingpage view, will render standard home page", array($ex->getMessage()));
-			}
-		}
-		return View::make('home');
-	}
-
-}
-
-?>
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/ProjectController.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/ProjectController.php
deleted file mode 100755
index f89f6eb28d..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/ProjectController.php
+++ /dev/null
@@ -1,251 +0,0 @@
-<?php
-
-use Airavata\Model\Group\ResourceType;
-
-class ProjectController extends BaseController
-{
-
-    /**
-     * Limit used in fetching paginated results
-     * @var int
-     */
-    var $limit = 20;
-
-    /**
-     *    Instantiate a new ProjectController Instance
-     **/
-
-    public function __construct()
-    {
-        $this->beforeFilter('verifylogin');
-        $this->beforeFilter('verifyauthorizeduser');
-        Session::put("nav-active", "project");
-
-    }
-
-    public function createView()
-    {
-        if (Config::get('pga_config.airavata')["data-sharing-enabled"]){
-            return View::make("project/create", array("users" => json_encode(array()), "owner" => json_encode(array())));
-        }else{
-            return View::make("project/no-sharing-create");
-        }
-
-    }
-
-    public function createSubmit()
-    {
-        if (isset($_POST['save'])) {
-            $projectId = ProjectUtilities::create_project();
-            return Redirect::to('project/summary?projId=' . urlencode($projectId));
-        } else {
-            return Redirect::to('project/create');
-        }
-    }
-
-    public function summary()
-    {
-        if (Input::has("projId")) {
-            Session::put("projId", Input::get("projId"));
-
-            $project = ProjectUtilities::get_project(Input::get('projId'));
-            $experiments = ProjectUtilities::get_experiments_in_project(Input::get("projId"));
-
-            if(Config::get('pga_config.airavata')["data-sharing-enabled"]){
-                $users = SharingUtilities::getProfilesForSharedUsers(Input::get('projId'), ResourceType::PROJECT);
-
-                $owner = array();
-                if (strcmp(Session::get("username"), $project->owner) !== 0) {
-                    $owner[$project->owner] = $users[$project->owner];
-                    $users = array_diff_key($users, $owner);
-                }
-
-                $experiment_can_write = array();
-                foreach($experiments as $experiment) {
-                    if (SharingUtilities::userCanWrite(Session::get("username"), $experiment->experimentId, ResourceType::EXPERIMENT)) {
-                        $experiment_can_write[$experiment->experimentId] = true;
-                    }
-                    else {
-                        $experiment_can_write[$experiment->experimentId] = false;
-                    }
-                }
-
-                return View::make("project/summary",
-                    array("projectId" => Input::get("projId"),
-                        "experiments" => $experiments,
-                        "users" => json_encode($users),
-                        "owner" => json_encode($owner),
-                        "project_can_write" => SharingUtilities::userCanWrite(Session::get("username"), Input::get("projId"), ResourceType::PROJECT),
-                        "experiment_can_write" => $experiment_can_write
-                    ));
-            }else{
-                return View::make("project/no-sharing-summary",
-                    array("projectId" => Input::get("projId"),
-                        "experiments" => $experiments
-                    ));
-            }
-
-        } else
-            return Redirect::to("home");
-    }
-
-    public function editView()
-    {
-        if (Input::has("projId") || Input::has("projectId")) {
-            $projectId = Input::get("projId") ? Input::get("projId") : Input::get("projectId");
-            $project = ProjectUtilities::get_project($projectId);
-            return $this->createEditView($projectId, $project, null);
-        } else {
-            return Redirect::to("home");
-        }
-    }
-
-    public function editSubmit()
-    {
-        $projectDetails = new stdClass();
-        $projectDetails->owner = Input::get("projectOwner");
-        $projectDetails->name = Input::get("project-name");
-        $projectDetails->description = Input::get("project-description");
-
-        if(Config::get('pga_config.airavata')["data-sharing-enabled"]){
-            if (isset($_POST['save']) && SharingUtilities::userCanWrite(Session::get("username"), Input::get("projectId"), ResourceType::PROJECT)) {
-
-                try {
-                    ProjectUtilities::update_project(Input::get("projectId"), $projectDetails);
-                } catch (Exception $ex) {
-                    // Decode JSON into assoc. array
-                    $shareSettings = json_decode(Input::get('share-settings'), true);
-                    return $this->createEditView(Input::get("projectId"), $projectDetails, $shareSettings)->with("errorMessage", "Failed to update project: " . $ex->getMessage());
-                }
-            }
-        }else{
-            try {
-                ProjectUtilities::update_project(Input::get("projectId"), $projectDetails);
-            } catch (Exception $ex) {
-                return $this->createEditView(Input::get("projectId"), $projectDetails, null)->with("errorMessage", "Failed to update project: " . $ex->getMessage());
-            }
-        }
-        return Redirect::to("project/summary?projId=" . urlencode(Input::get("projectId")))->with("project_edited", true);
-    }
-
-    /**
-     * Create the edit view either from existing data or user submitted data.
-     * @param $projectId String
-     * @param $projectDetails stdClass instance
-     * @param $shareSettings array
-     */
-    private function createEditView($projectId, $projectDetails, $shareSettings)
-    {
-        if (Config::get('pga_config.airavata')["data-sharing-enabled"]) {
-            if (SharingUtilities::userCanWrite(Session::get("username"), $projectId, ResourceType::PROJECT)) {
-                if ($shareSettings) {
-
-                    $profiles = SharingUtilities::getUserProfiles(array_keys($shareSettings));
-
-                    foreach ($profiles as $username => $profile) {
-                        $profile["access"] = $shareSettings[$username];
-                        $profiles[$username] = $profile;
-                    }
-                    $users = $profiles;
-                } else {
-                    $users = SharingUtilities::getProfilesForSharedUsers($projectId, ResourceType::PROJECT);
-                }
-                $owner = array();
-                if (strcmp(Session::get("username"), $projectDetails->owner) !== 0) {
-                    $owner[$projectDetails->owner] = $users[$projectDetails->owner];
-                    $users = array_diff_key($users, $owner);
-                }
-                $canEditSharing = strcmp(Session::get("username"), $projectDetails->owner) === 0;
-                return View::make("project/edit",
-                    array("projectId" => $projectId,
-                        "project" => $projectDetails,
-                        "users" => json_encode($users),
-                        "owner" => json_encode($owner),
-                        "canEditSharing" => $canEditSharing
-                    ));
-            }else {
-                return Redirect::to('project/summary?projId=' . urlencode($projectId))->with("error", "You do not have permission to edit this project.");
-            }
-        } else {
-            return View::make("project/no-sharing-edit",
-                array("projectId" => $projectId,
-                    "project" => $projectDetails,
-                ));
-        }
-    }
-
-    public function browseView()
-    {
-        $pageNo = Input::get('pageNo');
-        $prev = Input::get('prev');
-        $isSearch = Input::get('search');
-        if (empty($pageNo) || isset($isSearch) ) {
-            $pageNo = 1;
-        } else {
-            if (isset($prev)) {
-                $pageNo -= 1;
-            } else {
-                $pageNo += 1;
-            }
-        }
-
-        $searchValue = Input::get("search-value");
-        if(!empty($searchValue)){
-            $projects = ProjectUtilities::get_proj_search_results_with_pagination(Input::get("search-key"),
-                Input::get("search-value"), $this->limit, ($pageNo - 1) * $this->limit);
-        }else{
-            $projects = ProjectUtilities::get_all_user_accessible_projects_with_pagination($this->limit, ($pageNo - 1) * $this->limit);
-        }
-
-        $can_write = array();
-        $user = Session::get("username");
-        foreach($projects as $project) {
-            if(Config::get('pga_config.airavata')["data-sharing-enabled"]){
-                $can_write[$project->projectID] = SharingUtilities::userCanWrite($user, $project->projectID, ResourceType::PROJECT);
-            } else {
-                $can_write[$project->projectID] = true;
-            }
-        }
-
-        return View::make('project/browse', array(
-            'pageNo' => $pageNo,
-            'limit' => $this->limit,
-            'projects' => $projects,
-            'can_write' => $can_write
-        ));
-    }
-
-    /**
-     * Generate JSON containing permissions information for this project.
-     *
-     * This function retrieves the user profile and permissions for every user
-     * other than the client that has access to the project. In the event that
-     * the project does not exist, return an error message.
-     */
-    public function sharedUsers()
-    {
-        if (Session::has("authz-token") && array_key_exists('resourceId', $_GET)) {
-            return Response::json(SharingUtilities::getProfilesForSharedUsers($_GET['resourceId'], ResourceType::PROJECT));
-        }
-        else {
-            return Response::json(array("error" => "Error: No project specified"));
-        }
-    }
-
-    public function unsharedUsers()
-    {
-        if (Session::has("authz-token") && array_key_exists('resourceId', $_GET)) {
-            return Response::json(SharingUtilities::getProfilesForUnsharedUsers($_GET['resourceId'], ResourceType::PROJECT));
-        }
-        else {
-            return Response::json(array("error" => "Error: No project specified"));
-        }
-    }
-
-    public function allUsers()
-    {
-        return Response::json(SharingUtilities::getAllUserProfiles());
-    }
-}
-
-?>
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/StorageResourceController.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/StorageResourceController.php
deleted file mode 100755
index d060c6f5e7..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/StorageResourceController.php
+++ /dev/null
@@ -1,184 +0,0 @@
-<?php
-
-class StorageresourceController extends BaseController
-{
-
-    /**
-     *    Instantiate a new Storage Resource Controller Instance
-     **/
-
-    public function __construct()
-    {
-        $this->beforeFilter('verifyadmin');
-        Session::put("nav-active", "storage-resource");
-
-    }
-
-    public function createView()
-    {
-        $this->beforeFilter('verifyeditadmin');
-        Session::put("admin-nav", "sr-create");
-        $data = SRUtilities::getEditSRData();
-        return View::make("storage-resource/create", $data);
-    }
-
-    public function createSubmit()
-    {
-        $this->beforeFilter('verifyeditadmin');
-        $storageDescription = array(
-            "hostName" => trim(Input::get("hostname")),
-            "storageResourceDescription" => trim(Input::get("description")),
-            "enabled" => true
-        );
-        $storageResource = SRUtilities::register_or_update_storage_resource($storageDescription);
-
-        return Redirect::to("sr/edit?srId=" . $storageResource->storageResourceId);
-    }
-
-    public function editView()
-    {
-        $this->beforeFilter('verifyeditadmin');
-        $data = SRUtilities::getEditSRData();
-        $storageResourceId = "";
-        if (Input::has("srId"))
-            $storageResourceId = Input::get("srId");
-        else if (Session::has("storageResource")) {
-            $storageResource = Session::get("storageResource");
-            $storageResourceId = $storageResource->storageResourceId;
-        }
-        if ($storageResourceId != "") {
-            $storageResource = SRUtilities::get_storage_resource($storageResourceId);
-            $dataMovementInterfaces = array();
-            $addedDMI = array();
-            
-            if (count($storageResource->dataMovementInterfaces)) {
-                foreach ($storageResource->dataMovementInterfaces as $DMI) {
-                    $dataMovementInterfaces[] = SRUtilities::getDataMovementDetails($DMI->dataMovementInterfaceId, $DMI->dataMovementProtocol);
-                    $addedDMI[] = $DMI->dataMovementProtocol;
-                }
-            }
-            
-            $data["storageResource"] = $storageResource;
-            $data["dataMovementInterfaces"] = $dataMovementInterfaces;
-            $data["addedDMI"] = $addedDMI;
-            return View::make("storage-resource/edit", $data);
-        } else{
-            Session::put("message", "Unable to retrieve this Storage Resource. Please try again later or submit a bug report using the link in the Help menu.");
-            return View::make("storage-resource/browse");
-        }
-
-    }
-
-    public function editSubmit()
-    {   
-        $this->beforeFilter('verifyeditadmin');
-        $tabName = "";
-        if (Input::get("sr-edit") == "resDesc") /* Modify storage Resource description */ {
-            $storageResourceDescription = SRUtilities::get_storage_resource(Input::get("srId"));
-            $storageResourceDescription->hostName = trim(Input::get("hostname"));
-            $storageResourceDescription->resourceDescription = Input::get("description");
-
-            $storageResource = SRUtilities::register_or_update_storage_resource($storageResourceDescription, true);
-
-            $tabName = "#tab-desc";
-        }
-
-        if (Input::get("sr-edit") == "dmp" || Input::get("sr-edit") == "edit-dmi") /* Add / Modify a Data Movement Interface */ {
-            $update = false;
-            if (Input::get("sr-edit") == "edit-dmi")
-                $update = true;
-            $dataMovementInterface = SRUtilities::create_or_update_DMIObject(Input::all(), $update);
-
-            $tabName = "#tab-dataMovement";
-        } else if (Input::get("sr-edit") == "dmi-priority") {
-            $inputs = Input::all();
-            $storageDescription = SRUtilities::get_storage_resource(Input::get("srId"));
-            foreach ($storageDescription->dataMovementInterfaces as $index => $dmi) {
-                foreach ($inputs["dmi-id"] as $idIndex => $dmiId) {
-                    if ($dmiId == $dmi->dataMovementInterfaceId) {
-                        $storageDescription->dataMovementInterfaces[$index]->priorityOrder = $inputs["dmi-priority"][$idIndex];
-                        break;
-                    }
-                }
-            }
-            $storageResource = SRUtilities::register_or_update_storage_resource($storageDescription, true);
-
-            return 1; //currently done by ajax.
-        }
-
-        return Redirect::to("sr/edit?srId=" . Input::get("srId") . $tabName);
-    }
-
-    /*
-    public function srView()
-    {
-        $data = CRUtilities::getEditCRData();
-        $computeResourceId = "";
-        if (Input::has("crId"))
-            $computeResourceId = Input::get("crId");
-        else if (Session::has("computeResource")) {
-            $computeResource = Session::get("computeResource");
-            $computeResourceId = $computeResource->computeResourceId;
-        }
-
-        if ($computeResourceId != "") {
-            $computeResource = CRUtilities::get_compute_resource($computeResourceId);
-            $jobSubmissionInterfaces = array();
-            $dataMovementInterfaces = array();
-            $addedJSP = array();
-            $addedDMI = array();
-            //var_dump( $computeResource->jobSubmissionInterfaces); exit;
-            if (count($computeResource->jobSubmissionInterfaces)) {
-                foreach ($computeResource->jobSubmissionInterfaces as $JSI) {
-                    $jobSubmissionInterfaces[] = CRUtilities::getJobSubmissionDetails($JSI->jobSubmissionInterfaceId, $JSI->jobSubmissionProtocol);
-                    $addedJSP[] = $JSI->jobSubmissionProtocol;
-                }
-            }
-            //var_dump( CRUtilities::getJobSubmissionDetails( $data["computeResource"]->jobSubmissionInterfaces[0]->jobSubmissionInterfaceId, 1) ); exit;
-            if (count($computeResource->dataMovementInterfaces)) {
-                foreach ($computeResource->dataMovementInterfaces as $DMI) {
-                    $dataMovementInterfaces[] = CRUtilities::getDataMovementDetails($DMI->dataMovementInterfaceId, $DMI->dataMovementProtocol);
-                    $addedDMI[] = $DMI->dataMovementProtocol;
-                }
-            }
-
-            $data["computeResource"] = $computeResource;
-            $data["jobSubmissionInterfaces"] = $jobSubmissionInterfaces;
-            $data["dataMovementInterfaces"] = $dataMovementInterfaces;
-            $data["addedJSP"] = $addedJSP;
-            $data["addedDMI"] = $addedDMI;
-            //var_dump($data["jobSubmissionInterfaces"]); exit;
-            return View::make("resource/view", $data);
-        } else
-            return View::make("resource/browse")->with("login-alert", "Unable to retrieve this Compute Resource. Please report this error to devs.");
-
-    }
-    */
-
-    public function deleteActions()
-    {
-        $this->beforeFilter('verifyeditadmin');
-        $result = SRUtilities::deleteActions(Input::all());
-        if (Input::has("dmiId")) {
-            return Redirect::to("sr/edit?srId=" . Input::get("srId") . "#tab-dataMovement")
-                ->with("message", "Data Movement Protocol was deleted successfully");
-        } elseif (Input::has("del-srId")) {
-            return Redirect::to("sr/browse")->with("message", "The Storage Resource " . Input::get("del-srId") . " has been successfully deleted.");
-        } else
-            return $result;
-    }
-
-    public function browseView()
-    {
-        $data = SRUtilities::getBrowseSRData(false);
-        $allSRs = $data["srObjects"];
-
-        Session::put("admin-nav", "sr-browse");
-        return View::make("storage-resource/browse", array(
-            "allSRs" => $allSRs
-        ));
-
-    }
-}
-
-?>
\ No newline at end of file
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/UserSettingsController.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/UserSettingsController.php
deleted file mode 100755
index ef17e173c5..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/controllers/UserSettingsController.php
+++ /dev/null
@@ -1,320 +0,0 @@
-<?php
-
-class UserSettingsController extends BaseController
-{
-    public function __construct()
-    {
-        Session::put("nav-active", "user-menu");
-    }
-
-    public function getUserSettings() {
-        return View::make("account/settings");
-    }
-
-    public function getCredentialStore() {
-
-        $userResourceProfile = URPUtilities::get_or_create_user_resource_profile();
-        $userCredentialSummaries = URPUtilities::get_all_ssh_pub_keys_summary_for_user();
-        $defaultCredentialToken = $userResourceProfile->credentialStoreToken;
-        foreach ($userCredentialSummaries as $credentialSummary) {
-            $credentialSummary->canDelete = $this->canDeleteCredential($credentialSummary->token, $userResourceProfile);
-        }
-
-        return View::make("account/credential-store", array(
-            "userResourceProfile" => $userResourceProfile,
-            "credentialSummaries" => $userCredentialSummaries,
-            "defaultCredentialToken" => $defaultCredentialToken
-        ));
-    }
-
-    // Don't allow deleting credential if default credential or in use by a
-    // userComputeResourcePreference or a userStoragePreference
-    private function canDeleteCredential($token, $userResourceProfile) {
-        if ($token == $userResourceProfile->credentialStoreToken) {
-            return false;
-        } else {
-            foreach ($userResourceProfile->userComputeResourcePreferences as $userCompResPref) {
-                if ($userCompResPref->resourceSpecificCredentialStoreToken == $token) {
-                    return false;
-                }
-            }
-            foreach ($userResourceProfile->userStoragePreferences as $userStoragePreference) {
-                if ($userStoragePreference->resourceSpecificCredentialStoreToken == $token) {
-                    return false;
-                }
-            }
-        }
-        return true;
-    }
-
-    public function setDefaultCredential() {
-
-        $defaultToken = Input::get("defaultToken");
-        $userResourceProfile = URPUtilities::get_user_resource_profile();
-        $userResourceProfile->credentialStoreToken = $defaultToken;
-        URPUtilities::update_user_resource_profile($userResourceProfile);
-
-        $credentialSummaries = URPUtilities::get_all_ssh_pub_keys_summary_for_user();
-        $description = $credentialSummaries[$defaultToken]->description;
-
-        return Redirect::to("account/credential-store")->with("message", "SSH Key '$description' is now the default");
-    }
-
-    public function addCredential() {
-
-        $rules = array(
-            "credential-description" => "required",
-        );
-
-        $messages = array(
-            "credential-description.required" => "A description is required for a new SSH key",
-        );
-
-        $validator = Validator::make(Input::all(), $rules, $messages);
-        if ($validator->fails()) {
-            return Redirect::to("account/credential-store")
-                ->withErrors($validator);
-        }
-
-        $description = Input::get("credential-description");
-
-        if (AdminUtilities::create_ssh_token_for_user($description)) {
-            return Redirect::to("account/credential-store")->with("message", "SSH Key '$description' was added");
-        }
-    }
-
-    public function deleteCredential() {
-
-        $userResourceProfile = URPUtilities::get_user_resource_profile();
-        $credentialStoreToken = Input::get("credentialStoreToken");
-        if ($credentialStoreToken == $userResourceProfile->credentialStoreToken) {
-            return Redirect::to("account/credential-store")->with("error-message", "You are not allowed to delete the default SSH key.");
-        }
-
-        $credentialSummaries = URPUtilities::get_all_ssh_pub_keys_summary_for_user();
-        $description = $credentialSummaries[$credentialStoreToken]->description;
-
-        if (AdminUtilities::remove_ssh_token($credentialStoreToken)) {
-            return Redirect::to("account/credential-store")->with("message", "SSH Key '$description' was deleted");
-        }
-    }
-
-    public function getComputeResources(){
-
-        $userResourceProfile = URPUtilities::get_or_create_user_resource_profile();
-        $gatewayResourceProfile = CRUtilities::getGatewayResourceProfile();
-        $computeResourcePreferences = $gatewayResourceProfile->computeResourcePreferences;
-        $computeResourcePreferencesById = array();
-        foreach ($computeResourcePreferences as $computeResourcePreference) {
-            $computeResourcePreferencesById[$computeResourcePreference->computeResourceId] = $computeResourcePreference;
-        }
-
-        $allCRs = CRUtilities::getAllCRObjects();
-        foreach( $allCRs as $index => $crObject)
-        {
-            $allCRsById[$crObject->computeResourceId] = $crObject;
-        }
-        // Add crDetails to each UserComputeResourcePreference
-        foreach ($userResourceProfile->userComputeResourcePreferences as $index => $userCompResPref) {
-            $userCompResPref->crDetails = $allCRsById[$userCompResPref->computeResourceId];
-            // Disallow editing a UserComputeResourcePreference that was automatically setup by an sshAccountProvisioner
-            $userCompResPref->editable = true;
-            if (array_key_exists($userCompResPref->computeResourceId, $computeResourcePreferencesById)) {
-                $computeResourcePreference = $computeResourcePreferencesById[$userCompResPref->computeResourceId];
-                $userCompResPref->editable = $computeResourcePreference->sshAccountProvisioner == null;
-            }
-            // To figure out the unselectedCRs, remove this compute resource from allCRsById
-            unset($allCRsById[$userCompResPref->computeResourceId]);
-        }
-        $unselectedCRs = array_values($allCRsById);
-
-        $credentialSummaries = URPUtilities::get_all_ssh_pub_keys_summary_for_user();
-        $defaultCredentialSummary = $credentialSummaries[$userResourceProfile->credentialStoreToken];
-
-        return View::make("account/user-compute-resources", array(
-            "userResourceProfile" => $userResourceProfile,
-            "computeResources" => $allCRs,
-            "unselectedCRs" => $unselectedCRs,
-            "credentialSummaries" => $credentialSummaries,
-            "defaultCredentialSummary" => $defaultCredentialSummary
-        ));
-    }
-
-    public function addUserComputeResourcePreference() {
-
-        if( URPUtilities::add_or_update_user_CRP( Input::all()) )
-        {
-            return Redirect::to("account/user-compute-resources")->with("message","Compute Resource Account Settings have been saved.");
-        }
-    }
-
-    public function updateUserComputeResourcePreference() {
-
-        if( URPUtilities::add_or_update_user_CRP( Input::all(), true ) )
-        {
-            return Redirect::to("account/user-compute-resources")->with("message","Compute Resource Account Settings have been updated.");
-        }
-    }
-
-    public function deleteUserComputeResourcePreference() {
-        $computeResourceId = Input::get("rem-user-crId");
-        $result = URPUtilities::delete_user_CRP( $computeResourceId );
-        if( $result )
-        {
-            return Redirect::to("account/user-compute-resources")->with("message","Compute Resource Account Settings have been deleted.");
-        }
-    }
-
-    public function getStorageResources(){
-
-        $userResourceProfile = URPUtilities::get_or_create_user_resource_profile();
-
-        $allSRs = SRUtilities::getAllSRObjects();
-        foreach( $allSRs as $index => $srObject )
-        {
-            $allSRsById[$srObject->storageResourceId] = $srObject;
-        }
-        // Add srDetails to each UserStoragePreference
-        foreach ($userResourceProfile->userStoragePreferences as $index => $userStoragePreference) {
-            $userStoragePreference->srDetails = $allSRsById[$userStoragePreference->storageResourceId];
-            // To figure out the unselectedSRs, remove this storage resource from allSRsById
-            unset($allSRsById[$userStoragePreference->storageResourceId]);
-        }
-        $unselectedSRs = array_values($allSRsById);
-
-        $credentialSummaries = URPUtilities::get_all_ssh_pub_keys_summary_for_user();
-        $defaultCredentialSummary = $credentialSummaries[$userResourceProfile->credentialStoreToken];
-
-        return View::make("account/user-storage-resources", array(
-            "userResourceProfile" => $userResourceProfile,
-            "storageResources" => $allSRs,
-            "unselectedSRs" => $unselectedSRs,
-            "credentialSummaries" => $credentialSummaries,
-            "defaultCredentialSummary" => $defaultCredentialSummary
-        ));
-    }
-
-    public function addUserStorageResourcePreference() {
-
-        if( URPUtilities::add_or_update_user_SRP( Input::all()) )
-        {
-            return Redirect::to("account/user-storage-resources")->with("message","Storage Resource Account Settings have been saved.");
-        }
-    }
-
-    public function updateUserStorageResourcePreference() {
-
-        if( URPUtilities::add_or_update_user_SRP( Input::all(), true ) )
-        {
-            return Redirect::to("account/user-storage-resources")->with("message","Storage Resource Account Settings have been updated.");
-        }
-    }
-
-    public function deleteUserStorageResourcePreference() {
-        $storageResourceId = Input::get("rem-user-srId");
-        $result = URPUtilities::delete_user_SRP( $storageResourceId );
-        if( $result )
-        {
-            return Redirect::to("account/user-storage-resources")->with("message","Storage Resource Account Settings have been deleted.");
-        }
-    }
-
-    public function getUserProfile() {
-
-        $userProfile = UserProfileUtilities::get_user_profile(Session::get("username"));
-        return View::make("account/user-profile", array(
-            "userProfile" => $userProfile
-        ));
-    }
-
-    public function updateUserProfile() {
-
-        $username = Session::get('username');
-        $userProfile = UserProfileUtilities::get_user_profile($username);
-
-        // Copy data from form to $userProfile object and update
-        $userProfile->firstName = Input::get("firstName");
-        $userProfile->lastName = Input::get("lastName");
-        $userProfile->homeOrganization = Input::get("homeOrganization");
-        try {
-            UserProfileUtilities::update_user_profile($userProfile);
-            // Now update the UserProfile in the Session
-            $userProfile = UserProfileUtilities::get_user_profile($username);
-            Session::put("user-profile", $userProfile);
-            return Redirect::to("account/user-profile")->with("message", "Your profile has been updated.");
-        } catch (Exception $e) {
-            return View::make("account/user-profile", array(
-                "userProfile" => $userProfile,
-                "errorMessage" => "An error occurred while trying to update your profile: " . $e->getMessage()
-            ));
-        }
-
-    }
-
-    public function showUpdateEmailView() {
-        try {
-            $userProfile = UserProfileUtilities::get_user_profile(Session::get("username"));
-        } catch (Exception $e) {
-            Log::error("Failed to retrieve user profile. Error: " . $e->getMessage());
-            return View::make("account/user-profile-update-email", array(
-                "email" => null
-            ));
-        }
-        return View::make("account/user-profile-update-email", array(
-            "email" => $userProfile->emails[0]
-        ));
-    }
-
-    public function submitUpdateEmail() {
-
-        try {
-            $username = Session::get("username");
-            $newEmail = Input::get("newEmail");
-            $user_profile = UserProfileUtilities::get_user_profile($username);
-            EmailUtilities::sendVerifyUpdatedEmailAccount($username, $user_profile->firstName, $user_profile->lastName, $newEmail);
-            Session::put("UserSettingsController_newEmail", $newEmail);
-            return Redirect::to("account/user-profile")->with("message",
-                "Confirmation email has been sent to " . htmlspecialchars($newEmail)
-                . ". Please click on the confirmation link in the email once you receive it.");
-        } catch (Exception $e) {
-            return View::make("account/user-profile-update-email", array(
-                "email" => Input::get("newEmail"),
-                "errorMessage" => "An error occurred while trying to submit updated email address: " . $e->getMessage()
-            ));
-        }
-    }
-
-    public function confirmUpdateEmail() {
-
-        try {
-            $username = Input::get("username");
-            $code = Input::get("code");
-
-            $verified = EmailUtilities::verifyUpdatedEmailAccount($username, $code);
-            if ($verified) {
-                $newEmail = Session::get("UserSettingsController_newEmail");
-                if (empty($newEmail)) {
-                    throw new Exception("New email not found in session");
-                }
-                $user_profile = UserProfileUtilities::get_user_profile($username);
-                $user_profile->emails = array($newEmail);
-                $result = UserProfileUtilities::update_user_profile($user_profile);
-                if ($result) {
-                    return Redirect::to("account/user-profile")->with(
-                        "message", "Email address updated successfully");
-                } else {
-                    return Redirect::to("account/user-profile-update-email")->with(
-                        "errorMessage", "Failed to update email address, please try again.");
-                }
-            } else {
-                return Redirect::to("account/user-profile-update-email")->with(
-                    "errorMessage", "Failed to update email address, please try again. Reason: confirmation link was not verified successfully.");
-            }
-        } catch (Exception $e) {
-            Log::error("Failed to update email address", array(Input::all()));
-            Log::error($e);
-            return Redirect::to("account/user-profile-update-email")->with(
-                "errorMessage", "Failed to update email address, please try again. Reason: " . $e->getMessage());
-        }
-    }
-}
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/database/production.sqlite b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/database/production.sqlite
deleted file mode 100755
index e69de29bb2..0000000000
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/database/seeds/DatabaseSeeder.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/database/seeds/DatabaseSeeder.php
deleted file mode 100755
index 1989252073..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/database/seeds/DatabaseSeeder.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-class DatabaseSeeder extends Seeder {
-
-	/**
-	 * Run the database seeds.
-	 *
-	 * @return void
-	 */
-	public function run()
-	{
-		Eloquent::unguard();
-
-		// $this->call('UserTableSeeder');
-	}
-
-}
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/filters.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/filters.php
deleted file mode 100755
index 427eeaaa42..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/filters.php
+++ /dev/null
@@ -1,154 +0,0 @@
-<?php
-
-/*
-|--------------------------------------------------------------------------
-| Application & Route Filters
-|--------------------------------------------------------------------------
-|
-| Below you will find the "before" and "after" events for the application
-| which may be used to do any work before or after a request into your
-| application. Here you may also register your custom route filters.
-|
-*/
-
-//        To invalidate the SOAP WSDL caches
-//        ini_set('soap.wsdl_cache_enabled',0);
-//        ini_set('soap.wsdl_cache_ttl',0);
-
-App::before(function ($request) {
-    //Check OAuth token has expired
-    if(Session::has('authz-token')){
-        $currentTime = time();
-        if($currentTime > Session::get('oauth-expiration-time')){
-            $response = Keycloak::getRefreshedOAuthToken(Session::get('oauth-refresh-code'));
-            if(isset($response->access_token)){
-                $accessToken = $response->access_token;
-                $refreshToken = $response->refresh_token;
-                $expirationTime = time() + $response->expires_in - 300; // 5 minutes safe margin
-                $authzToken = Session::get('authz-token');
-                $authzToken->accessToken = $accessToken;
-                $authzToken->claimsMap['gatewayID'] = Config::get('pga_config.airavata')['gateway-id'];
-                $authzToken->claimsMap['userName'] = Session::get('username');
-                Session::put('authz-token',$authzToken);
-                Session::put('oauth-refresh-code',$refreshToken);
-                Session::put('oauth-expiration-time',$expirationTime);
-            }else{
-                Session::flush();
-                return Redirect::to('home');
-            }
-        }
-    }
-});
-
-// Check if Airavata is up
-App::before(function ($request) {
-
-    // Exclude logout from check so that user can logout
-    if ($request->path() == "logout") {
-        return;
-    }
-    if ( Session::has('authorized-user') || Session::has('admin') || Session::has('admin-read-only') ) {
-        // Use "airavata-down" flash variable as a way to prevent infinite redirect
-        if (!CommonUtilities::isAiravataUp() && !Session::has("airavata-down")) {
-            return Redirect::to("home")->with("airavata-down", true);
-        }
-    }
-});
-
-
-App::after(function ($request, $response) {
-    //
-    // Test commit.
-});
-
-/*
-|--------------------------------------------------------------------------
-| Authentication Filters
-|--------------------------------------------------------------------------
-|
-| The following filters are used to verify that the user of the current
-| session is logged into this application. The "basic" filter easily
-| integrates HTTP Basic authentication for quick, simple checking.
-|
-*/
-
-Route::filter('auth', function () {
-    if (Auth::guest()) {
-        if (Request::ajax()) {
-            return Response::make('Unauthorized', 401);
-        } else {
-            return Redirect::guest('login');
-        }
-    }
-});
-
-
-Route::filter('auth.basic', function () {
-    return Auth::basic();
-});
-
-/*
-|--------------------------------------------------------------------------
-| Guest Filter
-|--------------------------------------------------------------------------
-|
-| The "guest" filter is the counterpart of the authentication filters as
-| it simply checks that the current user is not logged in. A redirect
-| response will be issued if they are, which you may freely change.
-|
-*/
-
-Route::filter('guest', function () {
-    if (Auth::check()) return Redirect::to('/');
-});
-
-/*
-|--------------------------------------------------------------------------
-| CSRF Protection Filter
-|--------------------------------------------------------------------------
-|
-| The CSRF filter is responsible for protecting your application against
-| cross-site request forgery attacks. If this special token in a user
-| session does not match the one given in this request, we'll bail.
-|
-*/
-
-Route::filter('csrf', function () {
-    if (Session::token() != Input::get('_token')) {
-        throw new Illuminate\Session\TokenMismatchException;
-    }
-});
-
-
-Route::filter('verifylogin', function () {
-    if (!CommonUtilities::verify_login())
-        return Redirect::to("home")->with("login-alert", true);
-});
-
-Route::filter('verifyauthorizeduser', function () {
-    if (CommonUtilities::verify_login()) {
-        if (!(Session::has("admin") || Session::has("admin-read-only") || Session::has("authorized-user"))) {
-            return Redirect::to("home");
-        }
-    } else
-        return Redirect::to("home")->with("login-alert", true);
-});
-
-
-Route::filter('verifyadmin', function () {
-    if (CommonUtilities::verify_login()) {
-        if (!Session::has("admin") && !Session::has("admin-read-only") && !Session::has("gateway-provider")) {
-            return Redirect::to("home")->with("admin-alert", true);
-        }
-    } else
-        return Redirect::to("home")->with("login-alert", true);
-});
-
-Route::filter('verifyeditadmin', function () {
-    if (CommonUtilities::verify_login()) {
-        if (!Session::has("admin")) {
-            return Redirect::to("home")->with("admin-alert", true);
-        }
-    } else
-        return Redirect::to("home")->with("login-alert", true);
-});
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/lang/en/pagination.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/lang/en/pagination.php
deleted file mode 100755
index 6b99ef5fd8..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/lang/en/pagination.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Pagination Language Lines
-	|--------------------------------------------------------------------------
-	|
-	| The following language lines are used by the paginator library to build
-	| the simple pagination links. You are free to change them to anything
-	| you want to customize your views to better match your application.
-	|
-	*/
-
-	'previous' => '&laquo; Previous',
-
-	'next'     => 'Next &raquo;',
-
-);
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/lang/en/reminders.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/lang/en/reminders.php
deleted file mode 100755
index e42148e9fb..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/lang/en/reminders.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Password Reminder Language Lines
-	|--------------------------------------------------------------------------
-	|
-	| The following language lines are the default lines which match reasons
-	| that are given by the password broker for a password update attempt
-	| has failed, such as for an invalid token or invalid new password.
-	|
-	*/
-
-	"password" => "Passwords must be at least six characters and match the confirmation.",
-
-	"user" => "We can't find a user with that e-mail address.",
-
-	"token" => "This password reset token is invalid.",
-
-	"sent" => "Password reminder sent!",
-
-);
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/lang/en/validation.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/lang/en/validation.php
deleted file mode 100755
index b03b926c8f..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/lang/en/validation.php
+++ /dev/null
@@ -1,104 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Validation Language Lines
-	|--------------------------------------------------------------------------
-	|
-	| The following language lines contain the default error messages used by
-	| the validator class. Some of these rules have multiple versions such
-	| as the size rules. Feel free to tweak each of these messages here.
-	|
-	*/
-
-	"accepted"             => "The :attribute must be accepted.",
-	"active_url"           => "The :attribute is not a valid URL.",
-	"after"                => "The :attribute must be a date after :date.",
-	"alpha"                => "The :attribute may only contain letters.",
-	"alpha_dash"           => "The :attribute may only contain letters, numbers, and dashes.",
-	"alpha_num"            => "The :attribute may only contain letters and numbers.",
-	"array"                => "The :attribute must be an array.",
-	"before"               => "The :attribute must be a date before :date.",
-	"between"              => array(
-		"numeric" => "The :attribute must be between :min and :max.",
-		"file"    => "The :attribute must be between :min and :max kilobytes.",
-		"string"  => "The :attribute must be between :min and :max characters.",
-		"array"   => "The :attribute must have between :min and :max items.",
-	),
-	"confirmed"            => "The :attribute confirmation does not match.",
-	"date"                 => "The :attribute is not a valid date.",
-	"date_format"          => "The :attribute does not match the format :format.",
-	"different"            => "The :attribute and :other must be different.",
-	"digits"               => "The :attribute must be :digits digits.",
-	"digits_between"       => "The :attribute must be between :min and :max digits.",
-	"email"                => "The :attribute must be a valid email address.",
-	"exists"               => "The selected :attribute is invalid.",
-	"image"                => "The :attribute must be an image.",
-	"in"                   => "The selected :attribute is invalid.",
-	"integer"              => "The :attribute must be an integer.",
-	"ip"                   => "The :attribute must be a valid IP address.",
-	"max"                  => array(
-		"numeric" => "The :attribute may not be greater than :max.",
-		"file"    => "The :attribute may not be greater than :max kilobytes.",
-		"string"  => "The :attribute may not be greater than :max characters.",
-		"array"   => "The :attribute may not have more than :max items.",
-	),
-	"mimes"                => "The :attribute must be a file of type: :values.",
-	"min"                  => array(
-		"numeric" => "The :attribute must be at least :min.",
-		"file"    => "The :attribute must be at least :min kilobytes.",
-		"string"  => "The :attribute must be at least :min characters.",
-		"array"   => "The :attribute must have at least :min items.",
-	),
-	"not_in"               => "The selected :attribute is invalid.",
-	"numeric"              => "The :attribute must be a number.",
-	"regex"                => "The :attribute format is invalid.",
-	"required"             => "The :attribute field is required.",
-	"required_if"          => "The :attribute field is required when :other is :value.",
-	"required_with"        => "The :attribute field is required when :values is present.",
-	"required_with_all"    => "The :attribute field is required when :values is present.",
-	"required_without"     => "The :attribute field is required when :values is not present.",
-	"required_without_all" => "The :attribute field is required when none of :values are present.",
-	"same"                 => "The :attribute and :other must match.",
-	"size"                 => array(
-		"numeric" => "The :attribute must be :size.",
-		"file"    => "The :attribute must be :size kilobytes.",
-		"string"  => "The :attribute must be :size characters.",
-		"array"   => "The :attribute must contain :size items.",
-	),
-	"unique"               => "The :attribute has already been taken.",
-	"url"                  => "The :attribute format is invalid.",
-
-	/*
-	|--------------------------------------------------------------------------
-	| Custom Validation Language Lines
-	|--------------------------------------------------------------------------
-	|
-	| Here you may specify custom validation messages for attributes using the
-	| convention "attribute.rule" to name the lines. This makes it quick to
-	| specify a specific custom language line for a given attribute rule.
-	|
-	*/
-
-	'custom' => array(
-		'attribute-name' => array(
-			'rule-name' => 'custom-message',
-		),
-	),
-
-	/*
-	|--------------------------------------------------------------------------
-	| Custom Validation Attributes
-	|--------------------------------------------------------------------------
-	|
-	| The following language lines are used to swap attribute place-holders
-	| with something more reader friendly such as E-Mail Address instead
-	| of "email". This simply helps us make messages a little cleaner.
-	|
-	*/
-
-	'attributes' => array(),
-
-);
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/libraries/AdminUtilities.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/libraries/AdminUtilities.php
deleted file mode 100755
index 3c11266e45..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/libraries/AdminUtilities.php
+++ /dev/null
@@ -1,405 +0,0 @@
-<?php
-
-use Airavata\Model\Workspace\Gateway;
-use Airavata\Model\Workspace\GatewayApprovalStatus;
-use Airavata\Model\Workspace\Notification;
-use Airavata\Model\Workspace\NotificationPriority;
-use Airavata\Model\Credential\Store\SummaryType;
-use Illuminate\Support\Facades\Log;
-
-class AdminUtilities
-{
-
-    /**
-     * To create a new gateway
-     * @param $input
-     * @return string
-     */
-    public static function add_gateway($inputs)
-    {
-        $gateway = new Gateway();
-        $id = preg_replace('~^[^a-zA-Z0-9]+|[^a-zA-Z0-9]+$~', '', $inputs["gateway-name"]);
-        $id = strtolower(preg_replace('~[^a-zA-Z0-9]+~', '-', $id));
-        $gateway->gatewayId = $id;
-        $gateway->gatewayName = $inputs["gateway-name"];
-        $gateway->emailAddress = $inputs["email-address"];
-        $gateway->gatewayURL = $inputs["gateway-url"];
-        $gateway->gatewayAdminFirstName = $inputs["admin-firstname"];
-        $gateway->gatewayAdminEmail = $inputs["admin-email"];
-        $gateway->gatewayAdminLastName = $inputs["admin-lastname"];
-        $gateway->identityServerUserName = $inputs["admin-username"];
-        $token = AdminUtilities::create_pwd_token([
-            "username" => $inputs["admin-username"],
-            "password" => $inputs["admin-password"],
-            "description" => "Admin user password for Gateway " . $id
-        ]);
-        $gateway->identityServerPasswordToken  = $token;
-        $gateway->reviewProposalDescription = $inputs["project-details"];
-        $gateway->gatewayPublicAbstract = $inputs["public-project-description"];
-        $gateway->requesterUsername = Session::get('username');
-        $gateway->gatewayApprovalStatus = GatewayApprovalStatus::APPROVED;
-
-        try {
-            TenantProfileService::addGateway(Session::get('authz-token'), $gateway);
-            return 1;
-        }
-        catch (Exception $ex) {
-            return -1;
-        }
-    }
-
-    public static function get_gateway( $gateway_id)
-    {
-        return TenantProfileService::getGateway( Session::get("authz-token"), $gateway_id);
-    }
-
-    public static function get_gateways_for_requester( $username )
-    {
-        return TenantProfileService::getAllGatewaysForUser( Session::get("authz-token"), $username );
-    }
-
-    public static function check_request( $inputs)
-    {
-        $gateway = new Gateway( $inputs);
-        $id = preg_replace('~^[^a-zA-Z0-9]+|[^a-zA-Z0-9]+$~', '', $inputs["gateway-name"]);
-        $id = strtolower(preg_replace('~[^a-zA-Z0-9]+~', '-', $id));
-        $gateway->gatewayId = $id;
-        $gateway->gatewayApprovalStatus = GatewayApprovalStatus::REQUESTED;
-        //$gateway->domain = 'airavata.' . $inputs["gateway-acronym"];
-        $gateway->gatewayName = $inputs["gateway-name"];
-        $gateway->emailAddress = $inputs["email-address"];
-        $gateway->gatewayPublicAbstract = $inputs["public-project-description"];
-        $gateway->requesterUsername = Session::get('username');
-
-        try {
-            TenantProfileService::addGateway(Session::get('authz-token'), $gateway);
-            return 1;
-        }
-        catch (Exception $ex) {
-            return -1;
-        }
-    }
-
-    public static function request_gateway( $inputs)
-    {
-        $gateway = new Gateway( $inputs);
-        $id = preg_replace('~^[^a-zA-Z0-9]+|[^a-zA-Z0-9]+$~', '', $inputs["gateway-name"]);
-        $id = strtolower(preg_replace('~[^a-zA-Z0-9]+~', '-', $id));
-        $gateway->gatewayId = $id;
-        $gateway->gatewayApprovalStatus = GatewayApprovalStatus::APPROVED;
-        //$gateway->domain = 'airavata.' . $inputs["gateway-acronym"];
-        $gateway->gatewayName = $inputs["gateway-name"];
-        $gateway->emailAddress = $inputs["email-address"];
-        //$gateway->gatewayAcronym = $inputs["gateway-acronym"];
-        $gateway->gatewayURL = $inputs["gateway-url"];
-        $gateway->gatewayAdminFirstName = $inputs["admin-firstname"];
-        $gateway->gatewayAdminLastName = $inputs["admin-lastname"];
-        $gateway->identityServerUserName = $inputs["admin-username"];
-        $token = AdminUtilities::create_pwd_token([
-            "username" => $inputs["admin-username"],
-            "password" => $inputs["admin-password"],
-            "description" => "Admin user password for Gateway " . $id
-        ]);
-        $gateway->identityServerPasswordToken  = $token;
-        $gateway->reviewProposalDescription = $inputs["project-details"];
-        $gateway->gatewayPublicAbstract = $inputs["public-project-description"];
-        $gateway->requesterUsername = Session::get('username');
-
-        return TenantProfileService::addGateway(Session::get('authz-token'), $gateway);
-    }
-
-    public static function get_gateway_approval_statuses()
-    {
-        $gatewayApprovalStatusObject = new GatewayApprovalStatus();
-        return $gatewayApprovalStatusObject::$__names;
-    }
-
-    public static function update_form( $gatewayId, $gatewayData){
-
-        if( isset( $gatewayData["updateRequest"])) {
-            return TenantProfileService::getGateway( Session::get('authz-token'), $gatewayId);
-        }
-
-    }
-
-    public static function user_update_gateway( $gatewayId, $gatewayData){
-        $gateway = TenantProfileService::getGateway( Session::get('authz-token'), $gatewayId);
-        $gateway->gatewayApprovalStatus = GatewayApprovalStatus::APPROVED;
-        $gateway->emailAddress = $gatewayData["email-address"];
-        $gateway->gatewayURL = $gatewayData["gateway-url"];
-        $gateway->reviewProposalDescription = $gatewayData["project-details"];
-        $gateway->gatewayPublicAbstract = $gatewayData["public-project-description"];
-        if( TenantProfileService::updateGateway( Session::get('authz-token'), $gateway) ){
-            return 1;
-        }
-        else{
-            //Need to find a better way for this.
-            // retun echo "Tenant Name is already in use";
-            return -1;
-        }
-    }
-
-    public static function update_gateway( $gatewayId, $gatewayData){
-
-        $gateway = TenantProfileService::getGateway( Session::get('authz-token'), $gatewayId);
-        if( isset( $gatewayData["cancelRequest"]))
-            $gateway->gatewayApprovalStatus = GatewayApprovalStatus::CANCELLED;
-        else{
-            $gateway->gatewayName = $gatewayData["gatewayName"];
-            $gateway->gatewayURL = $gatewayData["gatewayURL"];
-            $gateway->declinedReason = $gatewayData["declinedReason"];
-        }
-        if( isset($gatewayData["createTenant"])) {
-            $gatewayData["declinedReason"] = " ";
-            if ($gateway->identityServerPasswordToken == null)
-            {
-                Session::flash("errorMessages", "Error: Please provide an admin password.");
-                return -1;
-            }
-            foreach ($gatewayData as $key => $data) {
-                // Don't check these fields, see related check above
-                // where we make sure that password is provided
-                if ($key == "gatewayAdminPassword" || $key == "gatewayAdminPasswordConfirm") {
-                    continue;
-                }
-                if ($data == null) {
-                    return -1;
-                }
-            }
-            $gateway = IamAdminServices::setUpGateway( Session::get('authz-token'), $gateway);
-            $gateway->gatewayApprovalStatus = GatewayApprovalStatus::CREATED;
-        }
-        elseif( isset( $gatewayData["approveRequest"])){
-            $gateway->emailAddress = $gatewayData["emailAddress"];
-            $gateway->gatewayURL = $gatewayData["gatewayURL"];
-            $gateway->gatewayAdminFirstName = $gatewayData["gatewayAdminFirstName"];
-            $gateway->gatewayAdminLastName = $gatewayData["gatewayAdminLastName"];
-            $gateway->gatewayAdminEmail = $gatewayData["gatewayAdminEmail"];
-            $gateway->identityServerUserName = $gatewayData["identityServerUserName"];
-            if (!empty($gatewayData["gatewayAdminPassword"])) {
-                $token = AdminUtilities::create_pwd_token([
-                    "username" => $gatewayData["identityServerUserName"],
-                    "password" => $gatewayData["gatewayAdminPassword"],
-                    "description" => "Admin user password for Gateway " . $gateway->gatewayName
-                ]);
-                $gateway->identityServerPasswordToken = $token;
-            }
-            $gateway->reviewProposalDescription = $gatewayData["reviewProposalDescription"];
-            $gateway->gatewayPublicAbstract = $gatewayData["gatewayPublicAbstract"];
-            $gateway->gatewayApprovalStatus = GatewayApprovalStatus::APPROVED;
-        }
-        elseif( isset( $gatewayData["denyRequest"])){
-            $gateway->gatewayApprovalStatus = GatewayApprovalStatus::DENIED;
-        }
-        elseif( isset( $gatewayData["updateGateway"])){
-            $gateway->emailAddress = $gatewayData["emailAddress"];
-            $gateway->gatewayURL = $gatewayData["gatewayURL"];
-            $gateway->gatewayAdminFirstName = $gatewayData["gatewayAdminFirstName"];
-            $gateway->gatewayAdminLastName = $gatewayData["gatewayAdminLastName"];
-            $gateway->gatewayAdminEmail = $gatewayData["gatewayAdminEmail"];
-            $gateway->identityServerUserName = $gatewayData["identityServerUserName"];
-            if (!empty($gatewayData["gatewayAdminPassword"])) {
-                $token = AdminUtilities::create_pwd_token([
-                    "username" => $gatewayData["identityServerUserName"],
-                    "password" => $gatewayData["gatewayAdminPassword"],
-                    "description" => "Admin user password for Gateway " . $gateway->gatewayName
-                ]);
-                $gateway->identityServerPasswordToken = $token;
-            }
-            $gateway->reviewProposalDescription = $gatewayData["reviewProposalDescription"];
-            $gateway->gatewayPublicAbstract = $gatewayData["gatewayPublicAbstract"];
-            $gateway->gatewayApprovalStatus = GatewayApprovalStatus::APPROVED;
-        }
-        elseif( isset( $gatewayData["deployGateway"])){
-            $gateway->gatewayApprovalStatus = GatewayApprovalStatus::DEPLOYED;
-        }
-        elseif( isset( $gatewayData["deactivateGateway"])){
-            $gateway->gatewayApprovalStatus = GatewayApprovalStatus::DEACTIVATED;
-        }
-
-        if( TenantProfileService::updateGateway( Session::get('authz-token'), $gateway) ){
-            return 1;
-        }
-        else{
-            //Need to find a better way for this.
-           // retun echo "Tenant Name is already in use";
-            return -1;
-        }
-    }
-
-    public static function add_tenant( $gateway){
-        $tenants = WSIS::getTenants();
-        $tenantExists = false;
-        foreach( $tenants as $tenant){
-            if( $tenant->tenantDomain == $gateway->domain){
-                $tenantExists = true;
-            }
-        }
-        if( !$tenantExists){
-            $gatewayDomain = $gateway->domain;
-
-            //finally create tenant
-            return WSIS::createTenant(1, $gateway->identityServerUserName, $gateway->identityServerPasswordToken, $gateway->emailAddress, $gateway->gatewayAdminFirstName, $gateway->gatewayAdminLastName, $gatewayDomain);
-        }
-        else
-            return false;
-    }
-
-    /**
-     * Method to get experiment execution statistics object
-     * @param $fromTime
-     * @param $toTime
-     * @return \Airavata\Model\Experiment\ExperimentStatistics
-     */
-    public static function get_experiment_execution_statistics($fromTime, $toTime, $username, $appname, $hostname)
-    {
-        if (trim($username) == '') {
-            $username = null;
-        }
-        if (trim($appname) == '') {
-            $appname = null;
-        }
-        if (trim($hostname) == '') {
-            $hostname = null;
-        }
-        return Airavata::getExperimentStatistics(Session::get('authz-token'),
-            Config::get('pga_config.airavata')['gateway-id'], $fromTime, $toTime, $username, $appname, $hostname);
-    }
-
-    /**
-     * Method to get experiments of a particular time range
-     * @param $inputs
-     * @return array
-     */
-    public static function get_experiments_of_time_range($inputs)
-    {
-        $experimentStatistics = AdminUtilities::get_experiment_execution_statistics(
-            strtotime($inputs["from-date"]) * 1000,
-            strtotime($inputs["to-date"]) * 1000,
-            $inputs['username'],
-            $inputs['appname'],
-            $inputs['hostname']
-        );
-        $experiments = array();
-        if ($inputs["status-type"] == "ALL") {
-            $experiments = $experimentStatistics->allExperiments;
-        }else if ($inputs["status-type"] == "COMPLETED") {
-            $experiments = $experimentStatistics->completedExperiments;
-        }else if ($inputs["status-type"] == "CREATED") {
-            $experiments = $experimentStatistics->createdExperiments;
-        }else if ($inputs["status-type"] == "RUNNING") {
-            $experiments = $experimentStatistics->runningExperiments;
-        } elseif ($inputs["status-type"] == "FAILED") {
-            $experiments = $experimentStatistics->failedExperiments;
-        } else if ($inputs["status-type"] == "CANCELED") {
-            $experiments = $experimentStatistics->cancelledExperiments;
-        }
-
-        $expContainer = array();
-        $expNum = 0;
-        foreach ($experiments as $experiment) {
-            //var_dump( $experiment); exit;
-            $expValue = ExperimentUtilities::get_experiment_values($experiment, true);
-            $expContainer[$expNum]['experiment'] = $experiment;
-            $expValue["editable"] = false;
-            $expContainer[$expNum]['expValue'] = $expValue;
-            $expNum++;
-        }
-
-        return $expContainer;
-    }
-
-    public static function create_ssh_token_for_gateway($description) {
-        $token = Airavata::generateAndRegisterSSHKeys(Session::get('authz-token'), $description);
-    }
-
-    public static function create_ssh_token_for_user($description) {
-        return Airavata::generateAndRegisterSSHKeys(Session::get('authz-token'), $description);
-    }
-
-    public static function create_pwd_token($inputs){
-        $username = $inputs['username'];
-        $password = $inputs['password'];
-        $description = $inputs['description'];
-        return $newToken = Airavata::registerPwdCredential( Session::get('authz-token'),
-            $username, $password, $description);
-
-    }
-
-    public static function get_all_ssh_tokens_with_description(){
-        return Airavata::getAllCredentialSummaries( Session::get('authz-token'), "SSH");
-    }
-
-    public static function get_all_pwd_tokens(){
-        $credential_summaries = Airavata::getAllCredentialSummaries(Session::get('authz-token'), SummaryType::PASSWD);
-        $result = [];
-        foreach ($credential_summaries as $credential_summary) {
-            $result[$credential_summary->token] = $credential_summary->description;
-        }
-        return $result;
-    }
-
-    public static function remove_ssh_token( $token){
-        return Airavata::deleteSSHPubKey( Session::get('authz-token'), $token);
-    }
-
-    public static function remove_pwd_token( $token){
-        return Airavata::deletePWDCredential( Session::get('authz-token'), $token);
-    }
-
-    public static function add_or_update_notice( $notifData, $update = false){
-        $notification = new Notification();
-        $notification->gatewayId = Session::get("gateway_id");
-        $notification->title = $notifData["title"];
-        $notification->notificationMessage = $notifData["notificationMessage"];
-        $notification->publishedTime = strtotime( $notifData["publishedTime"])* 1000;
-        $notification->expirationTime = strtotime( $notifData["expirationTime"]) * 1000;
-        $notification->priority = intval($notifData["priority"]);
-
-        if( $update){
-            $notification->notificationId =  $notifData["notificationId"];
-            if( Airavata::updateNotification( Session::get("authz-token"), $notification) )
-            {
-                return json_encode( Airavata::getNotification(  Session::get('authz-token'),
-                                                                Session::get("gateway_id"),
-                                                                $notifData["notificationId"] ));
-            }
-            else
-                0;
-        }
-        else
-            return Airavata::getNotification(
-                    Session::get('authz-token'),
-                    Session::get("gateway_id"),
-                    Airavata::createNotification( Session::get("authz-token"), $notification) );
-    }
-
-    public static function delete_notice( $notificationId){
-        return Airavata::deleteNotification( Session::get('authz-token'), Session::get("gateway_id"), $notificationId);
-    }
-
-    public static function add_or_update_IDP($inputs)
-    {
-        $gatewayId = $inputs['gatewayId'];
-        $identityServerTenant = $inputs['identityServerTenant'];
-        $identityServerPwdCredToken = $inputs['identityServerPwdCredToken'];
-
-        $gp = Airavata::getGatewayResourceProfile(Session::get('authz-token'), $gatewayId);
-        if(!empty($identityServerTenant)){
-            $gp->identityServerTenant = $identityServerTenant;
-        }else{
-            $gp->identityServerTenant = "";
-        }
-
-        if(!empty($identityServerPwdCredToken) and $identityServerPwdCredToken != 'DO-NOT-SET'){
-            $gp->identityServerPwdCredToken = $identityServerPwdCredToken;
-        }else{
-            $gp->identityServerPwdCredToken = null;
-        }
-
-
-        Airavata::updateGatewayResourceProfile(Session::get('authz-token'), $gatewayId, $gp);
-
-        return true;
-    }
-}
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/libraries/Airavata/API/Airavata.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/libraries/Airavata/API/Airavata.php
deleted file mode 100755
index 7786c2b2af..0000000000
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/libraries/Airavata/API/Airavata.php
+++ /dev/null
@@ -1,73857 +0,0 @@
-<?php
-namespace Airavata\API;
-/**
- * Autogenerated by Thrift Compiler (0.10.0)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-use Thrift\Base\TBase;
-use Thrift\Type\TType;
-use Thrift\Type\TMessageType;
-use Thrift\Exception\TException;
-use Thrift\Exception\TProtocolException;
-use Thrift\Protocol\TProtocol;
-use Thrift\Protocol\TBinaryProtocolAccelerated;
-use Thrift\Exception\TApplicationException;
-
-
-interface AiravataIf {
-  /**
-   * Fetch Apache Airavata API version
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getAPIVersion(\Airavata\Model\Security\AuthzToken $authzToken);
-  /**
-   * Verify if User Exists within Airavata.
-   * 
-   * @param gatewayId
-   * 
-   *  @param userName
-   * 
-   * @return true/false
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $gatewayId
-   * @param string $userName
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function isUserExists(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName);
-  /**
-   * Register a Gateway with Airavata.
-   * 
-   * @param gateway
-   *    The gateway data model.
-   * 
-   * @return gatewayId
-   *   Th unique identifier of the  newly registered gateway.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param \Airavata\Model\Workspace\Gateway $gateway
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function addGateway(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Workspace\Gateway $gateway);
-  /**
-   * Get all users in the gateway
-   * 
-   * @param gatewayId
-   *    The gateway data model.
-   * 
-   * @return users
-   *   list of usernames of the users in the gateway
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $gatewayId
-   * @return string[]
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getAllUsersInGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
-  /**
-   * Update previously registered Gateway metadata.
-   * 
-   * @param gatewayId
-   *    The gateway Id of the Gateway which require an update.
-   * 
-   * @return gateway
-   *    Modified gateway obejct.
-   * 
-   * @exception AiravataClientException
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $gatewayId
-   * @param \Airavata\Model\Workspace\Gateway $updatedGateway
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function updateGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workspace\Gateway $updatedGateway);
-  /**
-   * Get Gateway details by providing gatewayId
-   * 
-   * @param gatewayId
-   *    The gateway Id of the Gateway.
-   * 
-   * @return gateway
-   *    Gateway obejct.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $gatewayId
-   * @return \Airavata\Model\Workspace\Gateway
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
-  /**
-   * Delete a Gateway
-   * 
-   * @param gatewayId
-   *    The gateway Id of the Gateway to be deleted.
-   * 
-   * @return boolean
-   *    Boolean identifier for the success or failure of the deletion operation.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $gatewayId
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function deleteGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
-  /**
-   * Get All the Gateways Connected to Airavata.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @return \Airavata\Model\Workspace\Gateway[]
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getAllGateways(\Airavata\Model\Security\AuthzToken $authzToken);
-  /**
-   * Check for the Existance of a Gateway within Airavata
-   * 
-   * @param gatewayId
-   *   Provide the gatewayId of the gateway you want to check the existancy
-   * 
-   * @return boolean
-   *   Boolean idetifier for the existance or non-existane of the gatewayId
-   * 
-   * @return gatewayId
-   *   return the gatewayId of the existing gateway.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $gatewayId
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function isGatewayExist(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
-  /**
-   *   * API methods to retrieve notifications
-   * *
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param \Airavata\Model\Workspace\Notification $notification
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function createNotification(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Workspace\Notification $notification);
-  /**
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param \Airavata\Model\Workspace\Notification $notification
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function updateNotification(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Workspace\Notification $notification);
-  /**
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $gatewayId
-   * @param string $notificationId
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function deleteNotification(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $notificationId);
-  /**
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $gatewayId
-   * @param string $notificationId
-   * @return \Airavata\Model\Workspace\Notification
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getNotification(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $notificationId);
-  /**
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $gatewayId
-   * @return \Airavata\Model\Workspace\Notification[]
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getAllNotifications(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
-  /**
-   * Generate and Register SSH Key Pair with Airavata Credential Store.
-   * 
-   * @param description
-   *    The description field for a credential type, all type of credential can have a description.
-   * 
-   * @return airavataCredStoreToken
-   *   An SSH Key pair is generated and stored in the credential store and associated with users or community account
-   *   belonging to a Gateway.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $description
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   */
-  public function generateAndRegisterSSHKeys(\Airavata\Model\Security\AuthzToken $authzToken, $description);
-  /**
-   * Generate and Register Username PWD Pair with Airavata Credential Store.
-   * 
-   * @param loginUserName
-   * 
-   * @param password
-   * 
-   * @return airavataCredStoreToken
-   *   An SSH Key pair is generated and stored in the credential store and associated with users or community account
-   *   belonging to a Gateway.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $loginUserName
-   * @param string $password
-   * @param string $description
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   */
-  public function registerPwdCredential(\Airavata\Model\Security\AuthzToken $authzToken, $loginUserName, $password, $description);
-  /**
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $tokenId
-   * @return \Airavata\Model\Credential\Store\CredentialSummary
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getCredentialSummary(\Airavata\Model\Security\AuthzToken $authzToken, $tokenId);
-  /**
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param int $type
-   * @return \Airavata\Model\Credential\Store\CredentialSummary[]
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   */
-  public function getAllCredentialSummaries(\Airavata\Model\Security\AuthzToken $authzToken, $type);
-  /**
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $airavataCredStoreToken
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function deleteSSHPubKey(\Airavata\Model\Security\AuthzToken $authzToken, $airavataCredStoreToken);
-  /**
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $airavataCredStoreToken
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function deletePWDCredential(\Airavata\Model\Security\AuthzToken $authzToken, $airavataCredStoreToken);
-  /**
-   * 
-   * Creates a Project with basic metadata.
-   *    A Project is a container of experiments.
-   * 
-   * @param gatewayId
-   *    The identifier for the requested gateway.
-   * 
-   * @param Project
-   *    The Project Object described in the workspace_model.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $gatewayId
-   * @param \Airavata\Model\Workspace\Project $project
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function createProject(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workspace\Project $project);
-  /**
-   * 
-   * Update an Existing Project
-   * 
-   * @param projectId
-   *    The projectId of the project needed an update.
-   * 
-   * @return void
-   *    Currently this does not return any value.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $projectId
-   * @param \Airavata\Model\Workspace\Project $updatedProject
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\ProjectNotFoundException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function updateProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId, \Airavata\Model\Workspace\Project $updatedProject);
-  /**
-   * 
-   * Get a Project by ID
-   *    This method is to obtain a project by providing a projectId.
-   * 
-   * @param projectId
-   *    projectId of the project you require.
-   * 
-   * @return project
-   *    project data model will be returned.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $projectId
-   * @return \Airavata\Model\Workspace\Project
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\ProjectNotFoundException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId);
-  /**
-   * 
-   * Delete a Project
-   *    This method is used to delete an existing Project.
-   * 
-   * @param projectId
-   *    projectId of the project you want to delete.
-   * 
-   * @return boolean
-   *    Boolean identifier for the success or failure of the deletion operation.
-   * 
-   *    NOTE: This method is not used within gateways connected with Airavata.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $projectId
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\ProjectNotFoundException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function deleteProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId);
-  /**
-   * 
-   * Get All User Projects
-   * Get all Project for the user with pagination. Results will be ordered based on creation time DESC.
-   * 
-   * @param gatewayId
-   *    The identifier for the requested gateway.
-   * 
-   * @param userName
-   *    The identifier of the user.
-   * 
-   * @param limit
-   *    The amount results to be fetched.
-   * 
-   * @param offset
-   *    The starting point of the results to be fetched.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $gatewayId
-   * @param string $userName
-   * @param int $limit
-   * @param int $offset
-   * @return \Airavata\Model\Workspace\Project[]
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getUserProjects(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $limit, $offset);
-  /**
-   * 
-   * Search User Projects
-   * Search and get all Projects for user by project description or/and project name  with pagination.
-   * Results will be ordered based on creation time DESC.
-   * 
-   * @param gatewayId
-   *    The unique identifier of the gateway making the request.
-   * 
-   * @param userName
-   *    The identifier of the user.
-   * 
-   * @param filters
-   *    Map of multiple filter criteria. Currenlt search filters includes Project Name and Project Description
-   * 
-   * @param limit
-   *    The amount results to be fetched.
-   * 
-   * @param offset
-   *    The starting point of the results to be fetched.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $gatewayId
-   * @param string $userName
-   * @param array $filters
-   * @param int $limit
-   * @param int $offset
-   * @return \Airavata\Model\Workspace\Project[]
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function searchProjects(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, array $filters, $limit, $offset);
-  /**
-   * Search Experiments.
-   * Search Experiments by using multiple filter criteria with pagination. Results will be sorted based on creation time DESC.
-   * 
-   * @param gatewayId
-   *       Identifier of the requested gateway.
-   * 
-   * @param userName
-   *       Username of the user requesting the search function.
-   * 
-   * @param filters
-   *       Map of multiple filter criteria. Currenlt search filters includes Experiment Name, Description, Application, etc....
-   * 
-   * @param limit
-   *       Amount of results to be fetched.
-   * 
-   * @param offset
-   *       The starting point of the results to be fetched.
-   * 
-   * @return ExperimentSummaryModel
-   *    List of experiments for the given search filter. Here only the Experiment summary will be returned.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $gatewayId
-   * @param string $userName
-   * @param array $filters
-   * @param int $limit
-   * @param int $offset
-   * @return \Airavata\Model\Experiment\ExperimentSummaryModel[]
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function searchExperiments(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, array $filters, $limit, $offset);
-  /**
-   * 
-   * Get Experiment Statistics
-   * Get Experiment Statisitics for a given gateway for a specific time period. This feature is available only for admins of a particular gateway. Gateway admin access is managed by the user roles.
-   * 
-   * @param gatewayId
-   *       Unique identifier of the gateway making the request to fetch statistics.
-   * 
-   * @param fromTime
-   *       Starting date time.
-   * 
-   * @param toTime
-   *       Ending data time.
-   * 
-   * @param userName
-   *       Gateway username substring with which to further filter statistics.
-   * 
-   * @param applicationName
-   *       Application id substring with which to further filter statistics.
-   * 
-   * @param resourceHostName
-   *       Hostname id substring with which to further filter statistics.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $gatewayId
-   * @param int $fromTime
-   * @param int $toTime
-   * @param string $userName
-   * @param string $applicationName
-   * @param string $resourceHostName
-   * @return \Airavata\Model\Experiment\ExperimentStatistics
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getExperimentStatistics(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $fromTime, $toTime, $userName, $applicationName, $resourceHostName);
-  /**
-   * 
-   * Get All Experiments of the Project
-   * Get Experiments within project with pagination. Results will be sorted based on creation time DESC.
-   * 
-   * @param projectId
-   *       Uniqie identifier of the project.
-   * 
-   * @param limit
-   *       Amount of results to be fetched.
-   * 
-   * @param offset
-   *       The starting point of the results to be fetched.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $projectId
-   * @param int $limit
-   * @param int $offset
-   * @return \Airavata\Model\Experiment\ExperimentModel[]
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\ProjectNotFoundException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getExperimentsInProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId, $limit, $offset);
-  /**
-   * 
-   * Get All Experiments of the User
-   * Get experiments by user with pagination. Results will be sorted based on creation time DESC.
-   * 
-   * @param gatewayId
-   *       Identifier of the requesting gateway.
-   * 
-   * @param userName
-   *       Username of the requested end user.
-   * 
-   * @param limit
-   *       Amount of results to be fetched.
-   * 
-   * @param offset
-   *       The starting point of the results to be fetched.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $gatewayId
-   * @param string $userName
-   * @param int $limit
-   * @param int $offset
-   * @return \Airavata\Model\Experiment\ExperimentModel[]
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getUserExperiments(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $limit, $offset);
-  /**
-   *   *
-   *   * Create New Experiment
-   *   * Create an experiment for the specified user belonging to the gateway. The gateway identity is not explicitly passed
-   *   *   but inferred from the sshKeyAuthentication header. This experiment is just a persistent place holder. The client
-   *   *   has to subsequently configure and launch the created experiment. No action is taken on Airavata Server except
-   *   *   registering the experiment in a persistent store.
-   *   *
-   *   * @param gatewayId
-   *   *    The unique ID of the gateway where the experiment is been created.
-   *   *
-   *   * @param ExperimentModel
-   *   *    The create experiment will require the basic experiment metadata like the name and description, intended user,
-   *   *      the gateway identifer and if the experiment should be shared public by defualt. During the creation of an experiment
-   *   *      the ExperimentMetadata is a required field.
-   *   *
-   *   * @return
-   *   *   The server-side generated.airavata.registry.core.experiment.globally unique identifier.
-   *   *
-   *   * @throws org.apache.airavata.model.error.InvalidRequestException
-   *   *    For any incorrect forming of the request itself.
-   *   *
-   *   * @throws org.apache.airavata.model.error.AiravataClientException
-   *   *    The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
-   *   *
-   *   *      UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
-   *   *         step, then Airavata Registry will not have a provenance area setup. The client has to follow
-   *   *         gateway registration steps and retry this request.
-   *   *
-   *   *      AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
-   *   *         For now this is a place holder.
-   *   *
-   *   *      INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
-   *   *         is implemented, the authorization will be more substantial.
-   *   *
-   *   * @throws org.apache.airavata.model.error.AiravataSystemException
-   *   *    This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
-   *   *       rather an Airavata Administrator will be notified to take corrective action.
-   *   *
-   * *
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $gatewayId
-   * @param \Airavata\Model\Experiment\ExperimentModel $experiment
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function createExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Experiment\ExperimentModel $experiment);
-  /**
-   * 
-   * Delete an Experiment
-   * If the experiment is not already launched experiment can be deleted.
-   * 
-   * @param authzToken
-   * 
-   * @param experiementId
-   *     Experiment ID of the experimnet you want to delete.
-   * 
-   * @return boolean
-   *     Identifier for the success or failure of the deletion operation.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $experimentId
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function deleteExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $experimentId);
-  /**
-   *   *
-   *   * Get Experiment
-   *   * Fetch previously created experiment metadata.
-   *   *
-   *   * @param airavataExperimentId
-   *   *    The unique identifier of the requested experiment. This ID is returned during the create experiment step.
-   *   *
-   *   * @return ExperimentModel
-   *   *   This method will return the previously stored experiment metadata.
-   *   *
-   *   * @throws org.apache.airavata.model.error.InvalidRequestException
-   *   *    For any incorrect forming of the request itself.
-   *   *
-   *   * @throws org.apache.airavata.model.error.ExperimentNotFoundException
-   *   *    If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
-   *   *
-   *   * @throws org.apache.airavata.model.error.AiravataClientException
-   *   *    The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
-   *   *
-   *   *      UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
-   *   *         step, then Airavata Registry will not have a provenance area setup. The client has to follow
-   *   *         gateway registration steps and retry this request.
-   *   *
-   *   *      AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
-   *   *         For now this is a place holder.
-   *   *
-   *   *      INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
-   *   *         is implemented, the authorization will be more substantial.
-   *   *
-   *   * @throws org.apache.airavata.model.error.AiravataSystemException
-   *   *    This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
-   *   *       rather an Airavata Administrator will be notified to take corrective action.
-   *   *
-   * *
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $airavataExperimentId
-   * @return \Airavata\Model\Experiment\ExperimentModel A structure holding the experiment metadata and its child models.
-   * 
-   * userName:
-   *   The user name of the targeted gateway end user on whose behalf the experiment is being created.
-   *     the associated gateway identity can only be inferred from the security hand-shake so as to avoid
-   *     authorized Airavata Clients mimicking an unauthorized request. If a gateway is not registered with
-   *     Airavata, an authorization exception is thrown.
-   * 
-   * experimentName:
-   *   The name of the experiment as defined by the user. The name need not be unique as uniqueness is enforced
-   *      by the generated experiment id.
-   * 
-   * experimentDescription:
-   *    The verbose description of the experiment. This is an optional parameter.
-   * 
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\ExperimentNotFoundException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
-  /**
-   *   *
-   *   * Get Experiment by an admin user
-   *   *
-   *   * Used by an admin user to fetch previously created experiment metadata.
-   *   *
-   *   * @param airavataExperimentId
-   *   *    The unique identifier of the requested experiment. This ID is returned during the create experiment step.
-   *   *
-   *   * @return ExperimentModel
-   *   *   This method will return the previously stored experiment metadata.
-   *   *
-   *   * @throws org.apache.airavata.model.error.InvalidRequestException
-   *   *    For any incorrect forming of the request itself.
-   *   *
-   *   * @throws org.apache.airavata.model.error.ExperimentNotFoundException
-   *   *    If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
-   *   *
-   *   * @throws org.apache.airavata.model.error.AiravataClientException
-   *   *    The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
-   *   *
-   *   *      UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
-   *   *         step, then Airavata Registry will not have a provenance area setup. The client has to follow
-   *   *         gateway registration steps and retry this request.
-   *   *
-   *   *      AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
-   *   *         For now this is a place holder.
-   *   *
-   *   *      INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
-   *   *         is implemented, the authorization will be more substantial.
-   *   *
-   *   * @throws org.apache.airavata.model.error.AiravataSystemException
-   *   *    This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
-   *   *       rather an Airavata Administrator will be notified to take corrective action.
-   *   *
-   * *
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $airavataExperimentId
-   * @return \Airavata\Model\Experiment\ExperimentModel A structure holding the experiment metadata and its child models.
-   * 
-   * userName:
-   *   The user name of the targeted gateway end user on whose behalf the experiment is being created.
-   *     the associated gateway identity can only be inferred from the security hand-shake so as to avoid
-   *     authorized Airavata Clients mimicking an unauthorized request. If a gateway is not registered with
-   *     Airavata, an authorization exception is thrown.
-   * 
-   * experimentName:
-   *   The name of the experiment as defined by the user. The name need not be unique as uniqueness is enforced
-   *      by the generated experiment id.
-   * 
-   * experimentDescription:
-   *    The verbose description of the experiment. This is an optional parameter.
-   * 
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\ExperimentNotFoundException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getExperimentByAdmin(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
-  /**
-   * 
-   * Get Complete Experiment Details
-   * Fetch the completed nested tree structue of previously created experiment metadata which includes processes ->
-   * tasks -> jobs information.
-   * 
-   * @param airavataExperimentId
-   *    The identifier for the requested experiment. This is returned during the create experiment step.
-   * 
-   * @return ExperimentModel
-   *   This method will return the previously stored experiment metadata including application input parameters, computational resource scheduling
-   *   information, special input output handling and additional quality of service parameters.
-   * 
-   * @throws org.apache.airavata.model.error.InvalidRequestException
-   *    For any incorrect forming of the request itself.
-   * 
-   * @throws org.apache.airavata.model.error.ExperimentNotFoundException
-   *    If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
-   * 
-   * @throws org.apache.airavata.model.error.AiravataClientException
-   *    The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
-   * 
-   *      UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
-   *         step, then Airavata Registry will not have a provenance area setup. The client has to follow
-   *         gateway registration steps and retry this request.
-   * 
-   *      AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
-   *         For now this is a place holder.
-   * 
-   *      INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
-   *         is implemented, the authorization will be more substantial.
-   * 
-   * @throws org.apache.airavata.model.error.AiravataSystemException
-   *    This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
-   *       rather an Airavata Administrator will be notified to take corrective action.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $airavataExperimentId
-   * @return \Airavata\Model\Experiment\ExperimentModel A structure holding the experiment metadata and its child models.
-   * 
-   * userName:
-   *   The user name of the targeted gateway end user on whose behalf the experiment is being created.
-   *     the associated gateway identity can only be inferred from the security hand-shake so as to avoid
-   *     authorized Airavata Clients mimicking an unauthorized request. If a gateway is not registered with
-   *     Airavata, an authorization exception is thrown.
-   * 
-   * experimentName:
-   *   The name of the experiment as defined by the user. The name need not be unique as uniqueness is enforced
-   *      by the generated experiment id.
-   * 
-   * experimentDescription:
-   *    The verbose description of the experiment. This is an optional parameter.
-   * 
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\ExperimentNotFoundException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getDetailedExperimentTree(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
-  /**
-   * 
-   * Update a Previously Created Experiment
-   * Configure the CREATED experiment with required inputs, scheduling and other quality of service parameters. This method only updates the experiment object within the registry.
-   * The experiment has to be launched to make it actionable by the server.
-   * 
-   * @param airavataExperimentId
-   *    The identifier for the requested experiment. This is returned during the create experiment step.
-   * 
-   * @param ExperimentModel
-   *    The configuration information of the experiment with application input parameters, computational resource scheduling
-   *      information, special input output handling and additional quality of service parameters.
-   * 
-   * @return
-   *   This method call does not have a return value.
-   * 
-   * @throws org.apache.airavata.model.error.InvalidRequestException
-   *    For any incorrect forming of the request itself.
-   * 
-   * @throws org.apache.airavata.model.error.ExperimentNotFoundException
-   *    If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
-   * 
-   * @throws org.apache.airavata.model.error.AiravataClientException
-   *    The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
-   *      
-   *      UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
-   *         step, then Airavata Registry will not have a provenance area setup. The client has to follow
-   *         gateway registration steps and retry this request.
-   * 
-   *      AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
-   *         For now this is a place holder.
-   * 
-   *      INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
-   *         is implemented, the authorization will be more substantial.
-   * 
-   * @throws org.apache.airavata.model.error.AiravataSystemException
-   *    This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
-   *       rather an Airavata Administrator will be notified to take corrective action.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $airavataExperimentId
-   * @param \Airavata\Model\Experiment\ExperimentModel $experiment
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\ExperimentNotFoundException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function updateExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, \Airavata\Model\Experiment\ExperimentModel $experiment);
-  /**
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $airavataExperimentId
-   * @param \Airavata\Model\Experiment\UserConfigurationDataModel $userConfiguration
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function updateExperimentConfiguration(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, \Airavata\Model\Experiment\UserConfigurationDataModel $userConfiguration);
-  /**
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $airavataExperimentId
-   * @param \Airavata\Model\Scheduling\ComputationalResourceSchedulingModel $resourceScheduling
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function updateResourceScheduleing(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, \Airavata\Model\Scheduling\ComputationalResourceSchedulingModel $resourceScheduling);
-  /**
-   *  *
-   *  * Validate experiment configuration.
-   *  * A true in general indicates, the experiment is ready to be launched.
-   *  *
-   *  * @param airavataExperimentId
-   *  *    Unique identifier of the experiment (Experimnent ID) of the experiment which need to be validated.
-   *  *
-   *  * @return boolean
-   *  *      Identifier for the success or failure of the validation operation.
-   *  *
-   * *
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $airavataExperimentId
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\ExperimentNotFoundException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function validateExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
-  /**
-   * 
-   * Launch a Previously Created & Configured Experiment.
-   * Airavata Server will then start processing the request and appropriate notifications and intermediate and output data will be subsequently available for this experiment.
-   * 
-   * @gatewayId
-   *    ID of the gateway which will launch the experiment.
-   * 
-   * @param airavataExperimentId
-   *    The identifier for the requested experiment. This is returned during the create experiment step.
-   * 
-   * @return
-   *   This method call does not have a return value.
-   * 
-   * @throws org.apache.airavata.model.error.InvalidRequestException
-   *    For any incorrect forming of the request itself.
-   * 
-   * @throws org.apache.airavata.model.error.ExperimentNotFoundException
-   *    If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
-   * 
-   * @throws org.apache.airavata.model.error.AiravataClientException
-   *    The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
-   *      
-   *      UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
-   *         step, then Airavata Registry will not have a provenance area setup. The client has to follow
-   *         gateway registration steps and retry this request.
-   * 
-   *      AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
-   *         For now this is a place holder.
-   * 
-   *      INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
-   *         is implemented, the authorization will be more substantial.
-   * 
-   * @throws org.apache.airavata.model.error.AiravataSystemException
-   *    This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
-   *       rather an Airavata Administrator will be notified to take corrective action.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $airavataExperimentId
-   * @param string $gatewayId
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\ExperimentNotFoundException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function launchExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, $gatewayId);
-  /**
-   * 
-   * Get Experiment Status
-   * 
-   * Obtain the status of an experiment by providing the Experiment Id
-   * 
-   * @param authzToken
-   * 
-   * @param airavataExperimentId
-   *     Experiment ID of the experimnet you require the status.
-   * 
-   * @return ExperimentStatus
-   *     ExperimentStatus model with the current status will be returned.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $airavataExperimentId
-   * @return \Airavata\Model\Status\ExperimentStatus Status: A generic status object.
-   * 
-   * state:
-   *   State .
-   * 
-   * timeOfStateChange:
-   *   time the status was last updated.
-   * 
-   * reason:
-   *   User friendly reason on how the state is inferred.
-   * 
-   * 
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\ExperimentNotFoundException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getExperimentStatus(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
-  /**
-   * 
-   * Get Experiment Outputs
-   * This method to be used when need to obtain final outputs of a certain Experiment
-   * 
-   * @param authzToken
-   * 
-   * @param airavataExperimentId
-   *     Experiment ID of the experimnet you need the outputs.
-   * 
-   * @return list
-   *     List of experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $airavataExperimentId
-   * @return \Airavata\Model\Application\Io\OutputDataObjectType[]
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\ExperimentNotFoundException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getExperimentOutputs(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
-  /**
-   * 
-   * Get Intermediate Experiment Outputs
-   * This method to be used when need to obtain intermediate outputs of a certain Experiment
-   * 
-   * @param authzToken
-   * 
-   * @param airavataExperimentId
-   *     Experiment ID of the experimnet you need intermediate outputs.
-   * 
-   * @return list
-   *     List of intermediate experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $airavataExperimentId
-   * @return \Airavata\Model\Application\Io\OutputDataObjectType[]
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\ExperimentNotFoundException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getIntermediateOutputs(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
-  /**
-   * 
-   * Get Job Statuses for an Experiment
-   * This method to be used when need to get the job status of an Experiment. An experiment may have one or many jobs; there for one or many job statuses may turnup
-   * 
-   * @param authzToken
-   * 
-   * @param experiementId
-   *     Experiment ID of the experimnet you need the job statuses.
-   * 
-   * @return JobStatus
-   *     Job status (string) for all all the existing jobs for the experiment will be returned in the form of a map
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $airavataExperimentId
-   * @return array
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\ExperimentNotFoundException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getJobStatuses(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
-  /**
-   * 
-   * Get Job Details for all the jobs within an Experiment.
-   * This method to be used when need to get the job details for one or many jobs of an Experiment.
-   * 
-   * @param authzToken
-   * 
-   * @param experiementId
-   *     Experiment ID of the experimnet you need job details.
-   * 
-   * @return list of JobDetails
-   *     Job details.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $airavataExperimentId
-   * @return \Airavata\Model\Job\JobModel[]
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\ExperimentNotFoundException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getJobDetails(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
-  /**
-   * 
-   * Clone an Existing Experiment
-   * Existing specified experiment is cloned and a new name is provided. A copy of the experiment configuration is made and is persisted with new metadata.
-   *   The client has to subsequently update this configuration if needed and launch the cloned experiment.
-   * 
-   * @param newExperimentName
-   *    experiment name that should be used in the cloned experiment
-   * 
-   * @param updatedExperiment
-   *    Once an experiment is cloned, to disambiguate, the users are suggested to provide new metadata. This will again require
-   *      the basic experiment metadata like the name and description, intended user, the gateway identifier and if the experiment
-   *      should be shared public by default.
-   * @param newExperimentProjectId
-   *    The project in which to create the cloned experiment. This is optional and if null the experiment will be created
-   *      in the same project as the existing experiment.
-   * 
-   * @return
-   *   The server-side generated.airavata.registry.core.experiment.globally unique identifier (Experiment ID) for the newly cloned experiment.
-   * 
-   * @throws org.apache.airavata.model.error.InvalidRequestException
-   *    For any incorrect forming of the request itself.
-   * 
-   * @throws org.apache.airavata.model.error.ExperimentNotFoundException
-   *    If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
-   * 
-   * @throws org.apache.airavata.model.error.AiravataClientException
-   *    The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
-   *      
-   *      UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
-   *         step, then Airavata Registry will not have a provenance area setup. The client has to follow
-   *         gateway registration steps and retry this request.
-   * 
-   *      AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
-   *         For now this is a place holder.
-   * 
-   *      INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
-   *         is implemented, the authorization will be more substantial.
-   * 
-   * @throws org.apache.airavata.model.error.AiravataSystemException
-   *    This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
-   *       rather an Airavata Administrator will be notified to take corrective action.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $existingExperimentID
-   * @param string $newExperimentName
-   * @param string $newExperimentProjectId
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\ExperimentNotFoundException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   * @throws \Airavata\API\Error\ProjectNotFoundException
-   */
-  public function cloneExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $existingExperimentID, $newExperimentName, $newExperimentProjectId);
-  /**
-   * 
-   * Clone an Existing Experiment by an admin user
-   * Existing specified experiment is cloned and a new name is provided. A copy of the experiment configuration is made and is persisted with new metadata.
-   *   The client has to subsequently update this configuration if needed and launch the cloned experiment.
-   * 
-   * @param newExperimentName
-   *    experiment name that should be used in the cloned experiment
-   * 
-   * @param updatedExperiment
-   *    Once an experiment is cloned, to disambiguate, the users are suggested to provide new metadata. This will again require
-   *      the basic experiment metadata like the name and description, intended user, the gateway identifier and if the experiment
-   *      should be shared public by default.
-   * @param newExperimentProjectId
-   *    The project in which to create the cloned experiment. This is optional and if null the experiment will be created
-   *      in the same project as the existing experiment.
-   * 
-   * @return
-   *   The server-side generated.airavata.registry.core.experiment.globally unique identifier (Experiment ID) for the newly cloned experiment.
-   * 
-   * @throws org.apache.airavata.model.error.InvalidRequestException
-   *    For any incorrect forming of the request itself.
-   * 
-   * @throws org.apache.airavata.model.error.ExperimentNotFoundException
-   *    If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
-   * 
-   * @throws org.apache.airavata.model.error.AiravataClientException
-   *    The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
-   * 
-   *      UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
-   *         step, then Airavata Registry will not have a provenance area setup. The client has to follow
-   *         gateway registration steps and retry this request.
-   * 
-   *      AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
-   *         For now this is a place holder.
-   * 
-   *      INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
-   *         is implemented, the authorization will be more substantial.
-   * 
-   * @throws org.apache.airavata.model.error.AiravataSystemException
-   *    This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
-   *       rather an Airavata Administrator will be notified to take corrective action.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $existingExperimentID
-   * @param string $newExperimentName
-   * @param string $newExperimentProjectId
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\ExperimentNotFoundException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   * @throws \Airavata\API\Error\ProjectNotFoundException
-   */
-  public function cloneExperimentByAdmin(\Airavata\Model\Security\AuthzToken $authzToken, $existingExperimentID, $newExperimentName, $newExperimentProjectId);
-  /**
-   * 
-   * Terminate a running Experiment.
-   * 
-   * @gatewayId
-   *    ID of the gateway which will terminate the running Experiment.
-   * 
-   * @param airavataExperimentId
-   *    The identifier of the experiment required termination. This ID is returned during the create experiment step.
-   * 
-   * @return status
-   *   This method call does not have a return value.
-   * 
-   * @throws org.apache.airavata.model.error.InvalidRequestException
-   *    For any incorrect forming of the request itself.
-   * 
-   * @throws org.apache.airavata.model.error.ExperimentNotFoundException
-   *    If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
-   * 
-   * @throws org.apache.airavata.model.error.AiravataClientException
-   *    The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
-   *      
-   *      UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
-   *         step, then Airavata Registry will not have a provenance area setup. The client has to follow
-   *         gateway registration steps and retry this request.
-   * 
-   *      AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
-   *         For now this is a place holder.
-   * 
-   *      INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
-   *         is implemented, the authorization will be more substantial.
-   * 
-   * @throws org.apache.airavata.model.error.AiravataSystemException
-   *    This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
-   *       rather an Airavata Administrator will be notified to take corrective action.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $airavataExperimentId
-   * @param string $gatewayId
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\ExperimentNotFoundException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function terminateExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, $gatewayId);
-  /**
-   * 
-   * Register a Application Module.
-   * 
-   * @gatewayId
-   *    ID of the gateway which is registering the new Application Module.
-   * 
-   * @param applicationModule
-   *    Application Module Object created from the datamodel.
-   * 
-   * @return appModuleId
-   *   Returns the server-side generated airavata appModule globally unique identifier.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $gatewayId
-   * @param \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function registerApplicationModule(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule);
-  /**
-   * 
-   * Fetch a Application Module.
-   * 
-   * @param appModuleId
-   *   The unique identifier of the application module required
-   * 
-   * @return applicationModule
-   *   Returns an Application Module Object.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $appModuleId
-   * @return \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule Application Module Information. A module has to be registered before registering a deployment.
-   * 
-   * appModuleId: Airavata Internal Unique Job ID. This is set by the registry.
-   * 
-   * appModuleName:
-   *   Name of the application module.
-   * 
-   * appModuleVersion:
-   *   Version of the application.
-   * 
-   * appModuleDescription:
-   *    Descriprion of the Module
-   * 
-   * 
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getApplicationModule(\Airavata\Model\Security\AuthzToken $authzToken, $appModuleId);
-  /**
-   * 
-   * Update a Application Module.
-   * 
-   * @param appModuleId
-   *   The identifier for the requested application module to be updated.
-   * 
-   * @param applicationModule
-   *    Application Module Object created from the datamodel.
-   * 
-   * @return status
-   *   Returns a success/failure of the update.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $appModuleId
-   * @param \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function updateApplicationModule(\Airavata\Model\Security\AuthzToken $authzToken, $appModuleId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule);
-  /**
-   * 
-   * Fetch all Application Module Descriptions.
-   * 
-   * @param gatewayId
-   *    ID of the gateway which need to list all available application deployment documentation.
-   * 
-   * @return list
-   *    Returns the list of all Application Module Objects.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $gatewayId
-   * @return \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule[]
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getAllAppModules(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
-  /**
-   * 
-   * Fetch all accessible Application Module Descriptions.
-   * 
-   * @param gatewayId
-   *    ID of the gateway which need to list all accessible application deployment documentation.
-   * 
-   * @return list
-   *    Returns the list of all Application Module Objects that are accessible to the user.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $gatewayId
-   * @return \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule[]
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getAccessibleAppModules(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
-  /**
-   * 
-   * Delete an Application Module.
-   * 
-   * @param appModuleId
-   *   The identifier of the Application Module to be deleted.
-   * 
-   * @return status
-   *   Returns a success/failure of the deletion.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $appModuleId
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function deleteApplicationModule(\Airavata\Model\Security\AuthzToken $authzToken, $appModuleId);
-  /**
-   * 
-   * Register an Application Deployment.
-   * 
-   * @param gatewayId
-   *    ID of the gateway which is registering the new Application Deployment.
-   * 
-   * @param applicationDeployment
-   *    Application Module Object created from the datamodel.
-   * 
-   * @return appDeploymentId
-   *   Returns a server-side generated airavata appDeployment globally unique identifier.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $gatewayId
-   * @param \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function registerApplicationDeployment(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment);
-  /**
-   * 
-   * Fetch a Application Deployment.
-   * 
-   * @param appDeploymentId
-   *   The identifier for the requested application module
-   * 
-   * @return applicationDeployment
-   *   Returns a application Deployment Object.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $appDeploymentId
-   * @return \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription Application Deployment Description
-   * 
-   * appDeploymentId: Airavata Internal Unique Job ID. This is set by the registry.
-   * 
-   * appModuleName:
-   *   Application Module Name. This has to be precise describing the binary.
-   * 
-   * computeHostId:
-   *   This ID maps application deployment to a particular resource previously described within Airavata.
-   *   Example: Stampede is first registered and refered when registering WRF.
-   * 
-   * moduleLoadCmd:
-   *  Command string to load modules. This will be placed in the job submisison
-   *  Ex: module load amber
-   * 
-   * libPrependPaths:
-   *  prepend to a path variable the value
-   * 
-   * libAppendPaths:
-   *  append to a path variable the value
-   * 
-   * setEnvironment:
-   *  assigns to the environment variable "NAME" the value
-   * 
-   * 
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getApplicationDeployment(\Airavata\Model\Security\AuthzToken $authzToken, $appDeploymentId);
-  /**
-   * 
-   * Update an Application Deployment.
-   * 
-   * @param appDeploymentId
-   *   The identifier of the requested application deployment to be updated.
-   * 
-   * @param appDeployment
-   *    Application Deployment Object created from the datamodel.
-   * 
-   * @return status
-   *   Returns a success/failure of the update.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $appDeploymentId
-   * @param \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function updateApplicationDeployment(\Airavata\Model\Security\AuthzToken $authzToken, $appDeploymentId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment);
-  /**
-   * 
-   * Delete an Application Deployment.
-   * 
-   * @param appDeploymentId
-   *   The unique identifier of application deployment to be deleted.
-   * 
-   * @return status
-   *   Returns a success/failure of the deletion.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $appDeploymentId
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function deleteApplicationDeployment(\Airavata\Model\Security\AuthzToken $authzToken, $appDeploymentId);
-  /**
-   * 
-   * Fetch all Application Deployment Descriptions.
-   * 
-   * @param gatewayId
-   *    ID of the gateway which need to list all available application deployment documentation.
-   * 
-   * @return list<applicationDeployment.
-   *    Returns the list of all application Deployment Objects.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $gatewayId
-   * @return \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription[]
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getAllApplicationDeployments(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
-  /**
-   * 
-   * Fetch all accessible Application Deployment Descriptions.
-   * 
-   * @param gatewayId
-   *    ID of the gateway which need to list all accessible application deployment documentation.
-   * @param permissionType
-   *    ResourcePermissionType to check for this user
-   * 
-   * @return list<applicationDeployment.
-   *    Returns the list of all application Deployment Objects that are accessible to the user.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $gatewayId
-   * @param int $permissionType
-   * @return \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription[]
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getAccessibleApplicationDeployments(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $permissionType);
-  /**
-   * Fetch a list of Deployed Compute Hosts.
-   * 
-   * @param appModuleId
-   *   The identifier for the requested application module
-   * 
-   * @return list<string>
-   *   Returns a list of Deployed Resources.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $appModuleId
-   * @return string[]
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getAppModuleDeployedResources(\Airavata\Model\Security\AuthzToken $authzToken, $appModuleId);
-  /**
-   * Fetch a list of Application Deployments that this user can use for executing the given Application Module using the given Group Resource Profile.
-   * The user must have at least READ access to the Group Resource Profile.
-   * 
-   * @param appModuleId
-   *    The identifier for the Application Module
-   * 
-   * @param groupResourceProfileId
-   *    The identifier for the Group Resource Profile
-   * 
-   * @return list<ApplicationDeploymentDescription>
-   *    Returns a list of Application Deployments
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $appModuleId
-   * @param string $groupResourceProfileId
-   * @return \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription[]
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getApplicationDeploymentsForAppModuleAndGroupResourceProfile(\Airavata\Model\Security\AuthzToken $authzToken, $appModuleId, $groupResourceProfileId);
-  /**
-   * 
-   * Register a Application Interface.
-   * 
-   * @param applicationInterface
-   *    Application Module Object created from the datamodel.
-   * 
-   * @return appInterfaceId
-   *   Returns a server-side generated airavata application interface globally unique identifier.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $gatewayId
-   * @param \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function registerApplicationInterface(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface);
-  /**
-   * 
-   * Clone an Application Interface.
-   * 
-   * @gatewayId
-   *    The identifier for the gateway profile to be requested
-   * 
-   * @param existingAppInterfaceID
-   *    Identifier of the existing Application interface you wich to clone.
-   * 
-   * @param newApplicationName
-   *    Name for the new application interface.
-   * 
-   * @return appInterfaceId
-   *    Returns a server-side generated globally unique identifier for the newly cloned application interface.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $existingAppInterfaceID
-   * @param string $newApplicationName
-   * @param string $gatewayId
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function cloneApplicationInterface(\Airavata\Model\Security\AuthzToken $authzToken, $existingAppInterfaceID, $newApplicationName, $gatewayId);
-  /**
-   * 
-   * Fetch an Application Interface.
-   * 
-   * @param appInterfaceId
-   *   The identifier for the requested application interface.
-   * 
-   * @return applicationInterface
-   *   Returns an application Interface Object.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $appInterfaceId
-   * @return \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription Application Interface Description
-   * 
-   * applicationModules:
-   *   Associate all application modules with versions which interface is applicable to.
-   * 
-   * applicationInputs:
-   *   Inputs to be passed to the application
-   * 
-   * applicationOutputs:
-   *   Outputs generated from the application
-   * 
-   * 
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getApplicationInterface(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId);
-  /**
-   * 
-   * Update a Application Interface.
-   * 
-   * @param appInterfaceId
-   *   The identifier of the requested application deployment to be updated.
-   * 
-   * @param appInterface
-   *    Application Interface Object created from the datamodel.
-   * 
-   * @return status
-   *   Returns a success/failure of the update.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $appInterfaceId
-   * @param \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function updateApplicationInterface(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId, \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface);
-  /**
-   * 
-   * Delete an Application Interface.
-   * 
-   * @param appInterfaceId
-   *   The identifier for the requested application interface to be deleted.
-   * 
-   * @return status
-   *   Returns a success/failure of the deletion.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $appInterfaceId
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function deleteApplicationInterface(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId);
-  /**
-   * 
-   * Fetch name and ID of  Application Interface documents.
-   * 
-   * 
-   * @return map<applicationId, applicationInterfaceNames>
-   *   Returns a list of application interfaces with corresponsing ID's
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $gatewayId
-   * @return array
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getAllApplicationInterfaceNames(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
-  /**
-   * 
-   * Fetch all Application Interface documents.
-   * 
-   * 
-   * @return map<applicationId, applicationInterfaceNames>
-   *   Returns a list of application interfaces documents (Application Interface ID, name, description, Inputs and Outputs objects).
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $gatewayId
-   * @return \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription[]
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getAllApplicationInterfaces(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
-  /**
-   * 
-   * Fetch the list of Application Inputs.
-   * 
-   * @param appInterfaceId
-   *   The identifier of the application interface which need inputs to be fetched.
-   * 
-   * @return list<application_interface_model.InputDataObjectType>
-   *   Returns a list of application inputs.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $appInterfaceId
-   * @return \Airavata\Model\Application\Io\InputDataObjectType[]
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getApplicationInputs(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId);
-  /**
-   * 
-   * Fetch list of Application Outputs.
-   * 
-   * @param appInterfaceId
-   *   The identifier of the application interface which need outputs to be fetched.
-   * 
-   * @return list<application_interface_model.OutputDataObjectType>
-   *   Returns a list of application outputs.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $appInterfaceId
-   * @return \Airavata\Model\Application\Io\OutputDataObjectType[]
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getApplicationOutputs(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId);
-  /**
-   * 
-   * Fetch a list of all deployed Compute Hosts for a given application interfaces.
-   * 
-   * @param appInterfaceId
-   *   The identifier for the requested application interface.
-   * 
-   * @return map<computeResourceId, computeResourceName>
-   *   A map of registered compute resource id's and their corresponding hostnames.
-   *   Deployments of each modules listed within the interfaces will be listed.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $appInterfaceId
-   * @return array
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getAvailableAppInterfaceComputeResources(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId);
-  /**
-   * Register a Compute Resource.
-   * 
-   * @param computeResourceDescription
-   *    Compute Resource Object created from the datamodel.
-   * 
-   * @return computeResourceId
-   *   Returns a server-side generated airavata compute resource globally unique identifier.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param \Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription $computeResourceDescription
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function registerComputeResource(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription $computeResourceDescription);
-  /**
-   * Fetch the given Compute Resource.
-   * 
-   * @param computeResourceId
-   *   The identifier for the requested compute resource
-   * 
-   * @return computeResourceDescription
-   *    Compute Resource Object created from the datamodel..
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $computeResourceId
-   * @return \Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription Computational Resource Description
-   * 
-   * computeResourceId: Airavata Internal Unique Identifier to distinguish Compute Resource.
-   * 
-   * hostName:
-   *   Fully Qualified Host Name.
-   * 
-   * hostAliases:
-   *   Aliases if any.
-   * 
-   * ipAddress:
-   *   IP Addresses of the Resource.
-   * 
-   * resourceDescription:
-   *  A user friendly description of the resource.
-   * 
-   * JobSubmissionProtocols:
-   *  A computational resources may have one or more ways of submitting Jobs. This structure
-   *    will hold all available mechanisms to interact with the resource.
-   *  The key is the priority
-   * 
-   * DataMovementProtocol:
-   *  Option to specify a prefered data movement mechanism of the available options.
-   * 
-   * fileSystems:
-   *  Map of file systems type and the path.
-   * 
-   * 
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getComputeResource(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId);
-  /**
-   * 
-   * Fetch all registered Compute Resources.
-   * 
-   * @return A map of registered compute resource id's and thier corresponding hostnames.
-   *    Compute Resource Object created from the datamodel..
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @return array
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getAllComputeResourceNames(\Airavata\Model\Security\AuthzToken $authzToken);
-  /**
-   * Update a Compute Resource.
-   * 
-   * @param computeResourceId
-   *   The identifier for the requested compute resource to be updated.
-   * 
-   * @param computeResourceDescription
-   *    Compute Resource Object created from the datamodel.
-   * 
-   * @return status
-   *   Returns a success/failure of the update.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $computeResourceId
-   * @param \Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription $computeResourceDescription
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function updateComputeResource(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, \Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription $computeResourceDescription);
-  /**
-   * Delete a Compute Resource.
-   * 
-   * @param computeResourceId
-   *   The identifier for the requested compute resource to be deleted.
-   * 
-   * @return status
-   *   Returns a success/failure of the deletion.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $computeResourceId
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function deleteComputeResource(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId);
-  /**
-   * Register a Storage Resource.
-   * 
-   * @param storageResourceDescription
-   *    Storge Resource Object created from the datamodel.
-   * 
-   * @return storageResourceId
-   *   Returns a server-side generated airavata storage resource globally unique identifier.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param \Airavata\Model\AppCatalog\StorageResource\StorageResourceDescription $storageResourceDescription
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function registerStorageResource(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\AppCatalog\StorageResource\StorageResourceDescription $storageResourceDescription);
-  /**
-   * Fetch the given Storage Resource.
-   * 
-   * @param storageResourceId
-   *   The identifier for the requested storage resource
-   * 
-   * @return storageResourceDescription
-   *    Storage Resource Object created from the datamodel..
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $storageResourceId
-   * @return \Airavata\Model\AppCatalog\StorageResource\StorageResourceDescription Storage Resource Description
-   * 
-   * storageResourceId: Airavata Internal Unique Identifier to distinguish Compute Resource.
-   * 
-   * hostName:
-   *   Fully Qualified Host Name.
-   * 
-   * storageResourceDescription:
-   *  A user friendly description of the resource.
-   * 
-   * 
-   * DataMovementProtocol:
-   *  Option to specify a prefered data movement mechanism of the available options.
-   * 
-   * 
-   * 
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getStorageResource(\Airavata\Model\Security\AuthzToken $authzToken, $storageResourceId);
-  /**
-   * Fetch all registered Storage Resources.
-   * 
-   * @return A map of registered compute resource id's and thier corresponding hostnames.
-   *    Compute Resource Object created from the datamodel..
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @return array
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getAllStorageResourceNames(\Airavata\Model\Security\AuthzToken $authzToken);
-  /**
-   * Update a Storage Resource.
-   * 
-   * @param storageResourceId
-   *   The identifier for the requested compute resource to be updated.
-   * 
-   * @param storageResourceDescription
-   *    Storage Resource Object created from the datamodel.
-   * 
-   * @return status
-   *   Returns a success/failure of the update.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $storageResourceId
-   * @param \Airavata\Model\AppCatalog\StorageResource\StorageResourceDescription $storageResourceDescription
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function updateStorageResource(\Airavata\Model\Security\AuthzToken $authzToken, $storageResourceId, \Airavata\Model\AppCatalog\StorageResource\StorageResourceDescription $storageResourceDescription);
-  /**
-   * Delete a Storage Resource.
-   * 
-   * @param storageResourceId
-   *   The identifier of the requested compute resource to be deleted.
-   * 
-   * @return status
-   *   Returns a success/failure of the deletion.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $storageResourceId
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function deleteStorageResource(\Airavata\Model\Security\AuthzToken $authzToken, $storageResourceId);
-  /**
-   * Add a Local Job Submission details to a compute resource
-   *  App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
-   * 
-   * @param computeResourceId
-   *   The identifier of the compute resource to which JobSubmission protocol to be added
-   * 
-   * @param priorityOrder
-   *   Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
-   * 
-   * @param localSubmission
-   *   The LOCALSubmission object to be added to the resource.
-   * 
-   * @return status
-   *   Returns the unique job submission id.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $computeResourceId
-   * @param int $priorityOrder
-   * @param \Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission $localSubmission
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function addLocalSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission $localSubmission);
-  /**
-   * Update the given Local Job Submission details
-   * 
-   * @param jobSubmissionInterfaceId
-   *   The identifier of the JobSubmission Interface to be updated.
-   * 
-   * @param localSubmission
-   *   The LOCALSubmission object to be updated.
-   * 
-   * @return status
-   *   Returns a success/failure of the deletion.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $jobSubmissionInterfaceId
-   * @param \Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission $localSubmission
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function updateLocalSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission $localSubmission);
-  /**
-   * This method returns localJobSubmission object
-   * @param jobSubmissionInterfaceId
-   *   The identifier of the JobSubmission Interface to be retrieved.
-   *  @return LOCALSubmission instance
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $jobSubmissionId
-   * @return \Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission Locally Fork Jobs as OS processes
-   * 
-   * alternativeSSHHostName:
-   *  If the login to ssh is different than the hostname itself, specify it here
-   * 
-   * sshPort:
-   *  If a non-default port needs to used, specify it.
-   * 
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getLocalJobSubmission(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionId);
-  /**
-   * Add a SSH Job Submission details to a compute resource
-   *  App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
-   * 
-   * @param computeResourceId
-   *   The identifier of the compute resource to which JobSubmission protocol to be added
-   * 
-   * @param priorityOrder
-   *   Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
-   * 
-   * @param sshJobSubmission
-   *   The SSHJobSubmission object to be added to the resource.
-   * 
-   * @return status
-   *   Returns the unique job submission id.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $computeResourceId
-   * @param int $priorityOrder
-   * @param \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission $sshJobSubmission
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function addSSHJobSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission $sshJobSubmission);
-  /**
-   * Add a SSH_FORK Job Submission details to a compute resource
-   *  App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
-   * 
-   * @param computeResourceId
-   *   The identifier of the compute resource to which JobSubmission protocol to be added
-   * 
-   * @param priorityOrder
-   *   Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
-   * 
-   * @param sshJobSubmission
-   *   The SSHJobSubmission object to be added to the resource.
-   * 
-   * @return status
-   *   Returns the unique job submission id.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $computeResourceId
-   * @param int $priorityOrder
-   * @param \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission $sshJobSubmission
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function addSSHForkJobSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission $sshJobSubmission);
-  /**
-   * This method returns SSHJobSubmission object
-   * @param jobSubmissionInterfaceId
-   *   The identifier of the JobSubmission Interface to be retrieved.
-   *  @return SSHJobSubmission instance
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $jobSubmissionId
-   * @return \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission Authenticate using Secured Shell
-   * 
-   * alternativeSSHHostName:
-   *  If the login to ssh is different than the hostname itself, specify it here
-   * 
-   * sshPort:
-   *  If a non-default port needs to used, specify it.
-   * 
-   * batchQueueEmailSenders:
-   *  If a resource always sends the monitoring from a specific address, specify the
-   *   full email address. If a resource sends emails from multiple addresses (
-   *    example: based on the submitted login node) then use the wildchar * to indicate
-   *    the same. Example: *@*.example.com or *@example.com
-   * 
-   * 
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getSSHJobSubmission(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionId);
-  /**
-   * 
-   * Add a UNICORE Job Submission details to a compute resource
-   *  App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
-   * 
-   * @param computeResourceId
-   *   The identifier of the compute resource to which JobSubmission protocol to be added
-   * 
-   * @param priorityOrder
-   *   Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
-   * 
-   * @param unicoreJobSubmission
-   *   The UnicoreJobSubmission object to be added to the resource.
-   * 
-   * @return status
-   *  Returns the unique job submission id.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $computeResourceId
-   * @param int $priorityOrder
-   * @param \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission $unicoreJobSubmission
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function addUNICOREJobSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission $unicoreJobSubmission);
-  /**
-   *   *
-   *   * This method returns UnicoreJobSubmission object
-   *   *
-   *   * @param jobSubmissionInterfaceId
-   *   *   The identifier of the JobSubmission Interface to be retrieved.
-   *   *  @return UnicoreJobSubmission instance
-   *   *
-   * *
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $jobSubmissionId
-   * @return \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission Unicore Job Submission
-   * 
-   * unicoreEndPointURL:
-   *  unicoreGateway End Point. The provider will query this service to fetch required service end points.
-   * authenticationMode
-   *  The authenticationMode defines the way certificate is fetched.
-   * 
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getUnicoreJobSubmission(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionId);
-  /**
-   *    *
-   *    * Add a Cloud Job Submission details to a compute resource
-   *    *  App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
-   *    *
-   *    * @param computeResourceId
-   *    *   The identifier of the compute resource to which JobSubmission protocol to be added
-   *    *
-   *    * @param priorityOrder
-   *    *   Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
-   *    *
-   *    * @param sshJobSubmission
-   *    *   The SSHJobSubmission object to be added to the resource.
-   *    *
-   *    * @return status
-   *    *   Returns the unique job submission id.
-   *    *
-   * *
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $computeResourceId
-   * @param int $priorityOrder
-   * @param \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission $cloudSubmission
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function addCloudJobSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission $cloudSubmission);
-  /**
-   *    *
-   *    * This method returns cloudJobSubmission object
-   *    * @param jobSubmissionInterfaceI
-   *        *   The identifier of the JobSubmission Interface to be retrieved.
-   *    *  @return CloudJobSubmission instance
-   * *
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $jobSubmissionId
-   * @return \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission Cloud Job Submission
-   * 
-   * 
-   * 
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getCloudJobSubmission(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionId);
-  /**
-   * 
-   * Update the given SSH Job Submission details
-   * 
-   * @param jobSubmissionInterfaceId
-   *   The identifier of the JobSubmission Interface to be updated.
-   * 
-   * @param sshJobSubmission
-   *   The SSHJobSubmission object to be updated.
-   * 
-   * @return status
-   *   Returns a success/failure of the update.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $jobSubmissionInterfaceId
-   * @param \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission $sshJobSubmission
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function updateSSHJobSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission $sshJobSubmission);
-  /**
-   * 
-   * Update the cloud Job Submission details
-   * 
-   * @param jobSubmissionInterfaceId
-   *   The identifier of the JobSubmission Interface to be updated.
-   * 
-   * @param cloudJobSubmission
-   *   The CloudJobSubmission object to be updated.
-   * 
-   * @return status
-   *   Returns a success/failure of the update.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $jobSubmissionInterfaceId
-   * @param \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission $sshJobSubmission
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function updateCloudJobSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission $sshJobSubmission);
-  /**
-   * 
-   * Update the UNIOCRE Job Submission details
-   * 
-   * @param jobSubmissionInterfaceId
-   *   The identifier of the JobSubmission Interface to be updated.
-   * 
-   * @param UnicoreJobSubmission
-   *   The UnicoreJobSubmission object to be updated.
-   * 
-   * @return status
-   *   Returns a success/failure of the update.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $jobSubmissionInterfaceId
-   * @param \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission $unicoreJobSubmission
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function updateUnicoreJobSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission $unicoreJobSubmission);
-  /**
-   * 
-   * Add a Local data movement details to a compute resource
-   *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
-   * 
-   * @param productUri
-   *   The identifier of the compute resource to which JobSubmission protocol to be added
-   * 
-   * @param DMType
-   *   DMType object to be added to the resource.
-   * 
-   * @param priorityOrder
-   *   Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
-   * 
-   * @param localDataMovement
-   *   The LOCALDataMovement object to be added to the resource.
-   * 
-   * @return status
-   *   Returns the unique job submission id.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $productUri
-   * @param int $dataMoveType
-   * @param int $priorityOrder
-   * @param \Airavata\Model\Data\Movement\LOCALDataMovement $localDataMovement
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function addLocalDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $productUri, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\LOCALDataMovement $localDataMovement);
-  /**
-   * 
-   * Update the given Local data movement details
-   * 
-   * @param dataMovementInterfaceId
-   *   The identifier of the data movement Interface to be updated.
-   * 
-   * @param localDataMovement
-   *   The LOCALDataMovement object to be updated.
-   * 
-   * @return status
-   *   Returns a success/failure of the update.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $dataMovementInterfaceId
-   * @param \Airavata\Model\Data\Movement\LOCALDataMovement $localDataMovement
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function updateLocalDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementInterfaceId, \Airavata\Model\Data\Movement\LOCALDataMovement $localDataMovement);
-  /**
-   * 
-   * This method returns local datamovement object.
-   * 
-   * @param dataMovementId
-   *   The identifier of the datamovement Interface to be retrieved.
-   * 
-   *  @return LOCALDataMovement instance
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $dataMovementId
-   * @return \Airavata\Model\Data\Movement\LOCALDataMovement LOCAL
-   * 
-   * alternativeSCPHostName:
-   *  If the login to scp is different than the hostname itself, specify it here
-   * 
-   * sshPort:
-   *  If a non-defualt port needs to used, specify it.
-   * 
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getLocalDataMovement(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementId);
-  /**
-   * 
-   * Add a SCP data movement details to a compute resource
-   *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
-   * 
-   * @param productUri
-   *   The identifier of the compute resource to which JobSubmission protocol to be added
-   * 
-   * @param priorityOrder
-   *   Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
-   * 
-   * @param scpDataMovement
-   *   The SCPDataMovement object to be added to the resource.
-   * 
-   * @return status
-   *   Returns the unique job submission id.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $productUri
-   * @param int $dataMoveType
-   * @param int $priorityOrder
-   * @param \Airavata\Model\Data\Movement\SCPDataMovement $scpDataMovement
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function addSCPDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $productUri, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\SCPDataMovement $scpDataMovement);
-  /**
-   * 
-   * Update the given scp data movement details
-   *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
-   * 
-   * @param dataMovementInterfaceId
-   *   The identifier of the data movement Interface to be updated.
-   * 
-   * @param scpDataMovement
-   *   The SCPDataMovement object to be updated.
-   * 
-   * @return status
-   *   Returns a success/failure of the update.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $dataMovementInterfaceId
-   * @param \Airavata\Model\Data\Movement\SCPDataMovement $scpDataMovement
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function updateSCPDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementInterfaceId, \Airavata\Model\Data\Movement\SCPDataMovement $scpDataMovement);
-  /**
-   * This method returns SCP datamovement object
-   * 
-   * @param dataMovementId
-   *   The identifier of the datamovement Interface to be retrieved.
-   * 
-   * @return SCPDataMovement instance
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $dataMovementId
-   * @return \Airavata\Model\Data\Movement\SCPDataMovement Data Movement through Secured Copy
-   * 
-   * alternativeSCPHostName:
-   *  If the login to scp is different than the hostname itself, specify it here
-   * 
-   * sshPort:
-   *  If a non-default port needs to used, specify it.
-   * 
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getSCPDataMovement(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementId);
-  /**
-   * 
-   * Add a UNICORE data movement details to a compute resource
-   *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
-   * 
-   * @param productUri
-   *   The identifier of the compute resource to which data movement protocol to be added
-   * 
-   * @param priorityOrder
-   *   Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
-   * 
-   * @param UnicoreDataMovement
-   *   The UnicoreDataMovement object to be added to the resource.
-   * 
-   * @return status
-   *   Returns the unique data movement id.
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $productUri
-   * @param int $dataMoveType
-   * @param int $priorityOrder
-   * @param \Airavata\Model\Data\Movement\UnicoreDataMovement $unicoreDataMovement
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function addUnicoreDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $productUri, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\UnicoreDataMovement $unicoreDataMovement);
-  /**
-   * 
-   * Update a selected UNICORE data movement details
-   *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
-   * 
-   * @param dataMovementInterfaceId
-   *   The identifier of the data movement Interface to be updated.
-   * 
-   * @param UnicoreDataMovement
-   *   The UnicoreDataMovement object to be updated.
-   * 
-   * @return status
-   *   Returns a success/failure of the update.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $dataMovementInterfaceId
-   * @param \Airavata\Model\Data\Movement\UnicoreDataMovement $unicoreDataMovement
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function updateUnicoreDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementInterfaceId, \Airavata\Model\Data\Movement\UnicoreDataMovement $unicoreDataMovement);
-  /**
-   * 
-   * This method returns UNICORE datamovement object
-   * 
-   * @param dataMovementId
-   *   The identifier of the datamovement Interface to be retrieved.
-   * 
-   * @return UnicoreDataMovement instance
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $dataMovementId
-   * @return \Airavata\Model\Data\Movement\UnicoreDataMovement Data Movement through UnicoreStorage
-   * 
-   * unicoreEndPointURL:
-   *  unicoreGateway End Point. The provider will query this service to fetch required service end points.
-   * 
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getUnicoreDataMovement(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementId);
-  /**
-   * 
-   * Add a GridFTP data movement details to a compute resource
-   *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
-   * 
-   * @param productUri
-   *   The identifier of the compute resource to which dataMovement protocol to be added
-   * 
-   * @param DMType
-   *    The DMType object to be added to the resource.
-   * 
-   * @param priorityOrder
-   *   Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
-   * 
-   * @param gridFTPDataMovement
-   *   The GridFTPDataMovement object to be added to the resource.
-   * 
-   * @return status
-   *   Returns the unique data movement id.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $productUri
-   * @param int $dataMoveType
-   * @param int $priorityOrder
-   * @param \Airavata\Model\Data\Movement\GridFTPDataMovement $gridFTPDataMovement
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function addGridFTPDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $productUri, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\GridFTPDataMovement $gridFTPDataMovement);
-  /**
-   * Update the given GridFTP data movement details to a compute resource
-   *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
-   * 
-   * @param dataMovementInterfaceId
-   *   The identifier of the data movement Interface to be updated.
-   * 
-   * @param gridFTPDataMovement
-   *   The GridFTPDataMovement object to be updated.
-   * 
-   * @return boolean
-   *   Returns a success/failure of the update.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $dataMovementInterfaceId
-   * @param \Airavata\Model\Data\Movement\GridFTPDataMovement $gridFTPDataMovement
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function updateGridFTPDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementInterfaceId, \Airavata\Model\Data\Movement\GridFTPDataMovement $gridFTPDataMovement);
-  /**
-   * This method returns GridFTP datamovement object
-   * 
-   * @param dataMovementId
-   *   The identifier of the datamovement Interface to be retrieved.
-   * 
-   *  @return GridFTPDataMovement instance
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $dataMovementId
-   * @return \Airavata\Model\Data\Movement\GridFTPDataMovement Data Movement through GridFTP
-   * 
-   * alternativeSCPHostName:
-   *  If the login to scp is different than the hostname itself, specify it here
-   * 
-   * sshPort:
-   *  If a non-default port needs to used, specify it.
-   * 
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getGridFTPDataMovement(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementId);
-  /**
-   * Change the priority of a given job submisison interface
-   * 
-   * @param jobSubmissionInterfaceId
-   *   The identifier of the JobSubmission Interface to be changed
-   * 
-   * @param priorityOrder
-   *   The new priority of the job manager interface.
-   * 
-   * @return status
-   *   Returns a success/failure of the change.
-   * 
-   * 
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $jobSubmissionInterfaceId
-   * @param int $newPriorityOrder
-   * @return bool
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function changeJobSubmissionPriority(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionInterfaceId, $newPriorityOrder);
-  /**
-   * Change the priority of a given data movement interface
-   * 
-   * @param dataMovementInterfaceId
-   *   The identifier of the DataMovement Interface to be changed
-   * 
-   * @param priorityOrder
-   *   The new priority of the data movement interface.
-   * 
-   * @return status
-   *   Returns a success/failure of the change.
-   * 
-   * 
-   * 
... 185427 lines suppressed ...