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' => '« Previous',
-
- 'next' => 'Next »',
-
-);
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 ...